+ trap keep_running ERR + set -e + cfy profiles use -u admin -t default_tenant -p EMD78qPs --rest-certificate /certs/cacert.pem --ssl dcae-cloudify-manager Initializing local profile ... Initialization completed successfully Attempting to connect to dcae-cloudify-manager through port 443, using https (SSL mode: True)... Initializing profile dcae-cloudify-manager... Initialization completed successfully Using manager dcae-cloudify-manager with port 443 + cfy status Retrieving manager services status... [ip=dcae-cloudify-manager] Services: +--------------------------------+--------+ | service | status | +--------------------------------+--------+ | Webserver | Active | | Cloudify Console | Active | | AMQP-Postgres | Active | | Management Worker | Active | | Manager Rest-Service | Active | | PostgreSQL | Active | | RabbitMQ | Active | +--------------------------------+--------+ + cfy secret create -s EMD78qPs cmpass Secret `cmpass` created + trap - ERR + set +e + deploy pgaas_initdb k8s-pgaas-initdb.yaml k8s-pgaas-initdb-inputs.yaml + set +e + cm_hasany 'blueprints?id=pgaas_initdb' ++ /bin/jq .metadata.pagination.total ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/blueprints?id=pgaas_initdb&_include=id' + COUNT=0 + (( 0 > 0 )) + return 1 + cfy blueprints upload -b pgaas_initdb /blueprints/k8s-pgaas-initdb.yaml Uploading blueprint /blueprints/k8s-pgaas-initdb.yaml... ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does + cm_hasany 'deployments?id=pgaas_initdb' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/deployments?id=pgaas_initdb&_include=id' ++ /bin/jq .metadata.pagination.total curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + INPUTS= + '[' -n k8s-pgaas-initdb-inputs.yaml ']' + INPUTS=-i/inputs/k8s-pgaas-initdb-inputs.yaml + cfy deployments create -b pgaas_initdb -i/inputs/k8s-pgaas-initdb-inputs.yaml pgaas_initdb Creating new deployment from blueprint pgaas_initdb... HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/deployments/pgaas_initdb (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does + cm_hasany 'node-instances?deployment_id=pgaas_initdb&state=uninitialized&state=deleted' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/node-instances?deployment_id=pgaas_initdb&state=uninitialized&state=deleted&_include=id' ++ /bin/jq .metadata.pagination.total curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + echo deployment pgaas_initdb appears to have had an install workflow executed already or is not ready for an install deployment pgaas_initdb appears to have had an install workflow executed already or is not ready for an install + deploy tcagen2 k8s-tcagen2.yaml k8s-tcagen2-inputs.yaml + set +e + cm_hasany 'blueprints?id=tcagen2' + deploy ves-tls k8s-ves.yaml k8s-ves-inputs-tls.yaml + set +e + cm_hasany 'blueprints?id=ves-tls' + deploy prh k8s-prh.yaml k8s-prh-inputs.yaml + set +e + cm_hasany 'blueprints?id=prh' + + deploy hv-ves k8s-hv-ves.yaml cfy k8s-hv_ves-inputs.yamldeployments list + set +e + ++ cm_hasany /bin/jq .metadata.pagination.total 'blueprints?id=hv-ves' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/blueprints?id=ves-tls&_include=id' ++ /bin/jq .metadata.pagination.total ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/blueprints?id=hv-ves&_include=id' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/blueprints?id=prh&_include=id' ++ /bin/jq .metadata.pagination.total ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/blueprints?id=tcagen2&_include=id' curl: (7) Failed to conne++ /bin/jq .metadata.pagination.total ct to dcae-cloudify-manager port 443: Connection refused curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + cfy blueprints upload -b prh /blueprints/k8s-prh.yaml + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + cfy blueprints upload -b ves-tls /blueprints/k8s-ves.yaml + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + cfy blueprints upload -b hv-ves /blueprints/k8s-hv-ves.yaml curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + cfy blueprints upload -b tcagen2 /blueprints/k8s-tcagen2.yaml Listing all deployments... HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/deployments?_all_tenants=False&_offset=0&_size=1000&_sort=created_at (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does Uploading blueprint /blueprints/k8s-tcagen2.yaml... Uploading blueprint /blueprints/k8s-ves.yaml... Uploading blueprint /blueprints/k8s-hv-ves.yaml... HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/config?scope=rest (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/config?scope=rest (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/config?scope=rest (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does Uploading blueprint /blueprints/k8s-prh.yaml... HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/config?scope=rest (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does + . /scripts/inventory.sh ++ INVENTORY=https://inventory:8080/dcae-service-types ++ OWNER=dcaeorch ++ COMPONENT=dcae ++ APPLICATION=DCAE + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-bbs-event-processor.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-bbs-event-processor.yaml + curl --cacert /certs/cacert.pem -X POST -H ++ 'Content-Type: application/json' -d date +%y%m%d%I%M @- https://inventory:8080/dcae-service-types ++ basename /blueprints/k8s-bbs-event-processor.yaml .yaml ++ flatten /blueprints/k8s-bbs-event-processor.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' + cm_hasany 'deployments?id=tcagen2' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/deployments?id=tcagen2&_include=id' ++ /bin/jq .metadata.pagination.total curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + INPUTS= + '[' -n k8s-tcagen2-inputs.yaml ']' + INPUTS=-i/inputs/k8s-tcagen2-inputs.yaml + cfy deployments create -b tcagen2 -i/inputs/k8s-tcagen2-inputs.yaml tcagen2 + cm_hasany 'deployments?id=ves-tls' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/deployments?id=ves-tls&_include=id' ++ /bin/jq .metadata.pagination.total + cm_hasany 'deployments?id=hv-ves' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/deployments?id=hv-ves&_include=id' ++ /bin/jq .metadata.pagination.total ++ FLAT='# ============LICENSE_START==================================================== \n# ============================================================================= \n# Copyright (c) 2019-2020 AT&T, NOKIA \n# ============================================================================= \n# Licensed under the Apache License, Version 2.0 (the \"License\"); \n# you may not use this file except in compliance with the License. \n# You may obtain a copy of the License at \n# \n# http://www.apache.org/licenses/LICENSE-2.0 \n# \n# Unless required by applicable law or agreed to in writing, software \n# distributed under the License is distributed on an \"AS IS\" BASIS, \n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n# See the License for the specific language governing permissions and \n# limitations under the License. \n# ============LICENSE_END====================================================== \n \ntosca_definitions_version: cloudify_dsl_1_3 \n \nimports: \n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml \n - plugin:k8splugin?version=>=3.4.3,<4.0.0 \n \ninputs: \n aai_enrichment_host: \n type: string \n default: \"aai.onap\" \n aai_enrichment_port: \n type: integer \n default: 8443 \n aai_enrichment_protocol: \n type: string \n default: \"https\" \n aai_secure_enable_cert: \n type: boolean \n description: enable certificates-based connection with AAI \n default: true \n tag_version: \n type: string \n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.0\" \n replicas: \n type: integer \n description: number of instances \n default: 1 \n pnf_reregistration_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\" \n cpe_authentication_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.CPE_AUTHENTICATION\" \n close_loop_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\" \n application_policy_version: \n description: Policy version value for building CL events \n type: string \n default: \"1.0.0.5\" \n application_cl_target_type: \n description: Close Loop target type value for building CL events \n type: string \n default: \"VM\" \n application_cl_event_status: \n description: Close Loop event status value for building CL events \n type: string \n default: \"ONSET\" \n application_cl_version: \n description: Close Loop version value for building CL events \n type: string \n default: \"1.0.2\" \n application_cl_target: \n description: Close Loop target value for building CL events \n type: string \n default: \"vserver.vserver-name\" \n application_cl_originator: \n description: Close Loop originator value for building CL events \n type: string \n default: \"DCAE-BBS-ep\" \n application_rereg_policy_scope: \n description: Policy Scope value for building PNF relocation CL event \n type: string \n default: \"policyScopeReReg\" \n application_rereg_cl_control_name: \n description: Close Loop control name value for building PNF relocation CL event \n type: string \n default: \"clControlNameReReg\" \n application_cpeAuth_policy_scope: \n description: Policy Scope value for building CPE Authentication CL event \n type: string \n default: \"policyScopeCpeAuth\" \n application_cpeAuth_cl_control_name: \n description: Close Loop control name value for building CPE Authentication CL event \n type: string \n default: \"clControlNameCpeAuth\" \n application_cbs_polling_interval_sec: \n type: integer \n default: 120 \n application_logging_level: \n type: string \n default: \"INFO\" \n dmaap_username: \n type: string \n default: \"admin\" \n dmaap_password: \n type: string \n default: \"admin\" \n dmaap_consumer_id: \n type: string \n default: \"c12\" \n dmaap_consumer_group: \n type: string \n default: \"OpenDcae-c12\" \n dmaap_secure_enable_cert: \n type: boolean \n description: enable certificates-based connection with DMaaP \n default: true \n internal_port: \n type: string \n description: Internal port on which BBS-ep is exposed \n default: \"8100\" \n external_port: \n type: string \n description: External port on which BBS-ep is exposed \n default: \"30413\" \nnode_templates: \n bbs-event-processor: \n type: dcae.nodes.ContainerizedServiceComponent \n properties: \n application_config: \n streams_subscribes: \n pnf_reregistration: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: pnf_reregistration_url } \n cpe_authentication: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: cpe_authentication_url } \n streams_publishes: \n close_loop: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: close_loop_url } \n dmaap.protocol: \"https\" \n dmaap.contentType: \"application/json\" \n dmaap.consumer.consumerId: { get_input: dmaap_consumer_id } \n dmaap.consumer.consumerGroup: { get_input: dmaap_consumer_group } \n dmaap.messageLimit: -1 \n dmaap.timeoutMs: -1 \n aai.host: { get_input: aai_enrichment_host } \n aai.port: { get_input: aai_enrichment_port } \n aai.protocol: { get_input: aai_enrichment_protocol } \n aai.username: \"AAI\" \n aai.password: \"AAI\" \n aai.aaiIgnoreSslCertificateErrors: true \n application.pipelinesPollingIntervalSec: 25 \n application.pipelinesTimeoutSec: 15 \n application.cbsPollingIntervalSec: { get_input: application_cbs_polling_interval_sec } \n application.policyVersion: { get_input: application_policy_version } \n application.clTargetType: { get_input: application_cl_target_type } \n application.clEventStatus: { get_input: application_cl_event_status } \n application.clVersion: { get_input: application_cl_version } \n application.clTarget: { get_input: application_cl_target } \n application.clOriginator: { get_input: application_cl_originator } \n application.reregistration.policyScope: { get_input: application_rereg_policy_scope } \n application.reregistration.clControlName: { get_input: application_rereg_cl_control_name } \n application.cpe.authentication.policyScope: { get_input: application_cpeAuth_policy_scope } \n application.cpe.authentication.clControlName: { get_input: application_cpeAuth_cl_control_name } \n application.reregistration.configKey: \"pnf_reregistration\" \n application.cpeAuth.configKey: \"cpe_authentication\" \n application.closeLoop.configKey: \"close_loop\" \n application.loggingLevel: { get_input: application_logging_level } \n application.ssl.keyStorePath: \"/opt/app/bbs-event-processor/etc/cert/cert.jks\" \n application.ssl.keyStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/jks.pass\" \n application.ssl.trustStorePath: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\" \n application.ssl.trustStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/trust.pass\" \n application.ssl.enableAaiCertAuth: { get_input: aai_secure_enable_cert } \n application.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert } \n docker_config: \n healthcheck: \n endpoint: /heartbeat \n interval: 180s \n timeout: 5s \n type: http \n image: \n { get_input: tag_version } \n replicas: {get_input: replicas} \n service_component_type: '\''bbs-event-processor'\'' \n log_info: \n log_directory: \"/opt/app/bbs-event-processor/logs\" \n tls_info: \n cert_directory: '\''/opt/app/bbs-event-processor/etc/cert'\'' \n use_tls: true \n interfaces: \n cloudify.interfaces.lifecycle: \n start: \n inputs: \n ports: \n - concat: [{get_input: internal_port},\":\",{get_input: external_port}] \n' ++ echo '# ============LICENSE_START==================================================== \n# ============================================================================= \n# Copyright (c) 2019-2020 AT&T, NOKIA \n# ============================================================================= \n# Licensed under the Apache License, Version 2.0 (the \"License\"); \n# you may not use this file except in compliance with the License. \n# You may obtain a copy of the License at \n# \n# http://www.apache.org/licenses/LICENSE-2.0 \n# \n# Unless required by applicable law or agreed to in writing, software \n# distributed under the License is distributed on an \"AS IS\" BASIS, \n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n# See the License for the specific language governing permissions and \n# limitations under the License. \n# ============LICENSE_END====================================================== \n \ntosca_definitions_version: cloudify_dsl_1_3 \n \nimports: \n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml \n - plugin:k8splugin?version=>=3.4.3,<4.0.0 \n \ninputs: \n aai_enrichment_host: \n type: string \n default: \"aai.onap\" \n aai_enrichment_port: \n type: integer \n default: 8443 \n aai_enrichment_protocol: \n type: string \n default: \"https\" \n aai_secure_enable_cert: \n type: boolean \n description: enable certificates-based connection with AAI \n default: true \n tag_version: \n type: string \n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.0\" \n replicas: \n type: integer \n description: number of instances \n default: 1 \n pnf_reregistration_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\" \n cpe_authentication_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.CPE_AUTHENTICATION\" \n close_loop_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\" \n application_policy_version: \n description: Policy version value for building CL events \n type: string \n default: \"1.0.0.5\" \n application_cl_target_type: \n description: Close Loop target type value for building CL events \n type: string \n default: \"VM\" \n application_cl_event_status: \n description: Close Loop event status value for building CL events \n type: string \n default: \"ONSET\" \n application_cl_version: \n description: Close Loop version value for building CL events \n type: string \n default: \"1.0.2\" \n application_cl_target: \n description: Close Loop target value for building CL events \n type: string \n default: \"vserver.vserver-name\" \n application_cl_originator: \n description: Close Loop originator value for building CL events \n type: string \n default: \"DCAE-BBS-ep\" \n application_rereg_policy_scope: \n description: Policy Scope value for building PNF relocation CL event \n type: string \n default: \"policyScopeReReg\" \n application_rereg_cl_control_name: \n description: Close Loop control name value for building PNF relocation CL event \n type: string \n default: \"clControlNameReReg\" \n application_cpeAuth_policy_scope: \n description: Policy Scope value for building CPE Authentication CL event \n type: string \n default: \"policyScopeCpeAuth\" \n application_cpeAuth_cl_control_name: \n description: Close Loop control name value for building CPE Authentication CL event \n type: string \n default: \"clControlNameCpeAuth\" \n application_cbs_polling_interval_sec: \n type: integer \n default: 120 \n application_logging_level: \n type: string \n default: \"INFO\" \n dmaap_username: \n type: string \n default: \"admin\" \n dmaap_password: \n type: string \n default: \"admin\" \n dmaap_consumer_id: \n type: string \n default: \"c12\" \n dmaap_consumer_group: \n type: string \n default: \"OpenDcae-c12\" \n dmaap_secure_enable_cert: \n type: boolean \n description: enable certificates-based connection with DMaaP \n default: true \n internal_port: \n type: string \n description: Internal port on which BBS-ep is exposed \n default: \"8100\" \n external_port: \n type: string \n description: External port on which BBS-ep is exposed \n default: \"30413\" \nnode_templates: \n bbs-event-processor: \n type: dcae.nodes.ContainerizedServiceComponent \n properties: \n application_config: \n streams_subscribes: \n pnf_reregistration: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: pnf_reregistration_url } \n cpe_authentication: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: cpe_authentication_url } \n streams_publishes: \n close_loop: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: close_loop_url } \n dmaap.protocol: \"https\" \n dmaap.contentType: \"application/json\" \n dmaap.consumer.consumerId: { get_input: dmaap_consumer_id } \n dmaap.consumer.consumerGroup: { get_input: dmaap_consumer_group } \n dmaap.messageLimit: -1 \n dmaap.timeoutMs: -1 \n aai.host: { get_input: aai_enrichment_host } \n aai.port: { get_input: aai_enrichment_port } \n aai.protocol: { get_input: aai_enrichment_protocol } \n aai.username: \"AAI\" \n aai.password: \"AAI\" \n aai.aaiIgnoreSslCertificateErrors: true \n application.pipelinesPollingIntervalSec: 25 \n application.pipelinesTimeoutSec: 15 \n application.cbsPollingIntervalSec: { get_input: application_cbs_polling_interval_sec } \n application.policyVersion: { get_input: application_policy_version } \n application.clTargetType: { get_input: application_cl_target_type } \n application.clEventStatus: { get_input: application_cl_event_status } \n application.clVersion: { get_input: application_cl_version } \n application.clTarget: { get_input: application_cl_target } \n application.clOriginator: { get_input: application_cl_originator } \n application.reregistration.policyScope: { get_input: application_rereg_policy_scope } \n application.reregistration.clControlName: { get_input: application_rereg_cl_control_name } \n application.cpe.authentication.policyScope: { get_input: application_cpeAuth_policy_scope } \n application.cpe.authentication.clControlName: { get_input: application_cpeAuth_cl_control_name } \n application.reregistration.configKey: \"pnf_reregistration\" \n application.cpeAuth.configKey: \"cpe_authentication\" \n application.closeLoop.configKey: \"close_loop\" \n application.loggingLevel: { get_input: application_logging_level } \n application.ssl.keyStorePath: \"/opt/app/bbs-event-processor/etc/cert/cert.jks\" \n application.ssl.keyStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/jks.pass\" \n application.ssl.trustStorePath: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\" \n application.ssl.trustStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/trust.pass\" \n application.ssl.enableAaiCertAuth: { get_input: aai_secure_enable_cert } \n application.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert } \n docker_config: \n healthcheck: \n endpoint: /heartbeat \n interval: 180s \n timeout: 5s \n type: http \n image: \n { get_input: tag_version } \n replicas: {get_input: replicas} \n service_component_type: '\''bbs-event-processor'\'' \n log_info: \n log_directory: \"/opt/app/bbs-event-processor/logs\" \n tls_info: \n cert_directory: '\''/opt/app/bbs-event-processor/etc/cert'\'' \n use_tls: true \n interfaces: \n cloudify.interfaces.lifecycle: \n start: \n inputs: \n ports: \n - concat: [{get_input: internal_port},\":\",{get_input: external_port}] \n' curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-bbs-event-processor", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START==================================================== \n# ============================================================================= \n# Copyright (c) 2019-2020 AT&T, NOKIA \n# ============================================================================= \n# Licensed under the Apache License, Version 2.0 (the \"License\"); \n# you may not use this file except in compliance with the License. \n# You may obtain a copy of the License at \n# \n# http://www.apache.org/licenses/LICENSE-2.0 \n# \n# Unless required by applicable law or agreed to in writing, software \n# distributed under the License is distributed on an \"AS IS\" BASIS, \n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. \n# See the License for the specific language governing permissions and \n# limitations under the License. \n# ============LICENSE_END====================================================== \n \ntosca_definitions_version: cloudify_dsl_1_3 \n \nimports: \n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml \n - plugin:k8splugin?version=>=3.4.3,<4.0.0 \n \ninputs: \n aai_enrichment_host: \n type: string \n default: \"aai.onap\" \n aai_enrichment_port: \n type: integer \n default: 8443 \n aai_enrichment_protocol: \n type: string \n default: \"https\" \n aai_secure_enable_cert: \n type: boolean \n description: enable certificates-based connection with AAI \n default: true \n tag_version: \n type: string \n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.0\" \n replicas: \n type: integer \n description: number of instances \n default: 1 \n pnf_reregistration_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\" \n cpe_authentication_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.CPE_AUTHENTICATION\" \n close_loop_url: \n type: string \n default: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\" \n application_policy_version: \n description: Policy version value for building CL events \n type: string \n default: \"1.0.0.5\" \n application_cl_target_type: \n description: Close Loop target type value for building CL events \n type: string \n default: \"VM\" \n application_cl_event_status: \n description: Close Loop event status value for building CL events \n type: string \n default: \"ONSET\" \n application_cl_version: \n description: Close Loop version value for building CL events \n type: string \n default: \"1.0.2\" \n application_cl_target: \n description: Close Loop target value for building CL events \n type: string \n default: \"vserver.vserver-name\" \n application_cl_originator: \n description: Close Loop originator value for building CL events \n type: string \n default: \"DCAE-BBS-ep\" \n application_rereg_policy_scope: \n description: Policy Scope value for building PNF relocation CL event \n type: string \n default: \"policyScopeReReg\" \n application_rereg_cl_control_name: \n description: Close Loop control name value for building PNF relocation CL event \n type: string \n default: \"clControlNameReReg\" \n application_cpeAuth_policy_scope: \n description: Policy Scope value for building CPE Authentication CL event \n type: string \n default: \"policyScopeCpeAuth\" \n application_cpeAuth_cl_control_name: \n description: Close Loop control name value for building CPE Authentication CL event \n type: string \n default: \"clControlNameCpeAuth\" \n application_cbs_polling_interval_sec: \n type: integer \n default: 120 \n application_logging_level: \n type: string \n default: \"INFO\" \n dmaap_username: \n type: string \n default: \"admin\" \n dmaap_password: \n type: string \n default: \"admin\" \n dmaap_consumer_id: \n type: string \n default: \"c12\" \n dmaap_consumer_group: \n type: string \n default: \"OpenDcae-c12\" \n dmaap_secure_enable_cert: \n type: boolean \n description: enable certificates-based connection with DMaaP \n default: true \n internal_port: \n type: string \n description: Internal port on which BBS-ep is exposed \n default: \"8100\" \n external_port: \n type: string \n description: External port on which BBS-ep is exposed \n default: \"30413\" \nnode_templates: \n bbs-event-processor: \n type: dcae.nodes.ContainerizedServiceComponent \n properties: \n application_config: \n streams_subscribes: \n pnf_reregistration: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: pnf_reregistration_url } \n cpe_authentication: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: cpe_authentication_url } \n streams_publishes: \n close_loop: \n type: message_router \n aaf_username: { get_input: dmaap_username } \n aaf_password: { get_input: dmaap_password } \n dmaap_info: \n topic_url: { get_input: close_loop_url } \n dmaap.protocol: \"https\" \n dmaap.contentType: \"application/json\" \n dmaap.consumer.consumerId: { get_input: dmaap_consumer_id } \n dmaap.consumer.consumerGroup: { get_input: dmaap_consumer_group } \n dmaap.messageLimit: -1 \n dmaap.timeoutMs: -1 \n aai.host: { get_input: aai_enrichment_host } \n aai.port: { get_input: aai_enrichment_port } \n aai.protocol: { get_input: aai_enrichment_protocol } \n aai.username: \"AAI\" \n aai.password: \"AAI\" \n aai.aaiIgnoreSslCertificateErrors: true \n application.pipelinesPollingIntervalSec: 25 \n application.pipelinesTimeoutSec: 15 \n application.cbsPollingIntervalSec: { get_input: application_cbs_polling_interval_sec } \n application.policyVersion: { get_input: application_policy_version } \n application.clTargetType: { get_input: application_cl_target_type } \n application.clEventStatus: { get_input: application_cl_event_status } \n application.clVersion: { get_input: application_cl_version } \n application.clTarget: { get_input: application_cl_target } \n application.clOriginator: { get_input: application_cl_originator } \n application.reregistration.policyScope: { get_input: application_rereg_policy_scope } \n application.reregistration.clControlName: { get_input: application_rereg_cl_control_name } \n application.cpe.authentication.policyScope: { get_input: application_cpeAuth_policy_scope } \n application.cpe.authentication.clControlName: { get_input: application_cpeAuth_cl_control_name } \n application.reregistration.configKey: \"pnf_reregistration\" \n application.cpeAuth.configKey: \"cpe_authentication\" \n application.closeLoop.configKey: \"close_loop\" \n application.loggingLevel: { get_input: application_logging_level } \n application.ssl.keyStorePath: \"/opt/app/bbs-event-processor/etc/cert/cert.jks\" \n application.ssl.keyStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/jks.pass\" \n application.ssl.trustStorePath: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\" \n application.ssl.trustStorePasswordPath: \"/opt/app/bbs-event-processor/etc/cert/trust.pass\" \n application.ssl.enableAaiCertAuth: { get_input: aai_secure_enable_cert } \n application.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert } \n docker_config: \n healthcheck: \n endpoint: /heartbeat \n interval: 180s \n timeout: 5s \n type: http \n image: \n { get_input: tag_version } \n replicas: {get_input: replicas} \n service_component_type: '\''bbs-event-processor'\'' \n log_info: \n log_directory: \"/opt/app/bbs-event-processor/logs\" \n tls_info: \n cert_directory: '\''/opt/app/bbs-event-processor/etc/cert'\'' \n use_tls: true \n interfaces: \n cloudify.interfaces.lifecycle: \n start: \n inputs: \n ports: \n - concat: [{get_input: internal_port},\":\",{get_input: external_port}] \n" }' % Total % Received % Xferd Average Speed Time Tim+ e COUNT= Time Current + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + Dload Upload return 1 + INPUTS= + '[' -n k8s-ves-inputs-tls.yaml ']' Tota+ lINPUTS=-i/inputs/k8s-ves-inputs-tls.yaml Spent Left Speed 0 0 0 0 0 0 0 0+ --:cfy --deployments :-- --:--:-- --:--:create -b ves-tls --i/inputs/k8s-ves-inputs-tls.yaml -ves-tls 0curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + INPUTS= + '[' -n k8s-hv_ves-inputs.yaml ']' + INPUTS=-i/inputs/k8s-hv_ves-inputs.yaml + cfy deployments create -b hv-ves -i/inputs/k8s-hv_ves-inputs.yaml hv-ves + cm_hasany 'deployments?id=prh' ++ /bin/jq .metadata.pagination.total ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/deployments?id=prh&_include=id' curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + INPUTS= + '[' -n k8s-prh-inputs.yaml ']' + INPUTS=-i/inputs/k8s-prh-inputs.yaml + cfy deployments create -b prh -i/inputs/k8s-prh-inputs.yaml prh 100 1639 100 124 100 1515 843 10306 --:--:-- --:--:-- --:--:-- 11149 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-datafile.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-datafile.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-datafile.yaml .yaml ++ flatten /blueprints/k8s-datafile.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='\n#description: Docker application to collect log file from PNF\n#blueprint_version: 1.0.0\n---\ntosca_definitions_version: cloudify_dsl_1_3\ndescription: Docker application to collect log file from PNF\nimports:\n- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dmaap?version=1.5.0\ninputs:\n PM_MEAS_FILES_feed0_location:\n type: string\n default: \"loc00\"\n cert_directory:\n type: string\n default: \"/opt/app/datafile/etc/cert/\"\n datafile-collector_cpu_limit:\n type: string\n default: \"500m\"\n datafile-collector_cpu_request:\n type: string\n default: \"500m\"\n datafile-collector_memory_limit:\n type: string\n default: \"768Mi\"\n datafile-collector_memory_request:\n type: string\n default: \"768Mi\"\n envs:\n default: {}\n external_port:\n type: string\n default: \":0\"\n feed0_name:\n type: string\n default: \"bulk_pm_feed\"\n topic_name:\n type: string\n default: \"unauthenticated.VES_NOTIFICATION_OUTPUT\"\n consumer_group:\n type: string\n default: \"OpenDcae-c12\"\n consumer_id:\n type: string\n default: \"C12\"\n log_directory:\n type: string\n default: \"/var/log/ONAP\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.5.5\"\n use_tls:\n type: boolean\n default: true\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_cert_type:\n type: string\n description: Format of provided certificates\n default: \"P12\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-datafile-collector\"\n external_cert_sans:\n type: string\n description: '\''\"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"'\''\n default: \"dcae-datafile-collector,datafile-collector,datafile\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\nnode_templates:\n datafile-collector:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n get_input: envs\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n PM_MEAS_FILES:\n dmaap_info: <>\n type: data_router\n dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12\n dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass\n dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks\n dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass\n dmaap.security.enableDmaapCertAuth: true\n dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass\n dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks\n dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass\n dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks\n dmaap.dmaapConsumerConfiguration.consumerGroup:\n get_input: consumer_group\n dmaap.dmaapConsumerConfiguration.consumerId:\n get_input: consumer_id\n dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n sftp.security.strictHostKeyChecking: true\n streams_subscribes:\n dmaap_subscriber:\n type: message_router\n dmaap_info:\n topic_url: { concat: ['\''https://message-router:3905/events/'\'',{ get_input: topic_name }] }\n docker_config:\n healthcheck:\n interval: 15s\n timeout: 1s\n type: http\n endpoint: /heartbeat\n ports:\n - concat: [\"8100\", {get_input: external_port}]\n - concat: [\"8433\", {get_input: external_port}]\n image:\n get_input: tag_version\n service_component_type: datafile-collector\n log_info:\n log_directory:\n get_input: log_directory\n replicas:\n get_input: replicas\n streams_publishes:\n - name: feed0\n location:\n get_input: PM_MEAS_FILES_feed0_location\n type: data_router\n tls_info:\n cert_directory:\n get_input: cert_directory\n use_tls:\n get_input: use_tls\n external_cert:\n external_cert_directory:\n get_input: cert_directory\n use_external_tls:\n get_input: external_cert_use_external_tls\n ca_name:\n get_input: external_cert_ca_name\n cert_type:\n get_input: external_cert_cert_type\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n resource_config:\n limits:\n cpu:\n get_input: datafile-collector_cpu_limit\n memory:\n get_input: datafile-collector_memory_limit\n requests:\n cpu:\n get_input: datafile-collector_cpu_request\n memory:\n get_input: datafile-collector_memory_request\n relationships:\n - type: dcaegen2.relationships.publish_files\n target: feed0\n feed0:\n type: dcaegen2.nodes.Feed\n properties:\n feed_name:\n get_input: feed0_name\n useExisting: true\n' ++ echo '\n#description: Docker application to collect log file from PNF\n#blueprint_version: 1.0.0\n---\ntosca_definitions_version: cloudify_dsl_1_3\ndescription: Docker application to collect log file from PNF\nimports:\n- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dmaap?version=1.5.0\ninputs:\n PM_MEAS_FILES_feed0_location:\n type: string\n default: \"loc00\"\n cert_directory:\n type: string\n default: \"/opt/app/datafile/etc/cert/\"\n datafile-collector_cpu_limit:\n type: string\n default: \"500m\"\n datafile-collector_cpu_request:\n type: string\n default: \"500m\"\n datafile-collector_memory_limit:\n type: string\n default: \"768Mi\"\n datafile-collector_memory_request:\n type: string\n default: \"768Mi\"\n envs:\n default: {}\n external_port:\n type: string\n default: \":0\"\n feed0_name:\n type: string\n default: \"bulk_pm_feed\"\n topic_name:\n type: string\n default: \"unauthenticated.VES_NOTIFICATION_OUTPUT\"\n consumer_group:\n type: string\n default: \"OpenDcae-c12\"\n consumer_id:\n type: string\n default: \"C12\"\n log_directory:\n type: string\n default: \"/var/log/ONAP\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.5.5\"\n use_tls:\n type: boolean\n default: true\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_cert_type:\n type: string\n description: Format of provided certificates\n default: \"P12\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-datafile-collector\"\n external_cert_sans:\n type: string\n description: '\''\"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"'\''\n default: \"dcae-datafile-collector,datafile-collector,datafile\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\nnode_templates:\n datafile-collector:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n get_input: envs\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n PM_MEAS_FILES:\n dmaap_info: <>\n type: data_router\n dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12\n dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass\n dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks\n dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass\n dmaap.security.enableDmaapCertAuth: true\n dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass\n dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks\n dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass\n dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks\n dmaap.dmaapConsumerConfiguration.consumerGroup:\n get_input: consumer_group\n dmaap.dmaapConsumerConfiguration.consumerId:\n get_input: consumer_id\n dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n sftp.security.strictHostKeyChecking: true\n streams_subscribes:\n dmaap_subscriber:\n type: message_router\n dmaap_info:\n topic_url: { concat: ['\''https://message-router:3905/events/'\'',{ get_input: topic_name }] }\n docker_config:\n healthcheck:\n interval: 15s\n timeout: 1s\n type: http\n endpoint: /heartbeat\n ports:\n - concat: [\"8100\", {get_input: external_port}]\n - concat: [\"8433\", {get_input: external_port}]\n image:\n get_input: tag_version\n service_component_type: datafile-collector\n log_info:\n log_directory:\n get_input: log_directory\n replicas:\n get_input: replicas\n streams_publishes:\n - name: feed0\n location:\n get_input: PM_MEAS_FILES_feed0_location\n type: data_router\n tls_info:\n cert_directory:\n get_input: cert_directory\n use_tls:\n get_input: use_tls\n external_cert:\n external_cert_directory:\n get_input: cert_directory\n use_external_tls:\n get_input: external_cert_use_external_tls\n ca_name:\n get_input: external_cert_ca_name\n cert_type:\n get_input: external_cert_cert_type\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n resource_config:\n limits:\n cpu:\n get_input: datafile-collector_cpu_limit\n memory:\n get_input: datafile-collector_memory_limit\n requests:\n cpu:\n get_input: datafile-collector_cpu_request\n memory:\n get_input: datafile-collector_memory_request\n relationships:\n - type: dcaegen2.relationships.publish_files\n target: feed0\n feed0:\n type: dcaegen2.nodes.Feed\n properties:\n feed_name:\n get_input: feed0_name\n useExisting: true\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-datafile", "component": "dcae", "application": "DCAE", "blueprintTemplate": "\n#description: Docker application to collect log file from PNF\n#blueprint_version: 1.0.0\n---\ntosca_definitions_version: cloudify_dsl_1_3\ndescription: Docker application to collect log file from PNF\nimports:\n- http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dmaap?version=1.5.0\ninputs:\n PM_MEAS_FILES_feed0_location:\n type: string\n default: \"loc00\"\n cert_directory:\n type: string\n default: \"/opt/app/datafile/etc/cert/\"\n datafile-collector_cpu_limit:\n type: string\n default: \"500m\"\n datafile-collector_cpu_request:\n type: string\n default: \"500m\"\n datafile-collector_memory_limit:\n type: string\n default: \"768Mi\"\n datafile-collector_memory_request:\n type: string\n default: \"768Mi\"\n envs:\n default: {}\n external_port:\n type: string\n default: \":0\"\n feed0_name:\n type: string\n default: \"bulk_pm_feed\"\n topic_name:\n type: string\n default: \"unauthenticated.VES_NOTIFICATION_OUTPUT\"\n consumer_group:\n type: string\n default: \"OpenDcae-c12\"\n consumer_id:\n type: string\n default: \"C12\"\n log_directory:\n type: string\n default: \"/var/log/ONAP\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.5.5\"\n use_tls:\n type: boolean\n default: true\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_cert_type:\n type: string\n description: Format of provided certificates\n default: \"P12\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-datafile-collector\"\n external_cert_sans:\n type: string\n description: '\''\"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"'\''\n default: \"dcae-datafile-collector,datafile-collector,datafile\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\nnode_templates:\n datafile-collector:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n get_input: envs\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n PM_MEAS_FILES:\n dmaap_info: <>\n type: data_router\n dmaap.certificateConfig.keyCert: /opt/app/datafile/etc/cert/cert.p12\n dmaap.certificateConfig.keyPasswordPath: /opt/app/datafile/etc/cert/p12.pass\n dmaap.certificateConfig.trustedCa: /opt/app/datafile/etc/cert/trust.jks\n dmaap.certificateConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass\n dmaap.security.enableDmaapCertAuth: true\n dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/jks.pass\n dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.jks\n dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass\n dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks\n dmaap.dmaapConsumerConfiguration.consumerGroup:\n get_input: consumer_group\n dmaap.dmaapConsumerConfiguration.consumerId:\n get_input: consumer_id\n dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n sftp.security.strictHostKeyChecking: true\n streams_subscribes:\n dmaap_subscriber:\n type: message_router\n dmaap_info:\n topic_url: { concat: ['\''https://message-router:3905/events/'\'',{ get_input: topic_name }] }\n docker_config:\n healthcheck:\n interval: 15s\n timeout: 1s\n type: http\n endpoint: /heartbeat\n ports:\n - concat: [\"8100\", {get_input: external_port}]\n - concat: [\"8433\", {get_input: external_port}]\n image:\n get_input: tag_version\n service_component_type: datafile-collector\n log_info:\n log_directory:\n get_input: log_directory\n replicas:\n get_input: replicas\n streams_publishes:\n - name: feed0\n location:\n get_input: PM_MEAS_FILES_feed0_location\n type: data_router\n tls_info:\n cert_directory:\n get_input: cert_directory\n use_tls:\n get_input: use_tls\n external_cert:\n external_cert_directory:\n get_input: cert_directory\n use_external_tls:\n get_input: external_cert_use_external_tls\n ca_name:\n get_input: external_cert_ca_name\n cert_type:\n get_input: external_cert_cert_type\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n resource_config:\n limits:\n cpu:\n get_input: datafile-collector_cpu_limit\n memory:\n get_input: datafile-collector_memory_limit\n requests:\n cpu:\n get_input: datafile-collector_cpu_request\n memory:\n get_input: datafile-collector_memory_request\n relationships:\n - type: dcaegen2.relationships.publish_files\n target: feed0\n feed0:\n type: dcaegen2.nodes.Feed\n properties:\n feed_name:\n get_input: feed0_name\n useExisting: true\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 6213 100 124 100 6089 3444 165k --:--:-- --:--:-- --:--:-- 168k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-datalake-admin-ui.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-datalake-admin-ui.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-datalake-admin-ui.yaml .yaml ++ flatten /blueprints/k8s-datalake-admin-ui.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n image_name:\n description: datalake feeder image URL.\n type: string\n default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.1.0\n container_port:\n type: string\n description: exposed container port\n default: \"8088\"\n host_port:\n type: string\n description: external port\n default: \"30479\"\n service_component_type:\n type: string\n default: \"dcae-dl-admin\"\n service_id:\n type: string\n default: \"dcae-dl-admin\"\n service_component_name_override:\n type: string\n default: \"dcae-dl-admin\"\n\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''8088:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n properties:\n application_config:\n FEEDER_ADDR: dl-feeder\n docker_config:\n healthcheck:\n interval: 30s\n timeout: 10s\n type: http\n endpoint: /\n image:\n get_input: image_name\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n image_name:\n description: datalake feeder image URL.\n type: string\n default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.1.0\n container_port:\n type: string\n description: exposed container port\n default: \"8088\"\n host_port:\n type: string\n description: external port\n default: \"30479\"\n service_component_type:\n type: string\n default: \"dcae-dl-admin\"\n service_id:\n type: string\n default: \"dcae-dl-admin\"\n service_component_name_override:\n type: string\n default: \"dcae-dl-admin\"\n\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''8088:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n properties:\n application_config:\n FEEDER_ADDR: dl-feeder\n docker_config:\n healthcheck:\n interval: 30s\n timeout: 10s\n type: http\n endpoint: /\n image:\n get_input: image_name\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-datalake-admin-ui", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n image_name:\n description: datalake feeder image URL.\n type: string\n default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.1.0\n container_port:\n type: string\n description: exposed container port\n default: \"8088\"\n host_port:\n type: string\n description: external port\n default: \"30479\"\n service_component_type:\n type: string\n default: \"dcae-dl-admin\"\n service_id:\n type: string\n default: \"dcae-dl-admin\"\n service_component_name_override:\n type: string\n default: \"dcae-dl-admin\"\n\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''8088:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n properties:\n application_config:\n FEEDER_ADDR: dl-feeder\n docker_config:\n healthcheck:\n interval: 30s\n timeout: 10s\n type: http\n endpoint: /\n image:\n get_input: image_name\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 2896 100 124 100 2772 3444 77000 --:--:-- --:--:-- --:--:-- 80444 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-datalake-des.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types + create_service_type /blueprints/k8s-datalake-des.yaml ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-datalake-des.yaml .yaml ++ flatten /blueprints/k8s-datalake-des.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#author: Kai Lu (lukai@chinamobile.com)\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-des'\''\n mariadb_address:\n type: string\n description: MariaDB URL\n default: \"mariadb-galera\"\n mariadb_port:\n type: string\n description: MariaDB port\n default: \"3306\"\n db_username:\n type: string\n description: MariaDB Username\n default: \"root\"\n db_password:\n description: MariaDB password\n type: string\n default: \"secretpassword\"\n presto_address:\n type: string\n description: Presto URL\n default: \"dl-presto\"\n presto_port:\n type: string\n description: Presto port\n default: \"9000\"\n presto_username:\n type: string\n description: Presto Username\n default: \"user\"\n presto_password:\n description: Presto password\n type: string\n default: \"test\"\n image_name:\n description: des image URL.\n type: string\n default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.0\n dl_hostname:\n type: string\n description: dl default des_hostname\n default: k8s-des\n container_port:\n type: string\n description: exposed container port\n default: \"1681\"\n host_port:\n type: string\n description: external port\n default: \"30409\"\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''1681:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n envs:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n PRESTO_HOST:\n get_input: presto_address\n PRESTO_PORT:\n get_input: presto_port\n PRESTO_USER:\n get_input: presto_username\n PRESTO_PASSWORD:\n get_input: presto_password\n properties:\n application_config:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n PRESTO_HOST:\n get_input: presto_address\n PRESTO_PORT:\n get_input: presto_port\n PRESTO_USER:\n get_input: presto_username\n PRESTO_PASSWORD:\n get_input: presto_password\n HOSTNAME:\n get_input: dl_hostname\n image:\n get_input: image_name\n docker_config:\n healthcheck:\n interval: 90s\n timeout: 10s\n type: http\n endpoint: /datalake/v1/exposure\n service_component_type: '\''dcae-des'\''\n service_id: '\''dcae-des'\''\n service_component_name_override: '\''dcae-des'\''\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#author: Kai Lu (lukai@chinamobile.com)\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-des'\''\n mariadb_address:\n type: string\n description: MariaDB URL\n default: \"mariadb-galera\"\n mariadb_port:\n type: string\n description: MariaDB port\n default: \"3306\"\n db_username:\n type: string\n description: MariaDB Username\n default: \"root\"\n db_password:\n description: MariaDB password\n type: string\n default: \"secretpassword\"\n presto_address:\n type: string\n description: Presto URL\n default: \"dl-presto\"\n presto_port:\n type: string\n description: Presto port\n default: \"9000\"\n presto_username:\n type: string\n description: Presto Username\n default: \"user\"\n presto_password:\n description: Presto password\n type: string\n default: \"test\"\n image_name:\n description: des image URL.\n type: string\n default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.0\n dl_hostname:\n type: string\n description: dl default des_hostname\n default: k8s-des\n container_port:\n type: string\n description: exposed container port\n default: \"1681\"\n host_port:\n type: string\n description: external port\n default: \"30409\"\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''1681:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n envs:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n PRESTO_HOST:\n get_input: presto_address\n PRESTO_PORT:\n get_input: presto_port\n PRESTO_USER:\n get_input: presto_username\n PRESTO_PASSWORD:\n get_input: presto_password\n properties:\n application_config:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n PRESTO_HOST:\n get_input: presto_address\n PRESTO_PORT:\n get_input: presto_port\n PRESTO_USER:\n get_input: presto_username\n PRESTO_PASSWORD:\n get_input: presto_password\n HOSTNAME:\n get_input: dl_hostname\n image:\n get_input: image_name\n docker_config:\n healthcheck:\n interval: 90s\n timeout: 10s\n type: http\n endpoint: /datalake/v1/exposure\n service_component_type: '\''dcae-des'\''\n service_id: '\''dcae-des'\''\n service_component_name_override: '\''dcae-des'\''\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-datalake-des", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#author: Kai Lu (lukai@chinamobile.com)\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-des'\''\n mariadb_address:\n type: string\n description: MariaDB URL\n default: \"mariadb-galera\"\n mariadb_port:\n type: string\n description: MariaDB port\n default: \"3306\"\n db_username:\n type: string\n description: MariaDB Username\n default: \"root\"\n db_password:\n description: MariaDB password\n type: string\n default: \"secretpassword\"\n presto_address:\n type: string\n description: Presto URL\n default: \"dl-presto\"\n presto_port:\n type: string\n description: Presto port\n default: \"9000\"\n presto_username:\n type: string\n description: Presto Username\n default: \"user\"\n presto_password:\n description: Presto password\n type: string\n default: \"test\"\n image_name:\n description: des image URL.\n type: string\n default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.0\n dl_hostname:\n type: string\n description: dl default des_hostname\n default: k8s-des\n container_port:\n type: string\n description: exposed container port\n default: \"1681\"\n host_port:\n type: string\n description: external port\n default: \"30409\"\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''1681:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n envs:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n PRESTO_HOST:\n get_input: presto_address\n PRESTO_PORT:\n get_input: presto_port\n PRESTO_USER:\n get_input: presto_username\n PRESTO_PASSWORD:\n get_input: presto_password\n properties:\n application_config:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n PRESTO_HOST:\n get_input: presto_address\n PRESTO_PORT:\n get_input: presto_port\n PRESTO_USER:\n get_input: presto_username\n PRESTO_PASSWORD:\n get_input: presto_password\n HOSTNAME:\n get_input: dl_hostname\n image:\n get_input: image_name\n docker_config:\n healthcheck:\n interval: 90s\n timeout: 10s\n type: http\n endpoint: /datalake/v1/exposure\n service_component_type: '\''dcae-des'\''\n service_id: '\''dcae-des'\''\n service_component_name_override: '\''dcae-des'\''\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 4388 100 124 100 4264 2296 78962 --:--:-- --:--:-- --:--:-- 81259 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-datalake-feeder.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-datalake-feeder.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-datalake-feeder.yaml .yaml ++ flatten /blueprints/k8s-datalake-feeder.yaml +++ tr -d '\n' +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n mariadb_address:\n type: string\n description: MariaDB URL\n default: \"mariadb-galera\"\n mariadb_port:\n type: string\n description: MariaDB port\n default: \"3306\"\n db_username:\n type: string\n description: MariaDB Username\n default: \"root\"\n db_password:\n description: MariaDB password\n type: string\n default: \"vlz8CJL1\"\n image_name:\n description: datalake feeder image URL.\n type: string\n default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.0\n dl_hostname:\n type: string\n description: dl default dl_hostname\n default: k8s-datalake\n consul_host:\n type: string\n description: consul address\n default: consul\n cbs_address:\n type: string\n description: CBS address\n default: config-binding-service\n container_port:\n type: string\n description: exposed container port\n default: \"1680\"\n host_port:\n type: string\n description: external port\n default: \"30408\"\n service_component_type:\n type: string\n default: \"dcae-dl-feeder\"\n service_id:\n type: string\n default: \"dcae-dl-feeder\"\n service_component_name_override:\n type: string\n default: \"dcae-dl-feeder\"\n\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''1680:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n envs:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n properties:\n application_config:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n HOSTNAME:\n get_input: dl_hostname\n CONSUL_HOST:\n get_input: consul_host\n CONFIG_BINDING_SERVICE:\n get_input: cbs_address\n image:\n get_input: image_name\n docker_config:\n healthcheck:\n interval: 90s\n timeout: 10s\n type: http\n endpoint: /datalake/v1/topics\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n mariadb_address:\n type: string\n description: MariaDB URL\n default: \"mariadb-galera\"\n mariadb_port:\n type: string\n description: MariaDB port\n default: \"3306\"\n db_username:\n type: string\n description: MariaDB Username\n default: \"root\"\n db_password:\n description: MariaDB password\n type: string\n default: \"vlz8CJL1\"\n image_name:\n description: datalake feeder image URL.\n type: string\n default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.0\n dl_hostname:\n type: string\n description: dl default dl_hostname\n default: k8s-datalake\n consul_host:\n type: string\n description: consul address\n default: consul\n cbs_address:\n type: string\n description: CBS address\n default: config-binding-service\n container_port:\n type: string\n description: exposed container port\n default: \"1680\"\n host_port:\n type: string\n description: external port\n default: \"30408\"\n service_component_type:\n type: string\n default: \"dcae-dl-feeder\"\n service_id:\n type: string\n default: \"dcae-dl-feeder\"\n service_component_name_override:\n type: string\n default: \"dcae-dl-feeder\"\n\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''1680:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n envs:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n properties:\n application_config:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n HOSTNAME:\n get_input: dl_hostname\n CONSUL_HOST:\n get_input: consul_host\n CONFIG_BINDING_SERVICE:\n get_input: cbs_address\n image:\n get_input: image_name\n docker_config:\n healthcheck:\n interval: 90s\n timeout: 10s\n type: http\n endpoint: /datalake/v1/topics\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-datalake-feeder", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\n#author: Kate Hsuan (kate.hsuan@qct.io)\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n mariadb_address:\n type: string\n description: MariaDB URL\n default: \"mariadb-galera\"\n mariadb_port:\n type: string\n description: MariaDB port\n default: \"3306\"\n db_username:\n type: string\n description: MariaDB Username\n default: \"root\"\n db_password:\n description: MariaDB password\n type: string\n default: \"vlz8CJL1\"\n image_name:\n description: datalake feeder image URL.\n type: string\n default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.0\n dl_hostname:\n type: string\n description: dl default dl_hostname\n default: k8s-datalake\n consul_host:\n type: string\n description: consul address\n default: consul\n cbs_address:\n type: string\n description: CBS address\n default: config-binding-service\n container_port:\n type: string\n description: exposed container port\n default: \"1680\"\n host_port:\n type: string\n description: external port\n default: \"30408\"\n service_component_type:\n type: string\n default: \"dcae-dl-feeder\"\n service_id:\n type: string\n default: \"dcae-dl-feeder\"\n service_component_name_override:\n type: string\n default: \"dcae-dl-feeder\"\n\nnode_templates:\n datalake:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - '\''1680:0'\''\n - concat: [{get_input: container_port},\":\",{get_input: host_port}]\n envs:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n properties:\n application_config:\n MYSQL_HOST:\n get_input: mariadb_address\n MYSQL_PORT:\n get_input: mariadb_port\n MYSQL_ROOT_PASSWORD:\n get_input: db_password\n HOSTNAME:\n get_input: dl_hostname\n CONSUL_HOST:\n get_input: consul_host\n CONFIG_BINDING_SERVICE:\n get_input: cbs_address\n image:\n get_input: image_name\n docker_config:\n healthcheck:\n interval: 90s\n timeout: 10s\n type: http\n endpoint: /datalake/v1/topics\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 4142 100 124 100 4018 3263 103k --:--:-- --:--:-- --:--:-- 103k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-heartbeat.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-heartbeat.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-heartbeat.yaml .yaml ++ flatten /blueprints/k8s-heartbeat.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T\n# Copyright (C) 2020 Wipro Limited\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\n\n\ninputs:\n tag_version:\n type: string\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.1.1'\''\n heartbeat_name:\n type: string\n default: '\''dcae-heartbeat-service'\''\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n type: integer\n description: Network port that the platform service is expecting to expose on the host\n default: 30223\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 10002\n consul_host:\n type: string\n description: Consul endpoint address\n default: '\''consul-server.onap'\''\n consul_port:\n type: integer\n description: Consul endpoint port\n default: 8500\n CBS_polling_allowed:\n type: string\n default: '\''True'\''\n CBS_polling_interval:\n type: string\n default: '\''300'\''\n consumerID:\n type: string\n default: '\''1'\''\n groupID:\n type: string\n default: '\''hbgrpID'\''\n namespace:\n type: string\n default: '\''onap'\''\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n pg_dbName:\n type: string\n default: '\''heartbeat'\''\n ves_heartbeat_publish_url:\n type: string\n default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT'\''\n dcae_CL_publish_url:\n type: string\n default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT'\''\nnode_templates:\n hbpgaas:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: pg_dbName}\n use_existing: false\n\n heartbeat:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n CBS_polling_allowed:\n get_input: CBS_polling_allowed\n CBS_polling_interval: \"300\"\n consumerID: \"1\"\n groupID:\n get_input: groupID\n pg_ipAddress:\n { get_attribute: [ hbpgaas, admin, host ] }\n pg_passwd:\n { get_attribute: [ hbpgaas, admin, password ] }\n pg_portNum:\n { get_attribute: [ hbpgaas, admin, port ] }\n pg_userName:\n { get_attribute: [ hbpgaas, admin, user ] }\n pg_dbName:\n get_input: pg_dbName\n ports:\n - \"10002:0\"\n\n properties:\n application_config:\n CBS_polling_allowed:\n get_input: CBS_polling_allowed\n CBS_polling_interval:\n get_input: CBS_polling_interval\n consumerID:\n get_input: consumerID\n groupID:\n get_input: groupID\n pg_ipAddress:\n { get_attribute: [ hbpgaas, admin, host ] }\n pg_passwd:\n { get_attribute: [ hbpgaas, admin, password ] }\n pg_portNum:\n { get_attribute: [ hbpgaas, admin, port ] }\n pg_userName:\n { get_attribute: [ hbpgaas, admin, user ] }\n pg_dbName:\n get_input: pg_dbName\n heartbeat_config: '\''{\"vnfs\": [{\"eventName\": \"Heartbeat_vDNS\",\"heartbeatcountmissed\": 3,\"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\", \"policyVersion\": \"1.0.0.5\", \"policyName\":\"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\", \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_vFW\",\"heartbeatcountmissed\": 3, \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\", \"target_type\":\"VNF\", \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_xx\",\"heartbeatcountmissed\": 3, \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\", \"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",\"target\": \"genVnfName\",\"version\": \"1.0\"}]}'\''\n streams_publishes:\n dcae_cl_out:\n dmaap_info:\n topic_url:\n get_input: dcae_CL_publish_url\n type: message_router\n streams_subscribes:\n ves-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_heartbeat_publish_url\n type: message_router\n docker_config:\n healthcheck:\n type: http\n endpoint: /\n interval: 15s\n timeout: 1s\n service_component_type:\n get_input: heartbeat_name\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcae-heartbeat-services'\''\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - type: cloudify.relationships.depends_on\n target: hbpgaas\n\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T\n# Copyright (C) 2020 Wipro Limited\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\n\n\ninputs:\n tag_version:\n type: string\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.1.1'\''\n heartbeat_name:\n type: string\n default: '\''dcae-heartbeat-service'\''\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n type: integer\n description: Network port that the platform service is expecting to expose on the host\n default: 30223\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 10002\n consul_host:\n type: string\n description: Consul endpoint address\n default: '\''consul-server.onap'\''\n consul_port:\n type: integer\n description: Consul endpoint port\n default: 8500\n CBS_polling_allowed:\n type: string\n default: '\''True'\''\n CBS_polling_interval:\n type: string\n default: '\''300'\''\n consumerID:\n type: string\n default: '\''1'\''\n groupID:\n type: string\n default: '\''hbgrpID'\''\n namespace:\n type: string\n default: '\''onap'\''\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n pg_dbName:\n type: string\n default: '\''heartbeat'\''\n ves_heartbeat_publish_url:\n type: string\n default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT'\''\n dcae_CL_publish_url:\n type: string\n default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT'\''\nnode_templates:\n hbpgaas:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: pg_dbName}\n use_existing: false\n\n heartbeat:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n CBS_polling_allowed:\n get_input: CBS_polling_allowed\n CBS_polling_interval: \"300\"\n consumerID: \"1\"\n groupID:\n get_input: groupID\n pg_ipAddress:\n { get_attribute: [ hbpgaas, admin, host ] }\n pg_passwd:\n { get_attribute: [ hbpgaas, admin, password ] }\n pg_portNum:\n { get_attribute: [ hbpgaas, admin, port ] }\n pg_userName:\n { get_attribute: [ hbpgaas, admin, user ] }\n pg_dbName:\n get_input: pg_dbName\n ports:\n - \"10002:0\"\n\n properties:\n application_config:\n CBS_polling_allowed:\n get_input: CBS_polling_allowed\n CBS_polling_interval:\n get_input: CBS_polling_interval\n consumerID:\n get_input: consumerID\n groupID:\n get_input: groupID\n pg_ipAddress:\n { get_attribute: [ hbpgaas, admin, host ] }\n pg_passwd:\n { get_attribute: [ hbpgaas, admin, password ] }\n pg_portNum:\n { get_attribute: [ hbpgaas, admin, port ] }\n pg_userName:\n { get_attribute: [ hbpgaas, admin, user ] }\n pg_dbName:\n get_input: pg_dbName\n heartbeat_config: '\''{\"vnfs\": [{\"eventName\": \"Heartbeat_vDNS\",\"heartbeatcountmissed\": 3,\"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\", \"policyVersion\": \"1.0.0.5\", \"policyName\":\"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\", \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_vFW\",\"heartbeatcountmissed\": 3, \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\", \"target_type\":\"VNF\", \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_xx\",\"heartbeatcountmissed\": 3, \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\", \"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",\"target\": \"genVnfName\",\"version\": \"1.0\"}]}'\''\n streams_publishes:\n dcae_cl_out:\n dmaap_info:\n topic_url:\n get_input: dcae_CL_publish_url\n type: message_router\n streams_subscribes:\n ves-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_heartbeat_publish_url\n type: message_router\n docker_config:\n healthcheck:\n type: http\n endpoint: /\n interval: 15s\n timeout: 1s\n service_component_type:\n get_input: heartbeat_name\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcae-heartbeat-services'\''\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - type: cloudify.relationships.depends_on\n target: hbpgaas\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-heartbeat", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T\n# Copyright (C) 2020 Wipro Limited\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\n\n\ninputs:\n tag_version:\n type: string\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.heartbeat:2.1.1'\''\n heartbeat_name:\n type: string\n default: '\''dcae-heartbeat-service'\''\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n type: integer\n description: Network port that the platform service is expecting to expose on the host\n default: 30223\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 10002\n consul_host:\n type: string\n description: Consul endpoint address\n default: '\''consul-server.onap'\''\n consul_port:\n type: integer\n description: Consul endpoint port\n default: 8500\n CBS_polling_allowed:\n type: string\n default: '\''True'\''\n CBS_polling_interval:\n type: string\n default: '\''300'\''\n consumerID:\n type: string\n default: '\''1'\''\n groupID:\n type: string\n default: '\''hbgrpID'\''\n namespace:\n type: string\n default: '\''onap'\''\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n pg_dbName:\n type: string\n default: '\''heartbeat'\''\n ves_heartbeat_publish_url:\n type: string\n default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT'\''\n dcae_CL_publish_url:\n type: string\n default: '\''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT'\''\nnode_templates:\n hbpgaas:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: pg_dbName}\n use_existing: false\n\n heartbeat:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n CBS_polling_allowed:\n get_input: CBS_polling_allowed\n CBS_polling_interval: \"300\"\n consumerID: \"1\"\n groupID:\n get_input: groupID\n pg_ipAddress:\n { get_attribute: [ hbpgaas, admin, host ] }\n pg_passwd:\n { get_attribute: [ hbpgaas, admin, password ] }\n pg_portNum:\n { get_attribute: [ hbpgaas, admin, port ] }\n pg_userName:\n { get_attribute: [ hbpgaas, admin, user ] }\n pg_dbName:\n get_input: pg_dbName\n ports:\n - \"10002:0\"\n\n properties:\n application_config:\n CBS_polling_allowed:\n get_input: CBS_polling_allowed\n CBS_polling_interval:\n get_input: CBS_polling_interval\n consumerID:\n get_input: consumerID\n groupID:\n get_input: groupID\n pg_ipAddress:\n { get_attribute: [ hbpgaas, admin, host ] }\n pg_passwd:\n { get_attribute: [ hbpgaas, admin, password ] }\n pg_portNum:\n { get_attribute: [ hbpgaas, admin, port ] }\n pg_userName:\n { get_attribute: [ hbpgaas, admin, user ] }\n pg_dbName:\n get_input: pg_dbName\n heartbeat_config: '\''{\"vnfs\": [{\"eventName\": \"Heartbeat_vDNS\",\"heartbeatcountmissed\": 3,\"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\", \"policyVersion\": \"1.0.0.5\", \"policyName\":\"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\", \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_vFW\",\"heartbeatcountmissed\": 3, \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\",\"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\", \"target_type\":\"VNF\", \"target\": \"genVnfName\", \"version\": \"1.0\"}, {\"eventName\": \"Heartbeat_xx\",\"heartbeatcountmissed\": 3, \"heartbeatinterval\": 60,\"closedLoopControlName\": \"ControlLoopEvent1\",\"policyVersion\": \"1.0.0.5\",\"policyName\": \"vFireWall\", \"policyScope\": \"resource=sampleResource,type=sampletype,CLName=sampleCLName\",\"target_type\": \"VNF\",\"target\": \"genVnfName\",\"version\": \"1.0\"}]}'\''\n streams_publishes:\n dcae_cl_out:\n dmaap_info:\n topic_url:\n get_input: dcae_CL_publish_url\n type: message_router\n streams_subscribes:\n ves-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_heartbeat_publish_url\n type: message_router\n docker_config:\n healthcheck:\n type: http\n endpoint: /\n interval: 15s\n timeout: 1s\n service_component_type:\n get_input: heartbeat_name\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcae-heartbeat-services'\''\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - type: cloudify.relationships.depends_on\n target: hbpgaas\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 6736 100 124 100 6612 3179 165k --:--:-- --:--:-- --:--:-- 168k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-helm.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-helm.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-helm.yaml .yaml ++ flatten /blueprints/k8s-helm.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g'+++ tr -d '\n' ++ FLAT='# ============LICENSE_START==========================================\n# ===================================================================\n# Copyright (c) 2019-2020 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#============LICENSE_END============================================\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:helm?version=4.2.0\n\ninputs:\n tiller-server-ip:\n description: IP address of Kubernetes master node\n tiller-server-port:\n description: Nodeport of tiller server\n namespace:\n description: Target namespace to be installed under (requires to be new)\n chart-repo-url:\n default: '\''https://nexus.onap.org/content/sites/oom-helm-staging'\''\n chart-version :\n description: Chart version for identified component-name\n stable-repo-url:\n description: URL for stable repository\n type: string\n default: '\''https://kubernetes-charts.storage.googleapis.com'\''\n config-url:\n default: '\'''\''\n config-format:\n default: '\''yaml'\''\n component-name:\n description: onap component name\nnode_templates:\n dcaecomponent:\n type: onap.nodes.component\n properties:\n tiller_ip: { get_input: tiller-server-ip }\n tiller_port: { get_input: tiller-server-port }\n component_name: { get_input: component-name }\n chart_repo_url: { get_input: chart-repo-url }\n chart_version: { get_input: chart-version }\n namespace: { get_input: namespace }\n stable_repo_url: { get_input: stable-repo-url}\n config_url: { get_input: config-url}\n config_format: { get_input: config-format}\noutputs:\n dcaecomponent_install_status:\n value: { get_attribute: [ dcaecomponent, install-status ] }\n\n' ++ echo '# ============LICENSE_START==========================================\n# ===================================================================\n# Copyright (c) 2019-2020 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#============LICENSE_END============================================\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:helm?version=4.2.0\n\ninputs:\n tiller-server-ip:\n description: IP address of Kubernetes master node\n tiller-server-port:\n description: Nodeport of tiller server\n namespace:\n description: Target namespace to be installed under (requires to be new)\n chart-repo-url:\n default: '\''https://nexus.onap.org/content/sites/oom-helm-staging'\''\n chart-version :\n description: Chart version for identified component-name\n stable-repo-url:\n description: URL for stable repository\n type: string\n default: '\''https://kubernetes-charts.storage.googleapis.com'\''\n config-url:\n default: '\'''\''\n config-format:\n default: '\''yaml'\''\n component-name:\n description: onap component name\nnode_templates:\n dcaecomponent:\n type: onap.nodes.component\n properties:\n tiller_ip: { get_input: tiller-server-ip }\n tiller_port: { get_input: tiller-server-port }\n component_name: { get_input: component-name }\n chart_repo_url: { get_input: chart-repo-url }\n chart_version: { get_input: chart-version }\n namespace: { get_input: namespace }\n stable_repo_url: { get_input: stable-repo-url}\n config_url: { get_input: config-url}\n config_format: { get_input: config-format}\noutputs:\n dcaecomponent_install_status:\n value: { get_attribute: [ dcaecomponent, install-status ] }\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-helm", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START==========================================\n# ===================================================================\n# Copyright (c) 2019-2020 AT&T\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#============LICENSE_END============================================\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:helm?version=4.2.0\n\ninputs:\n tiller-server-ip:\n description: IP address of Kubernetes master node\n tiller-server-port:\n description: Nodeport of tiller server\n namespace:\n description: Target namespace to be installed under (requires to be new)\n chart-repo-url:\n default: '\''https://nexus.onap.org/content/sites/oom-helm-staging'\''\n chart-version :\n description: Chart version for identified component-name\n stable-repo-url:\n description: URL for stable repository\n type: string\n default: '\''https://kubernetes-charts.storage.googleapis.com'\''\n config-url:\n default: '\'''\''\n config-format:\n default: '\''yaml'\''\n component-name:\n description: onap component name\nnode_templates:\n dcaecomponent:\n type: onap.nodes.component\n properties:\n tiller_ip: { get_input: tiller-server-ip }\n tiller_port: { get_input: tiller-server-port }\n component_name: { get_input: component-name }\n chart_repo_url: { get_input: chart-repo-url }\n chart_version: { get_input: chart-version }\n namespace: { get_input: namespace }\n stable_repo_url: { get_input: stable-repo-url}\n config_url: { get_input: config-url}\n config_format: { get_input: config-format}\noutputs:\n dcaecomponent_install_status:\n value: { get_attribute: [ dcaecomponent, install-status ] }\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 2610 100 124 100 2486 2296 46037 --:--:-- --:--:-- --:--:-- 49245 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-holmes-engine.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types + create_service_type /blueprints/k8s-holmes-engine.yaml ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-holmes-engine.yaml .yaml ++ flatten /blueprints/k8s-holmes-engine.yaml +++ tr -d '\n' +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n dcae_CL_publish_url:\n type: string\n default: \"http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n ves_fault_publish_url:\n type: string\n default: \"http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n msb_hostname:\n type: string\n default: \"msb-iag.onap\"\n pgaas_cluster_name:\n type: string\n default: \"dcae-pg-primary.onap\"\n # use the single-VM PG instance\n #default: pgvm\n database_name:\n type: string\n default: \"holmes\"\n he_image:\n type: string\n default: \"nexus3.onap.org:10001/onap/holmes/engine-management:1.3.2\"\n service_component_type:\n type: string\n default: \"holmes-engine-mgmt\"\n service_id:\n type: string\n default: \"holmes-engine-mgmt\"\n service_component_name_override:\n type: string\n default: \"holmes-engine-mgmt\"\n dcae-analytics-holmes-engine-mgt_cpu_limit:\n type: string\n default: \"500m\"\n dcae-analytics-holmes-engine-mgt_cpu_request:\n type: string\n default: \"500m\"\n dcae-analytics-holmes-engine-mgt_memory_limit:\n type: string\n default: \"1024Mi\"\n dcae-analytics-holmes-engine-mgt_memory_request:\n type: string\n default: \"256Mi\"\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: true\n\n holmesengine:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n URL_JDBC:\n { get_attribute: [ pgaasvm, admin, host ] }\n JDBC_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n JDBC_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n MSB_ADDR:\n get_input: msb_hostname\n ports:\n - '\''9102:0'\''\n properties:\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n application_config:\n msb.hostname:\n get_input: msb_hostname\n msb.uri: /api/microservices/v1/services\n services_calls: {}\n streams_publishes:\n dcae_cl_out:\n dmaap_info:\n topic_url:\n get_input: dcae_CL_publish_url\n type: message_router\n streams_subscribes:\n ves_fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n image: { get_input: he_image }\n # need to use truncated name!!\n #service_component_type: dcae-analytics-holmes-engin-management\n resource_config:\n limits:\n cpu:\n get_input: dcae-analytics-holmes-engine-mgt_cpu_limit\n memory:\n get_input: dcae-analytics-holmes-engine-mgt_memory_limit\n requests:\n cpu:\n get_input: dcae-analytics-holmes-engine-mgt_cpu_request\n memory:\n get_input: dcae-analytics-holmes-engine-mgt_memory_request\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n\n' ++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n dcae_CL_publish_url:\n type: string\n default: \"http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n ves_fault_publish_url:\n type: string\n default: \"http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n msb_hostname:\n type: string\n default: \"msb-iag.onap\"\n pgaas_cluster_name:\n type: string\n default: \"dcae-pg-primary.onap\"\n # use the single-VM PG instance\n #default: pgvm\n database_name:\n type: string\n default: \"holmes\"\n he_image:\n type: string\n default: \"nexus3.onap.org:10001/onap/holmes/engine-management:1.3.2\"\n service_component_type:\n type: string\n default: \"holmes-engine-mgmt\"\n service_id:\n type: string\n default: \"holmes-engine-mgmt\"\n service_component_name_override:\n type: string\n default: \"holmes-engine-mgmt\"\n dcae-analytics-holmes-engine-mgt_cpu_limit:\n type: string\n default: \"500m\"\n dcae-analytics-holmes-engine-mgt_cpu_request:\n type: string\n default: \"500m\"\n dcae-analytics-holmes-engine-mgt_memory_limit:\n type: string\n default: \"1024Mi\"\n dcae-analytics-holmes-engine-mgt_memory_request:\n type: string\n default: \"256Mi\"\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: true\n\n holmesengine:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n URL_JDBC:\n { get_attribute: [ pgaasvm, admin, host ] }\n JDBC_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n JDBC_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n MSB_ADDR:\n get_input: msb_hostname\n ports:\n - '\''9102:0'\''\n properties:\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n application_config:\n msb.hostname:\n get_input: msb_hostname\n msb.uri: /api/microservices/v1/services\n services_calls: {}\n streams_publishes:\n dcae_cl_out:\n dmaap_info:\n topic_url:\n get_input: dcae_CL_publish_url\n type: message_router\n streams_subscribes:\n ves_fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n image: { get_input: he_image }\n # need to use truncated name!!\n #service_component_type: dcae-analytics-holmes-engin-management\n resource_config:\n limits:\n cpu:\n get_input: dcae-analytics-holmes-engine-mgt_cpu_limit\n memory:\n get_input: dcae-analytics-holmes-engine-mgt_memory_limit\n requests:\n cpu:\n get_input: dcae-analytics-holmes-engine-mgt_cpu_request\n memory:\n get_input: dcae-analytics-holmes-engine-mgt_memory_request\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-holmes-engine", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n dcae_CL_publish_url:\n type: string\n default: \"http://message-router.onap:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n ves_fault_publish_url:\n type: string\n default: \"http://message-router.onap:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n msb_hostname:\n type: string\n default: \"msb-iag.onap\"\n pgaas_cluster_name:\n type: string\n default: \"dcae-pg-primary.onap\"\n # use the single-VM PG instance\n #default: pgvm\n database_name:\n type: string\n default: \"holmes\"\n he_image:\n type: string\n default: \"nexus3.onap.org:10001/onap/holmes/engine-management:1.3.2\"\n service_component_type:\n type: string\n default: \"holmes-engine-mgmt\"\n service_id:\n type: string\n default: \"holmes-engine-mgmt\"\n service_component_name_override:\n type: string\n default: \"holmes-engine-mgmt\"\n dcae-analytics-holmes-engine-mgt_cpu_limit:\n type: string\n default: \"500m\"\n dcae-analytics-holmes-engine-mgt_cpu_request:\n type: string\n default: \"500m\"\n dcae-analytics-holmes-engine-mgt_memory_limit:\n type: string\n default: \"1024Mi\"\n dcae-analytics-holmes-engine-mgt_memory_request:\n type: string\n default: \"256Mi\"\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: true\n\n holmesengine:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n URL_JDBC:\n { get_attribute: [ pgaasvm, admin, host ] }\n JDBC_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n JDBC_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n MSB_ADDR:\n get_input: msb_hostname\n ports:\n - '\''9102:0'\''\n properties:\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n application_config:\n msb.hostname:\n get_input: msb_hostname\n msb.uri: /api/microservices/v1/services\n services_calls: {}\n streams_publishes:\n dcae_cl_out:\n dmaap_info:\n topic_url:\n get_input: dcae_CL_publish_url\n type: message_router\n streams_subscribes:\n ves_fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n image: { get_input: he_image }\n # need to use truncated name!!\n #service_component_type: dcae-analytics-holmes-engin-management\n resource_config:\n limits:\n cpu:\n get_input: dcae-analytics-holmes-engine-mgt_cpu_limit\n memory:\n get_input: dcae-analytics-holmes-engine-mgt_memory_limit\n requests:\n cpu:\n get_input: dcae-analytics-holmes-engine-mgt_cpu_request\n memory:\n get_input: dcae-analytics-holmes-engine-mgt_memory_request\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 5128 100 124 100 5004 2339 94415 --:--:-- --:--:-- --:--:-- 96754 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-holmes-rules.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-holmes-rules.yaml ++ date +%y%m%d%I%M + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ basename /blueprints/k8s-holmes-rules.yaml .yaml ++ flatten /blueprints/k8s-holmes-rules.yaml +++ tr -d '\n' +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n msb_hostname:\n type: string\n default: \"msb-iag.onap\"\n pgaas_cluster_name:\n type: string\n default: \"dcae-pg-primary.onap\"\n # use the single-VM PG instance\n #default: pgvm\n database_name:\n type: string\n default: \"holmes\"\n hr_image:\n type: string\n default: \"nexus3.onap.org:10001/onap/holmes/rule-management:1.3.2\"\n service_component_type:\n type: string\n default: \"holmes-rule-mgmt\"\n service_id:\n type: string\n default: \"holmes-rule-mgmt\"\n service_component_name_override:\n type: string\n default: \"holmes-rule-mgmt\"\n dcae-analytics-holmes-rule-mgt_cpu_limit:\n type: string\n default: \"250m\"\n dcae-analytics-holmes-rule-mgt_cpu_request:\n type: string\n default: \"250m\"\n dcae-analytics-holmes-rule-mgt_memory_limit:\n type: string\n default: \"1024Mi\"\n dcae-analytics-holmes-rule-mgt_memory_request:\n type: string\n default: \"256Mi\"\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n holmesrules:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n URL_JDBC:\n { get_attribute: [ pgaasvm, admin, host ] }\n JDBC_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n JDBC_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n MSB_ADDR:\n get_input: msb_hostname\n ports:\n - '\''9101:0'\''\n - '\''9104:0'\''\n properties:\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n application_config:\n holmes.default.rule.volte.scenario1: \"ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\\n\\nimport org.onap.holmes.common.dmaap.DmaapService;\\nimport org.onap.holmes.common.api.stat.VesAlarm;\\nimport org.onap.holmes.common.aai.CorrelationUtil;\\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\\nimport org.onap.holmes.common.utils.DroolsLog;\\n \\n\\nrule \\\"Relation_analysis_Rule\\\"\\nsalience 200\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 0,\\n $sourceId: sourceId, sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\\\"\\\"),\\n\\t\\t\\t$startEpochMicrosec: startEpochMicrosec,\\n eventName in (\\\"Fault_MultiCloud_VMFailure\\\"),\\n $eventId: eventId)\\n $child : VesAlarm( eventId != $eventId, parentId == null,\\n CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\\n eventName in (\\\"Fault_MME_eNodeB out of service alarm\\\"),\\n startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"Relation_analysis_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\t$child.setParentId($root.getEventId());\\n\\t\\tupdate($child);\\n\\t\\t\\nend\\n\\nrule \\\"root_has_child_handle_Rule\\\"\\nsalience 150\\nno-loop true\\n\\twhen\\n\\t\\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\\n\\t\\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\\n\\tthen\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_has_child_handle_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_no_child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\\n sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\tsourceName != null && !sourceName.equals(\\\"\\\"),\\n eventName in (\\\"Fault_MultiCloud_VMFailure\\\"))\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_no_child_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_cleared_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_cleared_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\tretract($root);\\nend\\n\\nrule \\\"child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"child_handle_Rule: childId=\\\" + $child.getEventId());\\n\\t\\tretract($child);\\nend\"\n msb.hostname:\n get_input: msb_hostname\n msb.uri: /api/microservices/v1/services\n services_calls: {}\n streams_publishes: {}\n streams_subscribes: {}\n image: { get_input: hr_image }\n #service_component_type: dcae-analytics-holmes-rule-management\n resource_config:\n limits:\n cpu:\n get_input: dcae-analytics-holmes-rule-mgt_cpu_limit\n memory:\n get_input: dcae-analytics-holmes-rule-mgt_memory_limit\n requests:\n cpu:\n get_input: dcae-analytics-holmes-rule-mgt_cpu_request\n memory:\n get_input: dcae-analytics-holmes-rule-mgt_memory_request\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n' ++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n msb_hostname:\n type: string\n default: \"msb-iag.onap\"\n pgaas_cluster_name:\n type: string\n default: \"dcae-pg-primary.onap\"\n # use the single-VM PG instance\n #default: pgvm\n database_name:\n type: string\n default: \"holmes\"\n hr_image:\n type: string\n default: \"nexus3.onap.org:10001/onap/holmes/rule-management:1.3.2\"\n service_component_type:\n type: string\n default: \"holmes-rule-mgmt\"\n service_id:\n type: string\n default: \"holmes-rule-mgmt\"\n service_component_name_override:\n type: string\n default: \"holmes-rule-mgmt\"\n dcae-analytics-holmes-rule-mgt_cpu_limit:\n type: string\n default: \"250m\"\n dcae-analytics-holmes-rule-mgt_cpu_request:\n type: string\n default: \"250m\"\n dcae-analytics-holmes-rule-mgt_memory_limit:\n type: string\n default: \"1024Mi\"\n dcae-analytics-holmes-rule-mgt_memory_request:\n type: string\n default: \"256Mi\"\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n holmesrules:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n URL_JDBC:\n { get_attribute: [ pgaasvm, admin, host ] }\n JDBC_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n JDBC_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n MSB_ADDR:\n get_input: msb_hostname\n ports:\n - '\''9101:0'\''\n - '\''9104:0'\''\n properties:\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n application_config:\n holmes.default.rule.volte.scenario1: \"ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\\n\\nimport org.onap.holmes.common.dmaap.DmaapService;\\nimport org.onap.holmes.common.api.stat.VesAlarm;\\nimport org.onap.holmes.common.aai.CorrelationUtil;\\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\\nimport org.onap.holmes.common.utils.DroolsLog;\\n \\n\\nrule \\\"Relation_analysis_Rule\\\"\\nsalience 200\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 0,\\n $sourceId: sourceId, sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\\\"\\\"),\\n\\t\\t\\t$startEpochMicrosec: startEpochMicrosec,\\n eventName in (\\\"Fault_MultiCloud_VMFailure\\\"),\\n $eventId: eventId)\\n $child : VesAlarm( eventId != $eventId, parentId == null,\\n CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\\n eventName in (\\\"Fault_MME_eNodeB out of service alarm\\\"),\\n startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"Relation_analysis_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\t$child.setParentId($root.getEventId());\\n\\t\\tupdate($child);\\n\\t\\t\\nend\\n\\nrule \\\"root_has_child_handle_Rule\\\"\\nsalience 150\\nno-loop true\\n\\twhen\\n\\t\\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\\n\\t\\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\\n\\tthen\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_has_child_handle_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_no_child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\\n sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\tsourceName != null && !sourceName.equals(\\\"\\\"),\\n eventName in (\\\"Fault_MultiCloud_VMFailure\\\"))\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_no_child_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_cleared_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_cleared_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\tretract($root);\\nend\\n\\nrule \\\"child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"child_handle_Rule: childId=\\\" + $child.getEventId());\\n\\t\\tretract($child);\\nend\"\n msb.hostname:\n get_input: msb_hostname\n msb.uri: /api/microservices/v1/services\n services_calls: {}\n streams_publishes: {}\n streams_subscribes: {}\n image: { get_input: hr_image }\n #service_component_type: dcae-analytics-holmes-rule-management\n resource_config:\n limits:\n cpu:\n get_input: dcae-analytics-holmes-rule-mgt_cpu_limit\n memory:\n get_input: dcae-analytics-holmes-rule-mgt_memory_limit\n requests:\n cpu:\n get_input: dcae-analytics-holmes-rule-mgt_cpu_request\n memory:\n get_input: dcae-analytics-holmes-rule-mgt_memory_request\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-holmes-rules", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END=====================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n- plugin:k8splugin?version=>=3.4.3,<4.0.0\n- plugin:dcaepolicyplugin?version=2.4.0\n- plugin:pgaas?version=1.3.0\ninputs:\n msb_hostname:\n type: string\n default: \"msb-iag.onap\"\n pgaas_cluster_name:\n type: string\n default: \"dcae-pg-primary.onap\"\n # use the single-VM PG instance\n #default: pgvm\n database_name:\n type: string\n default: \"holmes\"\n hr_image:\n type: string\n default: \"nexus3.onap.org:10001/onap/holmes/rule-management:1.3.2\"\n service_component_type:\n type: string\n default: \"holmes-rule-mgmt\"\n service_id:\n type: string\n default: \"holmes-rule-mgmt\"\n service_component_name_override:\n type: string\n default: \"holmes-rule-mgmt\"\n dcae-analytics-holmes-rule-mgt_cpu_limit:\n type: string\n default: \"250m\"\n dcae-analytics-holmes-rule-mgt_cpu_request:\n type: string\n default: \"250m\"\n dcae-analytics-holmes-rule-mgt_memory_limit:\n type: string\n default: \"1024Mi\"\n dcae-analytics-holmes-rule-mgt_memory_request:\n type: string\n default: \"256Mi\"\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n #writerfqdn: { concat: [ { get_input: pgaas_cluster_name }, '\''-write.'\'' ] }\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n holmesrules:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n URL_JDBC:\n { get_attribute: [ pgaasvm, admin, host ] }\n JDBC_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n JDBC_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n MSB_ADDR:\n get_input: msb_hostname\n ports:\n - '\''9101:0'\''\n - '\''9104:0'\''\n properties:\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n application_config:\n holmes.default.rule.volte.scenario1: \"ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\\n\\nimport org.onap.holmes.common.dmaap.DmaapService;\\nimport org.onap.holmes.common.api.stat.VesAlarm;\\nimport org.onap.holmes.common.aai.CorrelationUtil;\\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\\nimport org.onap.holmes.common.utils.DroolsLog;\\n \\n\\nrule \\\"Relation_analysis_Rule\\\"\\nsalience 200\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 0,\\n $sourceId: sourceId, sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\\\"\\\"),\\n\\t\\t\\t$startEpochMicrosec: startEpochMicrosec,\\n eventName in (\\\"Fault_MultiCloud_VMFailure\\\"),\\n $eventId: eventId)\\n $child : VesAlarm( eventId != $eventId, parentId == null,\\n CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\\n eventName in (\\\"Fault_MME_eNodeB out of service alarm\\\"),\\n startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"Relation_analysis_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\t$child.setParentId($root.getEventId());\\n\\t\\tupdate($child);\\n\\t\\t\\nend\\n\\nrule \\\"root_has_child_handle_Rule\\\"\\nsalience 150\\nno-loop true\\n\\twhen\\n\\t\\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\\n\\t\\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\\n\\tthen\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_has_child_handle_Rule: rootId=\\\" + $root.getEventId() + \\\", childId=\\\" + $child.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_no_child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\\n sourceId != null && !sourceId.equals(\\\"\\\"),\\n\\t\\t\\tsourceName != null && !sourceName.equals(\\\"\\\"),\\n eventName in (\\\"Fault_MultiCloud_VMFailure\\\"))\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_no_child_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\t$root.setRootFlag(1);\\n\\t\\tupdate($root);\\nend\\n\\nrule \\\"root_cleared_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"root_cleared_handle_Rule: rootId=\\\" + $root.getEventId());\\n\\t\\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\\n\\t\\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \\\"org.onap.holmes.droolsRule\\\");\\n dmaapService.publishPolicyMsg(policyMsg, \\\"dcae_cl_out\\\");\\n\\t\\tretract($root);\\nend\\n\\nrule \\\"child_handle_Rule\\\"\\nsalience 100\\nno-loop true\\n when\\n $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\\n then\\n\\t\\tDroolsLog.printInfo(\\\"===========================================================\\\");\\n\\t\\tDroolsLog.printInfo(\\\"child_handle_Rule: childId=\\\" + $child.getEventId());\\n\\t\\tretract($child);\\nend\"\n msb.hostname:\n get_input: msb_hostname\n msb.uri: /api/microservices/v1/services\n services_calls: {}\n streams_publishes: {}\n streams_subscribes: {}\n image: { get_input: hr_image }\n #service_component_type: dcae-analytics-holmes-rule-management\n resource_config:\n limits:\n cpu:\n get_input: dcae-analytics-holmes-rule-mgt_cpu_limit\n memory:\n get_input: dcae-analytics-holmes-rule-mgt_memory_limit\n requests:\n cpu:\n get_input: dcae-analytics-holmes-rule-mgt_cpu_request\n memory:\n get_input: dcae-analytics-holmes-rule-mgt_memory_request\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed {"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}Creating new deployment from blueprint tcagen2... Creating new deployment from blueprint ves-tls... HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/deployments/tcagen2 (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/deployments/ves-tls (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 8774 100 124 100 8650 1377 96111 --:--:-- --:--:-- --:--:-- 97488 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-hv-ves.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-hv-ves.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-hv-ves.yaml .yaml ++ flatten /blueprints/k8s-hv-ves.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications copyright (c) 2020 AT&T Intellectual Property. All Rights Reserved\n# =================================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END==========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n tag_version:\n type: string\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.6.0'\''\n service_component_type:\n type: string\n default: '\''dcae-hv-ves-collector'\''\n service_id:\n type: string\n default: \"dcae-hv-ves-collector\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n type: integer\n description: Network port that the platform service is expecting to expose on the host\n default: 30222\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 6061\n kafka_bootstrap_servers:\n type: string\n default: '\''message-router-kafka:9092'\''\n kafka_username:\n type: string\n default: '\''admin'\''\n kafka_password:\n type: string\n default: '\''admin_secret'\''\n perf3gpp_kafka_topic:\n type: string\n default: '\''HV_VES_PERF3GPP'\''\n log_level:\n type: string\n default: '\''INFO'\''\n server_idle_timeout_sec:\n type: integer\n default: 300\n cbs_request_interval_sec:\n type: integer\n default: 5\n security_ssl_disable:\n type: boolean\n default: false\n security_keys_key_store_file:\n type: string\n default: '\''/etc/ves-hv/ssl/cert.jks'\''\n security_keys_key_store_password_file:\n type: string\n default: '\''/etc/ves-hv/ssl/jks.pass'\''\n security_keys_trust_store_file:\n type: string\n default: '\''/etc/ves-hv/ssl/trust.jks'\''\n security_keys_trust_store_password_file:\n type: string\n default: '\''/etc/ves-hv/ssl/trust.pass'\''\n use_tls:\n type: boolean\n default: true\n service_component_name_override:\n type: string\n default: \"dcae-hv-ves-collector\"\n external_cert_cert_type:\n type: string\n description: Output type\n default: \"JKS\"\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-hv-ves-collector\"\n external_cert_sans:\n type: string\n description: \"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"\n default: \"dcae-hv-ves-collector,hv-ves-collector,hv-ves\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\nnode_templates:\n hv-ves:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n JAVA_OPTS: { concat: [ '\''-Dlogback.configurationFile=/etc/ONAP/'\'', { get_input: service_component_type }, '\''/logback.xml'\'' ] }\n properties:\n application_config:\n logLevel: { get_input: log_level }\n server.idleTimeoutSec: { get_input: server_idle_timeout_sec }\n server.listenPort: { get_input: container_port }\n cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}\n security.sslDisable: { get_input: security_ssl_disable }\n security.keys.keyStoreFile: { get_input: security_keys_key_store_file }\n security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }\n security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }\n security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }\n streams_publishes:\n perf3gpp:\n type: kafka\n aaf_credentials:\n username: { get_input: kafka_username }\n password: { get_input: kafka_password }\n kafka_info:\n bootstrap_servers: { get_input: kafka_bootstrap_servers }\n topic_name: { get_input: perf3gpp_kafka_topic }\n docker_config:\n healthcheck:\n type: script\n script: \"/opt/ves-hv-collector/healthcheck.sh\"\n interval: 15s\n timeout: 2s\n ports:\n - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: { concat: [ '\''/var/log/ONAP/'\'', { get_input: service_component_type } ] }\n tls_info:\n cert_directory: '\''/etc/ves-hv/ssl'\''\n use_tls: { get_input: use_tls }\n external_cert:\n external_cert_directory: '\''/etc/ves-hv/ssl'\''\n use_external_tls:\n get_input: external_cert_use_external_tls\n cert_type:\n get_input: external_cert_cert_type\n ca_name:\n get_input: external_cert_ca_name\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n type: dcae.nodes.ContainerizedServiceComponent\n' ++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications copyright (c) 2020 AT&T Intellectual Property. All Rights Reserved\n# =================================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END==========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n tag_version:\n type: string\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.6.0'\''\n service_component_type:\n type: string\n default: '\''dcae-hv-ves-collector'\''\n service_id:\n type: string\n default: \"dcae-hv-ves-collector\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n type: integer\n description: Network port that the platform service is expecting to expose on the host\n default: 30222\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 6061\n kafka_bootstrap_servers:\n type: string\n default: '\''message-router-kafka:9092'\''\n kafka_username:\n type: string\n default: '\''admin'\''\n kafka_password:\n type: string\n default: '\''admin_secret'\''\n perf3gpp_kafka_topic:\n type: string\n default: '\''HV_VES_PERF3GPP'\''\n log_level:\n type: string\n default: '\''INFO'\''\n server_idle_timeout_sec:\n type: integer\n default: 300\n cbs_request_interval_sec:\n type: integer\n default: 5\n security_ssl_disable:\n type: boolean\n default: false\n security_keys_key_store_file:\n type: string\n default: '\''/etc/ves-hv/ssl/cert.jks'\''\n security_keys_key_store_password_file:\n type: string\n default: '\''/etc/ves-hv/ssl/jks.pass'\''\n security_keys_trust_store_file:\n type: string\n default: '\''/etc/ves-hv/ssl/trust.jks'\''\n security_keys_trust_store_password_file:\n type: string\n default: '\''/etc/ves-hv/ssl/trust.pass'\''\n use_tls:\n type: boolean\n default: true\n service_component_name_override:\n type: string\n default: \"dcae-hv-ves-collector\"\n external_cert_cert_type:\n type: string\n description: Output type\n default: \"JKS\"\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-hv-ves-collector\"\n external_cert_sans:\n type: string\n description: \"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"\n default: \"dcae-hv-ves-collector,hv-ves-collector,hv-ves\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\nnode_templates:\n hv-ves:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n JAVA_OPTS: { concat: [ '\''-Dlogback.configurationFile=/etc/ONAP/'\'', { get_input: service_component_type }, '\''/logback.xml'\'' ] }\n properties:\n application_config:\n logLevel: { get_input: log_level }\n server.idleTimeoutSec: { get_input: server_idle_timeout_sec }\n server.listenPort: { get_input: container_port }\n cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}\n security.sslDisable: { get_input: security_ssl_disable }\n security.keys.keyStoreFile: { get_input: security_keys_key_store_file }\n security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }\n security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }\n security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }\n streams_publishes:\n perf3gpp:\n type: kafka\n aaf_credentials:\n username: { get_input: kafka_username }\n password: { get_input: kafka_password }\n kafka_info:\n bootstrap_servers: { get_input: kafka_bootstrap_servers }\n topic_name: { get_input: perf3gpp_kafka_topic }\n docker_config:\n healthcheck:\n type: script\n script: \"/opt/ves-hv-collector/healthcheck.sh\"\n interval: 15s\n timeout: 2s\n ports:\n - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: { concat: [ '\''/var/log/ONAP/'\'', { get_input: service_component_type } ] }\n tls_info:\n cert_directory: '\''/etc/ves-hv/ssl'\''\n use_tls: { get_input: use_tls }\n external_cert:\n external_cert_directory: '\''/etc/ves-hv/ssl'\''\n use_external_tls:\n get_input: external_cert_use_external_tls\n cert_type:\n get_input: external_cert_cert_type\n ca_name:\n get_input: external_cert_ca_name\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n type: dcae.nodes.ContainerizedServiceComponent\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-hv-ves", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications copyright (c) 2020 AT&T Intellectual Property. All Rights Reserved\n# =================================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END==========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n tag_version:\n type: string\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.6.0'\''\n service_component_type:\n type: string\n default: '\''dcae-hv-ves-collector'\''\n service_id:\n type: string\n default: \"dcae-hv-ves-collector\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n type: integer\n description: Network port that the platform service is expecting to expose on the host\n default: 30222\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 6061\n kafka_bootstrap_servers:\n type: string\n default: '\''message-router-kafka:9092'\''\n kafka_username:\n type: string\n default: '\''admin'\''\n kafka_password:\n type: string\n default: '\''admin_secret'\''\n perf3gpp_kafka_topic:\n type: string\n default: '\''HV_VES_PERF3GPP'\''\n log_level:\n type: string\n default: '\''INFO'\''\n server_idle_timeout_sec:\n type: integer\n default: 300\n cbs_request_interval_sec:\n type: integer\n default: 5\n security_ssl_disable:\n type: boolean\n default: false\n security_keys_key_store_file:\n type: string\n default: '\''/etc/ves-hv/ssl/cert.jks'\''\n security_keys_key_store_password_file:\n type: string\n default: '\''/etc/ves-hv/ssl/jks.pass'\''\n security_keys_trust_store_file:\n type: string\n default: '\''/etc/ves-hv/ssl/trust.jks'\''\n security_keys_trust_store_password_file:\n type: string\n default: '\''/etc/ves-hv/ssl/trust.pass'\''\n use_tls:\n type: boolean\n default: true\n service_component_name_override:\n type: string\n default: \"dcae-hv-ves-collector\"\n external_cert_cert_type:\n type: string\n description: Output type\n default: \"JKS\"\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-hv-ves-collector\"\n external_cert_sans:\n type: string\n description: \"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"\n default: \"dcae-hv-ves-collector,hv-ves-collector,hv-ves\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\nnode_templates:\n hv-ves:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n JAVA_OPTS: { concat: [ '\''-Dlogback.configurationFile=/etc/ONAP/'\'', { get_input: service_component_type }, '\''/logback.xml'\'' ] }\n properties:\n application_config:\n logLevel: { get_input: log_level }\n server.idleTimeoutSec: { get_input: server_idle_timeout_sec }\n server.listenPort: { get_input: container_port }\n cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}\n security.sslDisable: { get_input: security_ssl_disable }\n security.keys.keyStoreFile: { get_input: security_keys_key_store_file }\n security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }\n security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }\n security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }\n streams_publishes:\n perf3gpp:\n type: kafka\n aaf_credentials:\n username: { get_input: kafka_username }\n password: { get_input: kafka_password }\n kafka_info:\n bootstrap_servers: { get_input: kafka_bootstrap_servers }\n topic_name: { get_input: perf3gpp_kafka_topic }\n docker_config:\n healthcheck:\n type: script\n script: \"/opt/ves-hv-collector/healthcheck.sh\"\n interval: 15s\n timeout: 2s\n ports:\n - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: { concat: [ '\''/var/log/ONAP/'\'', { get_input: service_component_type } ] }\n tls_info:\n cert_directory: '\''/etc/ves-hv/ssl'\''\n use_tls: { get_input: use_tls }\n external_cert:\n external_cert_directory: '\''/etc/ves-hv/ssl'\''\n use_external_tls:\n get_input: external_cert_use_external_tls\n cert_type:\n get_input: external_cert_cert_type\n ca_name:\n get_input: external_cert_ca_name\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n type: dcae.nodes.ContainerizedServiceComponent\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed {"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}Creating new deployment from blueprint hv-ves... Creating new deployment from blueprint prh... HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/deployments/hv-ves (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 6826 100 124 100 6702 3542 186k --:--:-- --:--:-- --:--:-- 190k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-kpi-ms.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-kpi-ms.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M {"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}HTTPSConnectionPool(host='dcae-cloudify-manager', port=443): Max retries exceeded with url: /api/v3.1/deployments/prh (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)) An error occurred when trying to connect to the manager,please make sure it is online and all required ports are open. This can also happen when the manager is not working with SSL, but the client does ++ basename /blueprints/k8s-kpi-ms.yaml .yaml ++ flatten /blueprints/k8s-kpi-ms.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='\n #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:dmaap?version=1.5.0\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.0\"\n aaf_username:\n type: string\n description: aaf username\n default: \"dcae@dcae.onap.org\"\n aaf_password:\n type: string\n description: aaf password\n default: \"demo123456!\"\n dmaap_polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n dmaap_polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n cg:\n type: string\n description: consumer group\n default: \"kpi-cg\"\n cid:\n type: string\n description: consumer id\n default: \"kpi-cid\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/kpi-ms\"\n performance_management_topic_url:\n type: string\n description: performance measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n dcae_kpi_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT\"\nnode_templates:\n kpims:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/kpims/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-kpi-ms'\''\n service_id: '\''kpims'\''\n service_component_name_override: '\''dcae-kpi-ms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n tls_info:\n cert_directory: '\''/opt/app/kpims/etc/cert/'\''\n use_tls: true\n application_config:\n aafUsername: { get_input: aaf_username }\n aafPassword: { get_input: aaf_password }\n trust_store_path: '\''/opt/app/kpims/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/kpims/etc/cert/trust.pass'\''\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n streams_publishes:\n kpi_topic:\n dmaap_info:\n topic_url: { get_input: dcae_kpi_topic_url }\n type: message-router\n pollingInterval: { get_input: dmaap_polling_interval}\n pollingTimeout: { get_input: dmaap_polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n dmaap.server:\n - { get_input: dmaap }\n cg: { get_input: cg }\n cid: { get_input: cid }\n kpi.policy:\n '\''{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":\"RM.RegisteredSubNbrMean\"}]},{\"eventName\":\"perf3gpp_CORE-UPF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.InDataOctN3UPF\"},{\"measType\":\"DownstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.OutDataOctN3UPF\"}]}]}'\''\n\n' ++ echo '\n #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:dmaap?version=1.5.0\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.0\"\n aaf_username:\n type: string\n description: aaf username\n default: \"dcae@dcae.onap.org\"\n aaf_password:\n type: string\n description: aaf password\n default: \"demo123456!\"\n dmaap_polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n dmaap_polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n cg:\n type: string\n description: consumer group\n default: \"kpi-cg\"\n cid:\n type: string\n description: consumer id\n default: \"kpi-cid\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/kpi-ms\"\n performance_management_topic_url:\n type: string\n description: performance measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n dcae_kpi_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT\"\nnode_templates:\n kpims:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/kpims/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-kpi-ms'\''\n service_id: '\''kpims'\''\n service_component_name_override: '\''dcae-kpi-ms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n tls_info:\n cert_directory: '\''/opt/app/kpims/etc/cert/'\''\n use_tls: true\n application_config:\n aafUsername: { get_input: aaf_username }\n aafPassword: { get_input: aaf_password }\n trust_store_path: '\''/opt/app/kpims/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/kpims/etc/cert/trust.pass'\''\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n streams_publishes:\n kpi_topic:\n dmaap_info:\n topic_url: { get_input: dcae_kpi_topic_url }\n type: message-router\n pollingInterval: { get_input: dmaap_polling_interval}\n pollingTimeout: { get_input: dmaap_polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n dmaap.server:\n - { get_input: dmaap }\n cg: { get_input: cg }\n cid: { get_input: cid }\n kpi.policy:\n '\''{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":\"RM.RegisteredSubNbrMean\"}]},{\"eventName\":\"perf3gpp_CORE-UPF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.InDataOctN3UPF\"},{\"measType\":\"DownstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.OutDataOctN3UPF\"}]}]}'\''\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-kpi-ms", "component": "dcae", "application": "DCAE", "blueprintTemplate": "\n #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:dmaap?version=1.5.0\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.kpi-ms:1.0.0\"\n aaf_username:\n type: string\n description: aaf username\n default: \"dcae@dcae.onap.org\"\n aaf_password:\n type: string\n description: aaf password\n default: \"demo123456!\"\n dmaap_polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n dmaap_polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n cg:\n type: string\n description: consumer group\n default: \"kpi-cg\"\n cid:\n type: string\n description: consumer id\n default: \"kpi-cid\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/kpi-ms\"\n performance_management_topic_url:\n type: string\n description: performance measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n dcae_kpi_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_KPI_OUTPUT\"\nnode_templates:\n kpims:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/kpims/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-kpi-ms'\''\n service_id: '\''kpims'\''\n service_component_name_override: '\''dcae-kpi-ms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n tls_info:\n cert_directory: '\''/opt/app/kpims/etc/cert/'\''\n use_tls: true\n application_config:\n aafUsername: { get_input: aaf_username }\n aafPassword: { get_input: aaf_password }\n trust_store_path: '\''/opt/app/kpims/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/kpims/etc/cert/trust.pass'\''\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n streams_publishes:\n kpi_topic:\n dmaap_info:\n topic_url: { get_input: dcae_kpi_topic_url }\n type: message-router\n pollingInterval: { get_input: dmaap_polling_interval}\n pollingTimeout: { get_input: dmaap_polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n dmaap.server:\n - { get_input: dmaap }\n cg: { get_input: cg }\n cid: { get_input: cid }\n kpi.policy:\n '\''{\"domain\":\"measurementsForKpi\",\"methodForKpi\":[{\"eventName\":\"perf3gpp_CORE-AMF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"AMFRegNbr\",\"operation\":\"SUM\",\"operands\":\"RM.RegisteredSubNbrMean\"}]},{\"eventName\":\"perf3gpp_CORE-UPF_pmMeasResult\",\"controlLoopSchemaType\":\"SLICE\",\"policyScope\":\"resource=networkSlice;type=configuration\",\"policyName\":\"configuration.dcae.microservice.kpi-computation\",\"policyVersion\":\"v0.0.1\",\"kpis\":[{\"measType\":\"UpstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.InDataOctN3UPF\"},{\"measType\":\"DownstreamThr\",\"operation\":\"SUM\",\"operands\":\"GTP.OutDataOctN3UPF\"}]}]}'\''\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0+ cm_hasany 'node-instances?deployment_id=ves-tls&state=uninitialized&state=deleted' + cm_hasany 'node-instances?deployment_id=tcagen2&state=uninitialized&state=deleted' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/node-instances?deployment_id=ves-tls&state=uninitialized&state=deleted&_include=id' ++ /bin/jq .metadata.pagination.total ++ ++ /bin/jq .metadata.pagination.total curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/node-instances?deployment_id=tcagen2&state=uninitialized&state=deleted&_include=id' 100 5827 100 124 100 5703 3542 159k --:--:-- --:--:-- --:--:-- 162k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-pgaas-initdb.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-pgaas-initdb.yaml curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + echo deployment ves-tls appears to have had an install workflow executed already or is not ready for an install {"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}deployment ves-tls appears to have had an install workflow executed already or is not ready for an install curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + echo deployment tcagen2 appears to have had an install workflow executed already or is not ready for an install deployment tcagen2 appears to have had an install workflow executed already or is not ready for an install ++ basename /blueprints/k8s-pgaas-initdb.yaml .yaml ++ flatten /blueprints/k8s-pgaas-initdb.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' + cm_hasany 'node-instances?deployment_id=hv-ves&state=uninitialized&state=deleted' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs ++ /bin/jq .metadata.pagination.total --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/node-instances?deployment_id=hv-ves&state=uninitialized&state=deleted&_include=id' ++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# org.onap.dcae\n# =============================================================================\n# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: |-\n This blueprint is used to take control of a postgres server instance for use by cloudify-managed applications.\n This blueprint depends upon the deployment of the pgaas_plugin and an existing postgres server instance.\n This blueprint is part of a suite of three blueprints:\n k8s-pgaas-initdb takes control of the postgres server instance.\n k8s-pgaas-database creates a database, roles and credentials associated with the database.\n k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:relationshipplugin?version=1.1.0\n - plugin:sshkeyshare?version=1.2.0\n - plugin:pgaas?version=1.3.0\n\ninputs:\n blueprint_version:\n type: string\n default: '\''2018-04-27T00:31:38+0000'\''\n\n pgaas_cluster_name:\n type: string\n default: pghelm\n\n k8s_pgaas_instance_fqdn:\n type: string\n\n k8s_initial_password:\n type: string\n default: '\'''\''\n\nnode_templates:\n\n # tie to pgaas_plugin database\n pgaas_cluster:\n type: dcae.nodes.pgaas.cluster\n properties:\n writerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n readerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n initialpassword: { get_input: k8s_initial_password }\n relationships:\n - type: dcae.relationships.pgaas_cluster_uses_sshkeypair\n target: sharedsshkey_pgrs\n\n sharedsshkey_pgrs:\n type: dcaegen2.nodes.ssh.keypair\n\n\noutputs:\n blueprint_version:\n value: { get_input: blueprint_version }\n' ++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# org.onap.dcae\n# =============================================================================\n# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: |-\n This blueprint is used to take control of a postgres server instance for use by cloudify-managed applications.\n This blueprint depends upon the deployment of the pgaas_plugin and an existing postgres server instance.\n This blueprint is part of a suite of three blueprints:\n k8s-pgaas-initdb takes control of the postgres server instance.\n k8s-pgaas-database creates a database, roles and credentials associated with the database.\n k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:relationshipplugin?version=1.1.0\n - plugin:sshkeyshare?version=1.2.0\n - plugin:pgaas?version=1.3.0\n\ninputs:\n blueprint_version:\n type: string\n default: '\''2018-04-27T00:31:38+0000'\''\n\n pgaas_cluster_name:\n type: string\n default: pghelm\n\n k8s_pgaas_instance_fqdn:\n type: string\n\n k8s_initial_password:\n type: string\n default: '\'''\''\n\nnode_templates:\n\n # tie to pgaas_plugin database\n pgaas_cluster:\n type: dcae.nodes.pgaas.cluster\n properties:\n writerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n readerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n initialpassword: { get_input: k8s_initial_password }\n relationships:\n - type: dcae.relationships.pgaas_cluster_uses_sshkeypair\n target: sharedsshkey_pgrs\n\n sharedsshkey_pgrs:\n type: dcaegen2.nodes.ssh.keypair\n\n\noutputs:\n blueprint_version:\n value: { get_input: blueprint_version }\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-pgaas-initdb", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# org.onap.dcae\n# =============================================================================\n# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: |-\n This blueprint is used to take control of a postgres server instance for use by cloudify-managed applications.\n This blueprint depends upon the deployment of the pgaas_plugin and an existing postgres server instance.\n This blueprint is part of a suite of three blueprints:\n k8s-pgaas-initdb takes control of the postgres server instance.\n k8s-pgaas-database creates a database, roles and credentials associated with the database.\n k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:relationshipplugin?version=1.1.0\n - plugin:sshkeyshare?version=1.2.0\n - plugin:pgaas?version=1.3.0\n\ninputs:\n blueprint_version:\n type: string\n default: '\''2018-04-27T00:31:38+0000'\''\n\n pgaas_cluster_name:\n type: string\n default: pghelm\n\n k8s_pgaas_instance_fqdn:\n type: string\n\n k8s_initial_password:\n type: string\n default: '\'''\''\n\nnode_templates:\n\n # tie to pgaas_plugin database\n pgaas_cluster:\n type: dcae.nodes.pgaas.cluster\n properties:\n writerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n readerfqdn: { get_input: k8s_pgaas_instance_fqdn }\n initialpassword: { get_input: k8s_initial_password }\n relationships:\n - type: dcae.relationships.pgaas_cluster_uses_sshkeypair\n target: sharedsshkey_pgrs\n\n sharedsshkey_pgrs:\n type: dcaegen2.nodes.ssh.keypair\n\n\noutputs:\n blueprint_version:\n value: { get_input: blueprint_version }\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0+ cm_hasany 'node-instances?deployment_id=prh&state=uninitialized&state=deleted' ++ curl -Ss -H 'Tenant: default_tenant' --user admin:EMD78qPs --cacert /certs/cacert.pem 'https://dcae-cloudify-manager:443/api/v3.1/node-instances?deployment_id=prh&state=uninitialized&state=deleted&_include=id' ++ /bin/jq .metadata.pagination.total curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + echo deployment hv-ves appears to have had an install workflow executed already or is not ready for an install deployment hv-ves appears to have had an install workflow executed already or is not ready for an install curl: (7) Failed to connect to dcae-cloudify-manager port 443: Connection refused + COUNT= + (( > 0 )) /scripts/bootstrap.sh: line 68: ((: > 0 : syntax error: operand expected (error token is "> 0 ") + return 1 + echo deployment prh appears to have had an install workflow executed already or is not ready for an install deployment prh appears to have had an install workflow executed already or is not ready for an install 100 3037 100 124 100 2913 1907 44815 --:--:-- --:--:-- --:--:-- 46723 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-pm-mapper.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-pm-mapper.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-pm-mapper.yaml .yaml ++ flatten /blueprints/k8s-pm-mapper.yaml +++ tr -d '\n' +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ FLAT='#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2019-2020 Nordix Foundation.\n# Copyright (C) 2020 Nokia\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:dmaap?version=1.5.0\n\ninputs:\n filter:\n type: string\n description: PM Mapper filter on measInfo, measInfoId, measType, instanceId\n default: \"{ \\\"filters\\\":[] }\"\n enable_http:\n type: boolean\n description: Option to turn on HTTP connections\n default: false\n tag_version:\n type: string\n description: Docker image to be used\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.5.2'\''\n replicas:\n type: integer\n description: Number of instances\n default: 1\n feed_name:\n type: string\n default: '\''bulk_pm_feed'\''\n topic_name:\n type: string\n default: '\''PERFORMANCE_MEASUREMENTS'\''\n client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmPublisher'\''\n client_id:\n type: string\n description: Client id for given AAF client\n default: '\''dcae@dcae.onap.org'\''\n client_password:\n type: string\n description: Password for AAF client provided as client_id\n default: '\''demo123456!'\''\n dmaap_dr_username:\n type: string\n description: DMAAP Data Router user name\n default: '\''username'\''\n dmaap_dr_password:\n type: string\n description: DMAAP Data Router password\n default: '\''password'\''\n dcae_location:\n type: string\n description: DCAE location for the subscriber, used to set up routing\n default: '\''san-francisco'\''\n pm_mapper_service_protocol:\n type: string\n description: PM Mapper protocol\n default: '\''https'\''\n pm_mapper_service_port:\n type: string\n description: PM Mapper host port\n default: '\''8443'\''\n dmaap_dr_service_host:\n type: string\n description: DMAAP Data Router host address\n default: '\''dmaap-dr-node'\''\n dmaap_dr_service_port:\n type: string\n description: DMAAP Data Router host port\n default: '\''8443'\''\n dmaap_mr_service_protocol:\n type: string\n description: DMAAP Message Router protocol\n default: '\''https'\''\n dmaap_mr_service_host:\n type: string\n description: DMAAP Message Router host address\n default: '\''message-router'\''\n dmaap_mr_service_port:\n type: string\n description: DMAAP Message Router host port\n default: '\''3905'\''\n cpu_limit:\n type: string\n default: '\''1000m'\''\n cpu_request:\n type: string\n default: '\''1000m'\''\n memory_limit:\n type: string\n default: '\''1024Mi'\''\n memory_request:\n type: string\n default: '\''1024Mi'\''\n\nnode_templates:\n pm-feed:\n type: dcaegen2.nodes.Feed\n properties:\n feed_name: { get_input: feed_name }\n useExisting: true\n\n pm-topic:\n type: dcaegen2.nodes.Topic\n properties:\n topic_name: { get_input: topic_name }\n\n pm-mapper:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n create:\n inputs:\n ports:\n - '\''8443:0'\''\n - '\''8081:0'\''\n\n relationships:\n - type: dcaegen2.relationships.subscribe_to_files\n target: pm-feed\n - type: dcaegen2.relationships.publish_events\n target: pm-topic\n\n properties:\n service_component_type: '\''dcae-pm-mapper'\''\n service_component_name_override: '\''dcae-pm-mapper'\''\n application_config:\n trust_store_path: '\''/opt/app/pm-mapper/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/trust.pass'\''\n key_store_path: '\''/opt/app/pm-mapper/etc/cert/cert.jks'\''\n key_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/jks.pass'\''\n pm-mapper-filter: { get_input: filter }\n enable_http: { get_input: enable_http }\n dmaap_dr_delete_endpoint: { concat: ['\''https://'\'',{ get_input: dmaap_dr_service_host },'\'':'\'',{ get_input: dmaap_dr_service_port },'\''/delete'\''] }\n aaf_identity: { get_input: client_id }\n aaf_password: { get_input: client_password }\n streams_subscribes:\n dmaap_subscriber:\n type: data_router\n dmaap_info: <>\n streams_publishes:\n dmaap_publisher:\n type: message_router\n dmaap_info: <>\n resource_config:\n limits:\n cpu: { get_input: cpu_limit }\n memory: { get_input: memory_limit }\n requests:\n cpu: { get_input: cpu_request }\n memory: { get_input: memory_request }\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: https\n streams_publishes:\n - name: pm-topic\n location: { get_input: dcae_location }\n client_role: { get_input: client_role }\n type: message-router\n streams_subscribes:\n - name: pm-feed\n location: { get_input: dcae_location }\n client_role: { get_input: client_role }\n username: { get_input: dmaap_dr_username }\n password: { get_input: dmaap_dr_password }\n scheme: { get_input: pm_mapper_service_protocol }\n route: delivery\n delivery_url: '\'''\''\n privileged: true\n decompress: true\n type: data_router\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcaegen2/services/pm-mapper'\''\n tls_info:\n cert_directory: '\''/opt/app/pm-mapper/etc/cert/'\''\n use_tls: true\n' ++ echo '#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2019-2020 Nordix Foundation.\n# Copyright (C) 2020 Nokia\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:dmaap?version=1.5.0\n\ninputs:\n filter:\n type: string\n description: PM Mapper filter on measInfo, measInfoId, measType, instanceId\n default: \"{ \\\"filters\\\":[] }\"\n enable_http:\n type: boolean\n description: Option to turn on HTTP connections\n default: false\n tag_version:\n type: string\n description: Docker image to be used\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.5.2'\''\n replicas:\n type: integer\n description: Number of instances\n default: 1\n feed_name:\n type: string\n default: '\''bulk_pm_feed'\''\n topic_name:\n type: string\n default: '\''PERFORMANCE_MEASUREMENTS'\''\n client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmPublisher'\''\n client_id:\n type: string\n description: Client id for given AAF client\n default: '\''dcae@dcae.onap.org'\''\n client_password:\n type: string\n description: Password for AAF client provided as client_id\n default: '\''demo123456!'\''\n dmaap_dr_username:\n type: string\n description: DMAAP Data Router user name\n default: '\''username'\''\n dmaap_dr_password:\n type: string\n description: DMAAP Data Router password\n default: '\''password'\''\n dcae_location:\n type: string\n description: DCAE location for the subscriber, used to set up routing\n default: '\''san-francisco'\''\n pm_mapper_service_protocol:\n type: string\n description: PM Mapper protocol\n default: '\''https'\''\n pm_mapper_service_port:\n type: string\n description: PM Mapper host port\n default: '\''8443'\''\n dmaap_dr_service_host:\n type: string\n description: DMAAP Data Router host address\n default: '\''dmaap-dr-node'\''\n dmaap_dr_service_port:\n type: string\n description: DMAAP Data Router host port\n default: '\''8443'\''\n dmaap_mr_service_protocol:\n type: string\n description: DMAAP Message Router protocol\n default: '\''https'\''\n dmaap_mr_service_host:\n type: string\n description: DMAAP Message Router host address\n default: '\''message-router'\''\n dmaap_mr_service_port:\n type: string\n description: DMAAP Message Router host port\n default: '\''3905'\''\n cpu_limit:\n type: string\n default: '\''1000m'\''\n cpu_request:\n type: string\n default: '\''1000m'\''\n memory_limit:\n type: string\n default: '\''1024Mi'\''\n memory_request:\n type: string\n default: '\''1024Mi'\''\n\nnode_templates:\n pm-feed:\n type: dcaegen2.nodes.Feed\n properties:\n feed_name: { get_input: feed_name }\n useExisting: true\n\n pm-topic:\n type: dcaegen2.nodes.Topic\n properties:\n topic_name: { get_input: topic_name }\n\n pm-mapper:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n create:\n inputs:\n ports:\n - '\''8443:0'\''\n - '\''8081:0'\''\n\n relationships:\n - type: dcaegen2.relationships.subscribe_to_files\n target: pm-feed\n - type: dcaegen2.relationships.publish_events\n target: pm-topic\n\n properties:\n service_component_type: '\''dcae-pm-mapper'\''\n service_component_name_override: '\''dcae-pm-mapper'\''\n application_config:\n trust_store_path: '\''/opt/app/pm-mapper/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/trust.pass'\''\n key_store_path: '\''/opt/app/pm-mapper/etc/cert/cert.jks'\''\n key_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/jks.pass'\''\n pm-mapper-filter: { get_input: filter }\n enable_http: { get_input: enable_http }\n dmaap_dr_delete_endpoint: { concat: ['\''https://'\'',{ get_input: dmaap_dr_service_host },'\'':'\'',{ get_input: dmaap_dr_service_port },'\''/delete'\''] }\n aaf_identity: { get_input: client_id }\n aaf_password: { get_input: client_password }\n streams_subscribes:\n dmaap_subscriber:\n type: data_router\n dmaap_info: <>\n streams_publishes:\n dmaap_publisher:\n type: message_router\n dmaap_info: <>\n resource_config:\n limits:\n cpu: { get_input: cpu_limit }\n memory: { get_input: memory_limit }\n requests:\n cpu: { get_input: cpu_request }\n memory: { get_input: memory_request }\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: https\n streams_publishes:\n - name: pm-topic\n location: { get_input: dcae_location }\n client_role: { get_input: client_role }\n type: message-router\n streams_subscribes:\n - name: pm-feed\n location: { get_input: dcae_location }\n client_role: { get_input: client_role }\n username: { get_input: dmaap_dr_username }\n password: { get_input: dmaap_dr_password }\n scheme: { get_input: pm_mapper_service_protocol }\n route: delivery\n delivery_url: '\'''\''\n privileged: true\n decompress: true\n type: data_router\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcaegen2/services/pm-mapper'\''\n tls_info:\n cert_directory: '\''/opt/app/pm-mapper/etc/cert/'\''\n use_tls: true\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-pm-mapper", "component": "dcae", "application": "DCAE", "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2019-2020 Nordix Foundation.\n# Copyright (C) 2020 Nokia\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:dmaap?version=1.5.0\n\ninputs:\n filter:\n type: string\n description: PM Mapper filter on measInfo, measInfoId, measType, instanceId\n default: \"{ \\\"filters\\\":[] }\"\n enable_http:\n type: boolean\n description: Option to turn on HTTP connections\n default: false\n tag_version:\n type: string\n description: Docker image to be used\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.5.2'\''\n replicas:\n type: integer\n description: Number of instances\n default: 1\n feed_name:\n type: string\n default: '\''bulk_pm_feed'\''\n topic_name:\n type: string\n default: '\''PERFORMANCE_MEASUREMENTS'\''\n client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmPublisher'\''\n client_id:\n type: string\n description: Client id for given AAF client\n default: '\''dcae@dcae.onap.org'\''\n client_password:\n type: string\n description: Password for AAF client provided as client_id\n default: '\''demo123456!'\''\n dmaap_dr_username:\n type: string\n description: DMAAP Data Router user name\n default: '\''username'\''\n dmaap_dr_password:\n type: string\n description: DMAAP Data Router password\n default: '\''password'\''\n dcae_location:\n type: string\n description: DCAE location for the subscriber, used to set up routing\n default: '\''san-francisco'\''\n pm_mapper_service_protocol:\n type: string\n description: PM Mapper protocol\n default: '\''https'\''\n pm_mapper_service_port:\n type: string\n description: PM Mapper host port\n default: '\''8443'\''\n dmaap_dr_service_host:\n type: string\n description: DMAAP Data Router host address\n default: '\''dmaap-dr-node'\''\n dmaap_dr_service_port:\n type: string\n description: DMAAP Data Router host port\n default: '\''8443'\''\n dmaap_mr_service_protocol:\n type: string\n description: DMAAP Message Router protocol\n default: '\''https'\''\n dmaap_mr_service_host:\n type: string\n description: DMAAP Message Router host address\n default: '\''message-router'\''\n dmaap_mr_service_port:\n type: string\n description: DMAAP Message Router host port\n default: '\''3905'\''\n cpu_limit:\n type: string\n default: '\''1000m'\''\n cpu_request:\n type: string\n default: '\''1000m'\''\n memory_limit:\n type: string\n default: '\''1024Mi'\''\n memory_request:\n type: string\n default: '\''1024Mi'\''\n\nnode_templates:\n pm-feed:\n type: dcaegen2.nodes.Feed\n properties:\n feed_name: { get_input: feed_name }\n useExisting: true\n\n pm-topic:\n type: dcaegen2.nodes.Topic\n properties:\n topic_name: { get_input: topic_name }\n\n pm-mapper:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n create:\n inputs:\n ports:\n - '\''8443:0'\''\n - '\''8081:0'\''\n\n relationships:\n - type: dcaegen2.relationships.subscribe_to_files\n target: pm-feed\n - type: dcaegen2.relationships.publish_events\n target: pm-topic\n\n properties:\n service_component_type: '\''dcae-pm-mapper'\''\n service_component_name_override: '\''dcae-pm-mapper'\''\n application_config:\n trust_store_path: '\''/opt/app/pm-mapper/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/trust.pass'\''\n key_store_path: '\''/opt/app/pm-mapper/etc/cert/cert.jks'\''\n key_store_pass_path: '\''/opt/app/pm-mapper/etc/cert/jks.pass'\''\n pm-mapper-filter: { get_input: filter }\n enable_http: { get_input: enable_http }\n dmaap_dr_delete_endpoint: { concat: ['\''https://'\'',{ get_input: dmaap_dr_service_host },'\'':'\'',{ get_input: dmaap_dr_service_port },'\''/delete'\''] }\n aaf_identity: { get_input: client_id }\n aaf_password: { get_input: client_password }\n streams_subscribes:\n dmaap_subscriber:\n type: data_router\n dmaap_info: <>\n streams_publishes:\n dmaap_publisher:\n type: message_router\n dmaap_info: <>\n resource_config:\n limits:\n cpu: { get_input: cpu_limit }\n memory: { get_input: memory_limit }\n requests:\n cpu: { get_input: cpu_request }\n memory: { get_input: memory_request }\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: https\n streams_publishes:\n - name: pm-topic\n location: { get_input: dcae_location }\n client_role: { get_input: client_role }\n type: message-router\n streams_subscribes:\n - name: pm-feed\n location: { get_input: dcae_location }\n client_role: { get_input: client_role }\n username: { get_input: dmaap_dr_username }\n password: { get_input: dmaap_dr_password }\n scheme: { get_input: pm_mapper_service_protocol }\n route: delivery\n delivery_url: '\'''\''\n privileged: true\n decompress: true\n type: data_router\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcaegen2/services/pm-mapper'\''\n tls_info:\n cert_directory: '\''/opt/app/pm-mapper/etc/cert/'\''\n use_tls: true\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 6886 100 124 100 6762 3351 178k --:--:-- --:--:-- --:--:-- 186k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-pmsh.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-pmsh.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-pmsh.yaml .yaml ++ flatten /blueprints/k8s-pmsh.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2020 Nordix Foundation.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\ninputs:\n tag_version:\n type: string\n description: Docker image to be used\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.1.2'\''\n replicas:\n type: integer\n description: Number of instances\n default: 1\n operational_policy_name:\n type: string\n default: '\''pmsh-operational-policy'\''\n control_loop_name:\n type: string\n default: '\''pmsh-control-loop'\''\n pmsh_publish_topic_name:\n type: string\n default: '\''unauthenticated.DCAE_CL_OUTPUT'\''\n policy_feedback_topic_name:\n type: string\n default: '\''unauthenticated.PMSH_CL_INPUT'\''\n aai_notification_topic_name:\n type: string\n default: '\''AAI-EVENT'\''\n publisher_client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmPublisher'\''\n subscriber_client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmSubscriber'\''\n dcae_location:\n type: string\n description: DCAE location for the subscriber, used to set up routing\n default: '\''san-francisco'\''\n cpu_limit:\n type: string\n default: '\''1000m'\''\n cpu_request:\n type: string\n default: '\''1000m'\''\n memory_limit:\n type: string\n default: '\''1024Mi'\''\n memory_request:\n type: string\n default: '\''1024Mi'\''\n pgaas_cluster_name:\n type: string\n default: '\''dcae-pg-primary.onap'\''\n enable_tls:\n type: boolean\n default: true\n protocol:\n type: string\n description: PMSH protocol. If enable_tls is false, set to http\n default: '\''https'\''\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: '\''pmsh'\''\n pmsh:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n create:\n inputs:\n ports:\n - '\''8443:0'\''\n envs:\n PMSH_PG_URL:\n { get_attribute: [ pgaasvm, admin, host ] }\n PMSH_PG_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n PMSH_PG_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n PMSH_DB_NAME:\n { get_attribute: [ pgaasvm, admin, database ] }\n\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n\n properties:\n service_component_type: '\''dcae-pmsh'\''\n service_component_name_override: '\''dcae-pmsh'\''\n application_config:\n enable_tls: { get_input: enable_tls }\n aaf_identity: '\''dcae@dcae.onap.org'\''\n aaf_password: '\''demo123456!'\''\n operational_policy_name: { get_input: operational_policy_name }\n control_loop_name: { get_input: control_loop_name }\n cert_path: '\''/opt/app/pmsh/etc/certs/cert.pem'\''\n key_path: '\''/opt/app/pmsh/etc/certs/key.pem'\''\n ca_cert_path: '\''/opt/app/pmsh/etc/certs/cacert.pem'\''\n streams_publishes:\n policy_pm_publisher:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: pmsh_publish_topic_name }]}\n streams_subscribes:\n policy_pm_subscriber:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: policy_feedback_topic_name }]}\n aai_subscriber:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: aai_notification_topic_name }]}\n resource_config:\n limits:\n cpu: { get_input: cpu_limit }\n memory: { get_input: memory_limit }\n requests:\n cpu: { get_input: cpu_request }\n memory: { get_input: memory_request }\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: { get_input: protocol }\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcaegen2/services/pmsh'\''\n tls_info:\n cert_directory: '\''/opt/app/pmsh/etc/certs'\''\n use_tls: { get_input: enable_tls }\n' ++ echo '#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2020 Nordix Foundation.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\ninputs:\n tag_version:\n type: string\n description: Docker image to be used\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.1.2'\''\n replicas:\n type: integer\n description: Number of instances\n default: 1\n operational_policy_name:\n type: string\n default: '\''pmsh-operational-policy'\''\n control_loop_name:\n type: string\n default: '\''pmsh-control-loop'\''\n pmsh_publish_topic_name:\n type: string\n default: '\''unauthenticated.DCAE_CL_OUTPUT'\''\n policy_feedback_topic_name:\n type: string\n default: '\''unauthenticated.PMSH_CL_INPUT'\''\n aai_notification_topic_name:\n type: string\n default: '\''AAI-EVENT'\''\n publisher_client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmPublisher'\''\n subscriber_client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmSubscriber'\''\n dcae_location:\n type: string\n description: DCAE location for the subscriber, used to set up routing\n default: '\''san-francisco'\''\n cpu_limit:\n type: string\n default: '\''1000m'\''\n cpu_request:\n type: string\n default: '\''1000m'\''\n memory_limit:\n type: string\n default: '\''1024Mi'\''\n memory_request:\n type: string\n default: '\''1024Mi'\''\n pgaas_cluster_name:\n type: string\n default: '\''dcae-pg-primary.onap'\''\n enable_tls:\n type: boolean\n default: true\n protocol:\n type: string\n description: PMSH protocol. If enable_tls is false, set to http\n default: '\''https'\''\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: '\''pmsh'\''\n pmsh:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n create:\n inputs:\n ports:\n - '\''8443:0'\''\n envs:\n PMSH_PG_URL:\n { get_attribute: [ pgaasvm, admin, host ] }\n PMSH_PG_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n PMSH_PG_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n PMSH_DB_NAME:\n { get_attribute: [ pgaasvm, admin, database ] }\n\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n\n properties:\n service_component_type: '\''dcae-pmsh'\''\n service_component_name_override: '\''dcae-pmsh'\''\n application_config:\n enable_tls: { get_input: enable_tls }\n aaf_identity: '\''dcae@dcae.onap.org'\''\n aaf_password: '\''demo123456!'\''\n operational_policy_name: { get_input: operational_policy_name }\n control_loop_name: { get_input: control_loop_name }\n cert_path: '\''/opt/app/pmsh/etc/certs/cert.pem'\''\n key_path: '\''/opt/app/pmsh/etc/certs/key.pem'\''\n ca_cert_path: '\''/opt/app/pmsh/etc/certs/cacert.pem'\''\n streams_publishes:\n policy_pm_publisher:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: pmsh_publish_topic_name }]}\n streams_subscribes:\n policy_pm_subscriber:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: policy_feedback_topic_name }]}\n aai_subscriber:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: aai_notification_topic_name }]}\n resource_config:\n limits:\n cpu: { get_input: cpu_limit }\n memory: { get_input: memory_limit }\n requests:\n cpu: { get_input: cpu_request }\n memory: { get_input: memory_request }\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: { get_input: protocol }\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcaegen2/services/pmsh'\''\n tls_info:\n cert_directory: '\''/opt/app/pmsh/etc/certs'\''\n use_tls: { get_input: enable_tls }\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-pmsh", "component": "dcae", "application": "DCAE", "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2020 Nordix Foundation.\n# ================================================================================\n# Licensed under the Apache License, Version 2.0 (the '\''License'\'');\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an '\''AS IS'\'' BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - '\''http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'\''\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\ninputs:\n tag_version:\n type: string\n description: Docker image to be used\n default: '\''nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.1.2'\''\n replicas:\n type: integer\n description: Number of instances\n default: 1\n operational_policy_name:\n type: string\n default: '\''pmsh-operational-policy'\''\n control_loop_name:\n type: string\n default: '\''pmsh-control-loop'\''\n pmsh_publish_topic_name:\n type: string\n default: '\''unauthenticated.DCAE_CL_OUTPUT'\''\n policy_feedback_topic_name:\n type: string\n default: '\''unauthenticated.PMSH_CL_INPUT'\''\n aai_notification_topic_name:\n type: string\n default: '\''AAI-EVENT'\''\n publisher_client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmPublisher'\''\n subscriber_client_role:\n type: string\n description: Client role to request secure access to topic\n default: '\''org.onap.dcae.pmSubscriber'\''\n dcae_location:\n type: string\n description: DCAE location for the subscriber, used to set up routing\n default: '\''san-francisco'\''\n cpu_limit:\n type: string\n default: '\''1000m'\''\n cpu_request:\n type: string\n default: '\''1000m'\''\n memory_limit:\n type: string\n default: '\''1024Mi'\''\n memory_request:\n type: string\n default: '\''1024Mi'\''\n pgaas_cluster_name:\n type: string\n default: '\''dcae-pg-primary.onap'\''\n enable_tls:\n type: boolean\n default: true\n protocol:\n type: string\n description: PMSH protocol. If enable_tls is false, set to http\n default: '\''https'\''\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: '\''pmsh'\''\n pmsh:\n type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n interfaces:\n cloudify.interfaces.lifecycle:\n create:\n inputs:\n ports:\n - '\''8443:0'\''\n envs:\n PMSH_PG_URL:\n { get_attribute: [ pgaasvm, admin, host ] }\n PMSH_PG_PASSWORD:\n { get_attribute: [ pgaasvm, admin, password ] }\n PMSH_PG_USERNAME:\n { get_attribute: [ pgaasvm, admin, user ] }\n PMSH_DB_NAME:\n { get_attribute: [ pgaasvm, admin, database ] }\n\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n\n properties:\n service_component_type: '\''dcae-pmsh'\''\n service_component_name_override: '\''dcae-pmsh'\''\n application_config:\n enable_tls: { get_input: enable_tls }\n aaf_identity: '\''dcae@dcae.onap.org'\''\n aaf_password: '\''demo123456!'\''\n operational_policy_name: { get_input: operational_policy_name }\n control_loop_name: { get_input: control_loop_name }\n cert_path: '\''/opt/app/pmsh/etc/certs/cert.pem'\''\n key_path: '\''/opt/app/pmsh/etc/certs/key.pem'\''\n ca_cert_path: '\''/opt/app/pmsh/etc/certs/cacert.pem'\''\n streams_publishes:\n policy_pm_publisher:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: pmsh_publish_topic_name }]}\n streams_subscribes:\n policy_pm_subscriber:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: policy_feedback_topic_name }]}\n aai_subscriber:\n type: message_router\n dmaap_info:\n topic_url: {concat: [\"https://message-router:3905/events/\", { get_input: aai_notification_topic_name }]}\n resource_config:\n limits:\n cpu: { get_input: cpu_limit }\n memory: { get_input: memory_limit }\n requests:\n cpu: { get_input: cpu_request }\n memory: { get_input: memory_request }\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: { get_input: protocol }\n image: { get_input: tag_version }\n replicas: { get_input: replicas }\n log_info:\n log_directory: '\''/var/log/ONAP/dcaegen2/services/pmsh'\''\n tls_info:\n cert_directory: '\''/opt/app/pmsh/etc/certs'\''\n use_tls: { get_input: enable_tls }\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 5801 100 124 100 5677 2137 97879 --:--:-- --:--:-- --:--:-- 98322 100 5801 100 124 100 5677 2137 97879 --:--:-- --:--:-- --:--:-- 98322 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-prh.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-prh.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-prh.yaml .yaml ++ flatten /blueprints/k8s-prh.yaml +++ tr -d '\n' +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T\n# Copyright (c) 2018-2020 NOKIA\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n pnfUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v12/network/pnfs/pnf\"\n baseUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v12\"\n aaiEnrichmentHost:\n type: string\n default: \"aai.onap.svc.cluster.local\"\n aaiEnrichmentPort:\n type: integer\n default: 8443\n aaiEnrichmentUser:\n type: string\n description: aai user name\n default: \"AAI\"\n aaiEnrichmentPasswd:\n type: string\n description: aai password\n default: \"AAI\"\n dmaap_pnfReady_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY\"\n dmaap_vesPnfRegOutput_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n dmaap_pnfUpdate_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE\"\n dmaap_user:\n type: string\n description: dmap user name\n default: \"admin\"\n dmaap_passwd:\n type: string\n description: dmap password\n default: \"admin\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.5\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n description: port on Kubernetes host where PRH API will be exposed\n default: 0\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 8100\n service_component_type:\n type: string\n default: \"dcae-prh\"\n service_id:\n type: string\n default: \"dcae-prh\"\n secureEnableCert:\n type: boolean\n description: enable certificate base connection with AAI and DMaap\n default: false\n service_component_name_override:\n type: string\n default: \"dcae-prh\"\nnode_templates:\n prh:\n properties:\n application_config:\n dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapConsumerConfiguration.dmaapContentType: \"application/json\"\n dmaap.dmaapConsumerConfiguration.consumerId: \"c12\"\n dmaap.dmaapConsumerConfiguration.consumerGroup: \"OpenDCAE-c12\"\n dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapProducerConfiguration.dmaapContentType: \"application/json\"\n dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: \"application/json\"\n aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }\n aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }\n aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }\n aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }\n aai.aaiClientConfiguration.aaiProtocol: \"https\"\n aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }\n aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }\n aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true\n aai.aaiClientConfiguration.aaiBasePath: \"/aai/v12\"\n aai.aaiClientConfiguration.aaiPnfPath: \"/network/pnfs/pnf\"\n aai.aaiClientConfiguration.aaiServiceInstancePath: \"/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}\"\n aai.aaiClientConfiguration.aaiHeaders:\n X-FromAppId: \"prh\"\n X-TransactionId: \"9999\"\n Accept: \"application/json\"\n Real-Time: \"true\"\n Authorization: \"Basic QUFJOkFBSQ==\"\n security.trustStorePath: \"/opt/app/prh/etc/cert/trust.jks\"\n security.trustStorePasswordPath: \"/opt/app/prh/etc/cert/trust.pass\"\n security.keyStorePath: \"/opt/app/prh/etc/cert/cert.jks\"\n security.keyStorePasswordPath: \"/opt/app/prh/etc/cert/jks.pass\"\n security.enableAaiCertAuth: { get_input: secureEnableCert }\n security.enableDmaapCertAuth: { get_input: secureEnableCert }\n streams_publishes:\n pnf-update:\n type: \"message_router\"\n dmaap_info:\n topic_url: {get_input: dmaap_pnfUpdate_url }\n pnf-ready:\n type: \"message_router\"\n dmaap_info:\n topic_url: { get_input: dmaap_pnfReady_url }\n streams_subscribes:\n ves-reg-output:\n type: \"message_router\"\n dmaap_info:\n topic_url: { get_input: dmaap_vesPnfRegOutput_url }\n docker_config:\n healthcheck:\n endpoint: /heartbeat\n interval: 15s\n timeout: 1s\n type: http\n ports:\n - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n image:\n { get_input: tag_version }\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: \"/opt/app/prh/logs\"\n tls_info:\n cert_directory: '\''/opt/app/prh/etc/cert'\''\n use_tls: true\n type: dcae.nodes.ContainerizedServiceComponent\n\n' ++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T\n# Copyright (c) 2018-2020 NOKIA\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n pnfUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v12/network/pnfs/pnf\"\n baseUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v12\"\n aaiEnrichmentHost:\n type: string\n default: \"aai.onap.svc.cluster.local\"\n aaiEnrichmentPort:\n type: integer\n default: 8443\n aaiEnrichmentUser:\n type: string\n description: aai user name\n default: \"AAI\"\n aaiEnrichmentPasswd:\n type: string\n description: aai password\n default: \"AAI\"\n dmaap_pnfReady_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY\"\n dmaap_vesPnfRegOutput_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n dmaap_pnfUpdate_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE\"\n dmaap_user:\n type: string\n description: dmap user name\n default: \"admin\"\n dmaap_passwd:\n type: string\n description: dmap password\n default: \"admin\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.5\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n description: port on Kubernetes host where PRH API will be exposed\n default: 0\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 8100\n service_component_type:\n type: string\n default: \"dcae-prh\"\n service_id:\n type: string\n default: \"dcae-prh\"\n secureEnableCert:\n type: boolean\n description: enable certificate base connection with AAI and DMaap\n default: false\n service_component_name_override:\n type: string\n default: \"dcae-prh\"\nnode_templates:\n prh:\n properties:\n application_config:\n dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapConsumerConfiguration.dmaapContentType: \"application/json\"\n dmaap.dmaapConsumerConfiguration.consumerId: \"c12\"\n dmaap.dmaapConsumerConfiguration.consumerGroup: \"OpenDCAE-c12\"\n dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapProducerConfiguration.dmaapContentType: \"application/json\"\n dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: \"application/json\"\n aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }\n aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }\n aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }\n aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }\n aai.aaiClientConfiguration.aaiProtocol: \"https\"\n aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }\n aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }\n aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true\n aai.aaiClientConfiguration.aaiBasePath: \"/aai/v12\"\n aai.aaiClientConfiguration.aaiPnfPath: \"/network/pnfs/pnf\"\n aai.aaiClientConfiguration.aaiServiceInstancePath: \"/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}\"\n aai.aaiClientConfiguration.aaiHeaders:\n X-FromAppId: \"prh\"\n X-TransactionId: \"9999\"\n Accept: \"application/json\"\n Real-Time: \"true\"\n Authorization: \"Basic QUFJOkFBSQ==\"\n security.trustStorePath: \"/opt/app/prh/etc/cert/trust.jks\"\n security.trustStorePasswordPath: \"/opt/app/prh/etc/cert/trust.pass\"\n security.keyStorePath: \"/opt/app/prh/etc/cert/cert.jks\"\n security.keyStorePasswordPath: \"/opt/app/prh/etc/cert/jks.pass\"\n security.enableAaiCertAuth: { get_input: secureEnableCert }\n security.enableDmaapCertAuth: { get_input: secureEnableCert }\n streams_publishes:\n pnf-update:\n type: \"message_router\"\n dmaap_info:\n topic_url: {get_input: dmaap_pnfUpdate_url }\n pnf-ready:\n type: \"message_router\"\n dmaap_info:\n topic_url: { get_input: dmaap_pnfReady_url }\n streams_subscribes:\n ves-reg-output:\n type: \"message_router\"\n dmaap_info:\n topic_url: { get_input: dmaap_vesPnfRegOutput_url }\n docker_config:\n healthcheck:\n endpoint: /heartbeat\n interval: 15s\n timeout: 1s\n type: http\n ports:\n - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n image:\n { get_input: tag_version }\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: \"/opt/app/prh/logs\"\n tls_info:\n cert_directory: '\''/opt/app/prh/etc/cert'\''\n use_tls: true\n type: dcae.nodes.ContainerizedServiceComponent\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-prh", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T\n# Copyright (c) 2018-2020 NOKIA\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n pnfUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v12/network/pnfs/pnf\"\n baseUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v12\"\n aaiEnrichmentHost:\n type: string\n default: \"aai.onap.svc.cluster.local\"\n aaiEnrichmentPort:\n type: integer\n default: 8443\n aaiEnrichmentUser:\n type: string\n description: aai user name\n default: \"AAI\"\n aaiEnrichmentPasswd:\n type: string\n description: aai password\n default: \"AAI\"\n dmaap_pnfReady_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY\"\n dmaap_vesPnfRegOutput_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n dmaap_pnfUpdate_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE\"\n dmaap_user:\n type: string\n description: dmap user name\n default: \"admin\"\n dmaap_passwd:\n type: string\n description: dmap password\n default: \"admin\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.5\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n host_port:\n description: port on Kubernetes host where PRH API will be exposed\n default: 0\n container_port:\n type: integer\n description: Network port that the platform service exposes in the container\n default: 8100\n service_component_type:\n type: string\n default: \"dcae-prh\"\n service_id:\n type: string\n default: \"dcae-prh\"\n secureEnableCert:\n type: boolean\n description: enable certificate base connection with AAI and DMaap\n default: false\n service_component_name_override:\n type: string\n default: \"dcae-prh\"\nnode_templates:\n prh:\n properties:\n application_config:\n dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapConsumerConfiguration.dmaapContentType: \"application/json\"\n dmaap.dmaapConsumerConfiguration.consumerId: \"c12\"\n dmaap.dmaapConsumerConfiguration.consumerGroup: \"OpenDCAE-c12\"\n dmaap.dmaapConsumerConfiguration.timeoutMs: -1\n dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapProducerConfiguration.dmaapContentType: \"application/json\"\n dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }\n dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }\n dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: \"application/json\"\n aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }\n aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }\n aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }\n aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }\n aai.aaiClientConfiguration.aaiProtocol: \"https\"\n aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }\n aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }\n aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true\n aai.aaiClientConfiguration.aaiBasePath: \"/aai/v12\"\n aai.aaiClientConfiguration.aaiPnfPath: \"/network/pnfs/pnf\"\n aai.aaiClientConfiguration.aaiServiceInstancePath: \"/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}\"\n aai.aaiClientConfiguration.aaiHeaders:\n X-FromAppId: \"prh\"\n X-TransactionId: \"9999\"\n Accept: \"application/json\"\n Real-Time: \"true\"\n Authorization: \"Basic QUFJOkFBSQ==\"\n security.trustStorePath: \"/opt/app/prh/etc/cert/trust.jks\"\n security.trustStorePasswordPath: \"/opt/app/prh/etc/cert/trust.pass\"\n security.keyStorePath: \"/opt/app/prh/etc/cert/cert.jks\"\n security.keyStorePasswordPath: \"/opt/app/prh/etc/cert/jks.pass\"\n security.enableAaiCertAuth: { get_input: secureEnableCert }\n security.enableDmaapCertAuth: { get_input: secureEnableCert }\n streams_publishes:\n pnf-update:\n type: \"message_router\"\n dmaap_info:\n topic_url: {get_input: dmaap_pnfUpdate_url }\n pnf-ready:\n type: \"message_router\"\n dmaap_info:\n topic_url: { get_input: dmaap_pnfReady_url }\n streams_subscribes:\n ves-reg-output:\n type: \"message_router\"\n dmaap_info:\n topic_url: { get_input: dmaap_vesPnfRegOutput_url }\n docker_config:\n healthcheck:\n endpoint: /heartbeat\n interval: 15s\n timeout: 1s\n type: http\n ports:\n - { concat: [ { get_input: container_port }, '\'':'\'', { get_input: host_port } ] }\n image:\n { get_input: tag_version }\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: \"/opt/app/prh/logs\"\n tls_info:\n cert_directory: '\''/opt/app/prh/etc/cert'\''\n use_tls: true\n type: dcae.nodes.ContainerizedServiceComponent\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 7405 100 124 100 7281 3179 182k --:--:-- --:--:-- --:--:-- 190k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-restconf.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-restconf.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-restconf.yaml .yaml ++ flatten /blueprints/k8s-restconf.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2019 Huawei. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n This blueprint deploys/manages the RestConf Collector module as a Docker container\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n dmaap_host:\n type: string\n default: \"message-router.onap.svc.cluster.local\"\n dmaap_port:\n type: string\n default: \"3904\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.4\"\n consul_host:\n type: string\n default: \"consul-server.onap.svc.cluster.local\"\n consul_port:\n type: string\n default: \"8500\"\n cbs_host:\n type: string\n default: \"config-binding-service.dcae.svc.cluster.local\"\n cbs_port:\n type: string\n default: \"10000\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30416\"\n notification_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n service_component_type:\n type: string\n default: \"dcae-restconf-collector\"\n service_id:\n type: string\n default: \"dcae-restconf-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-restconf-collector\"\n\nnode_templates:\n rcc_k8s:\n type: dcae.nodes.ContainerizedServiceComponent\n properties:\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory: \"/opt/app/RCCollector/logs\"\n application_config:\n collector.rcc.appDescription: DCAE RestConf Collector Application\n collector.rcc.appName: \"dcae-rcc\"\n collector.rcc.dmaap.streamid: \"notification=device-registration\"\n collector.rcc.inputQueue.maxPending: \"8096\"\n tomcat.maxthreads: \"200\"\n collector.rcc.service.port: \"8080\"\n collector.rcc.service.secure.port: \"8687\"\n collector.rcc.keystore.file.location: \"/opt/app/restconfcollector/etc/keystore\"\n collector.rcc.keystore.passwordfile: \"/opt/app/restconfcollector/etc/rcc_passwordfile\"\n collector.rcc.keystore.alias: \"dynamically generated\"\n collector.rcc.truststore.file.location: \"/opt/app/restconfcollector/etc/truststore.onap.client.jks\"\n collector.rcc.truststore.passwordfile: \"/opt/app/restconfcollector/etc/trustpasswordfile\"\n collector.keystore.file.location: \"/opt/app/restconfcollector/etc/sdnc.p12\"\n collector.keystore.passwordfile: \"/opt/app/restconfcollector/etc/passwordfile\"\n collector.header.authflag: \"0\"\n collector.header.authlist: \"sample1,c2FtcGxlMQ==\"\n collector.rcc.service.secure.clientauth: \"0\"\n streams_publishes:\n device-registration:\n dmaap_info:\n topic_url:\n get_input: notification_publish_url\n type: message_router\n rcc_policy: '\''[{\"controller_name\":\"AccessM&C\",\"controller_restapiUrl\":\"172.30.0.55:26335\",\"controller_restapiUser\":\"access\",\"controller_restapiPassword\":\"Huawei@123\",\"controller_accessTokenUrl\":\"/rest/plat/smapp/v1/oauth/token\",\"controller_accessTokenFile\":\"./etc/access-token.json\",\"controller_accessTokenMethod\":\"put\",\"controller_subsMethod\":\"post\",\"controller_subscriptionUrl\":\"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription\",\"controller_disableSsl\":\"true\",\"event_details\":[{\"event_name\":\"ONT_registration\",\"event_description\":\"ONTregistartionevent\",\"event_sseventUrlEmbed\":\"true\",\"event_sseventsField\":\"output.url\",\"event_sseventsUrl\":\"null\",\"event_subscriptionTemplate\":\"./etc/ont_registartion_subscription_template.json\",\"event_unSubscriptionTemplate\":\"./etc/ont_registartion_unsubscription_template.json\",\"event_ruleId\":\"12345678\",\"modifyData\": \"true\",\"modifyMethod\": \"modifyOntEvent\",\"userData\": \"remote_id=AC9.0234.0337;svlan=100;cvlan=10;\"}]}]'\''\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n DMAAPHOST:\n { get_input: dmaap_host }\n DMAAPPORT: \"3904\"\n DMAAPPUBTOPIC: \"unauthenticated.DCAE_RCC_OUTPUT\"\n CONSUL_HOST:\n { get_input: consul_host }\n CONSUL_PORT: \"8500\"\n CBS_HOST:\n { get_input: cbs_host }\n CBS_PORT: \"10000\"\n CONFIG_BINDING_SERVICE: \"config_binding_service\"\n ports:\n - concat: [\"8080:\", { get_input: external_port }]\n\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2019 Huawei. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n This blueprint deploys/manages the RestConf Collector module as a Docker container\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n dmaap_host:\n type: string\n default: \"message-router.onap.svc.cluster.local\"\n dmaap_port:\n type: string\n default: \"3904\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.4\"\n consul_host:\n type: string\n default: \"consul-server.onap.svc.cluster.local\"\n consul_port:\n type: string\n default: \"8500\"\n cbs_host:\n type: string\n default: \"config-binding-service.dcae.svc.cluster.local\"\n cbs_port:\n type: string\n default: \"10000\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30416\"\n notification_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n service_component_type:\n type: string\n default: \"dcae-restconf-collector\"\n service_id:\n type: string\n default: \"dcae-restconf-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-restconf-collector\"\n\nnode_templates:\n rcc_k8s:\n type: dcae.nodes.ContainerizedServiceComponent\n properties:\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory: \"/opt/app/RCCollector/logs\"\n application_config:\n collector.rcc.appDescription: DCAE RestConf Collector Application\n collector.rcc.appName: \"dcae-rcc\"\n collector.rcc.dmaap.streamid: \"notification=device-registration\"\n collector.rcc.inputQueue.maxPending: \"8096\"\n tomcat.maxthreads: \"200\"\n collector.rcc.service.port: \"8080\"\n collector.rcc.service.secure.port: \"8687\"\n collector.rcc.keystore.file.location: \"/opt/app/restconfcollector/etc/keystore\"\n collector.rcc.keystore.passwordfile: \"/opt/app/restconfcollector/etc/rcc_passwordfile\"\n collector.rcc.keystore.alias: \"dynamically generated\"\n collector.rcc.truststore.file.location: \"/opt/app/restconfcollector/etc/truststore.onap.client.jks\"\n collector.rcc.truststore.passwordfile: \"/opt/app/restconfcollector/etc/trustpasswordfile\"\n collector.keystore.file.location: \"/opt/app/restconfcollector/etc/sdnc.p12\"\n collector.keystore.passwordfile: \"/opt/app/restconfcollector/etc/passwordfile\"\n collector.header.authflag: \"0\"\n collector.header.authlist: \"sample1,c2FtcGxlMQ==\"\n collector.rcc.service.secure.clientauth: \"0\"\n streams_publishes:\n device-registration:\n dmaap_info:\n topic_url:\n get_input: notification_publish_url\n type: message_router\n rcc_policy: '\''[{\"controller_name\":\"AccessM&C\",\"controller_restapiUrl\":\"172.30.0.55:26335\",\"controller_restapiUser\":\"access\",\"controller_restapiPassword\":\"Huawei@123\",\"controller_accessTokenUrl\":\"/rest/plat/smapp/v1/oauth/token\",\"controller_accessTokenFile\":\"./etc/access-token.json\",\"controller_accessTokenMethod\":\"put\",\"controller_subsMethod\":\"post\",\"controller_subscriptionUrl\":\"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription\",\"controller_disableSsl\":\"true\",\"event_details\":[{\"event_name\":\"ONT_registration\",\"event_description\":\"ONTregistartionevent\",\"event_sseventUrlEmbed\":\"true\",\"event_sseventsField\":\"output.url\",\"event_sseventsUrl\":\"null\",\"event_subscriptionTemplate\":\"./etc/ont_registartion_subscription_template.json\",\"event_unSubscriptionTemplate\":\"./etc/ont_registartion_unsubscription_template.json\",\"event_ruleId\":\"12345678\",\"modifyData\": \"true\",\"modifyMethod\": \"modifyOntEvent\",\"userData\": \"remote_id=AC9.0234.0337;svlan=100;cvlan=10;\"}]}]'\''\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n DMAAPHOST:\n { get_input: dmaap_host }\n DMAAPPORT: \"3904\"\n DMAAPPUBTOPIC: \"unauthenticated.DCAE_RCC_OUTPUT\"\n CONSUL_HOST:\n { get_input: consul_host }\n CONSUL_PORT: \"8500\"\n CBS_HOST:\n { get_input: cbs_host }\n CBS_PORT: \"10000\"\n CONFIG_BINDING_SERVICE: \"config_binding_service\"\n ports:\n - concat: [\"8080:\", { get_input: external_port }]\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-restconf", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2019 Huawei. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n This blueprint deploys/manages the RestConf Collector module as a Docker container\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n dmaap_host:\n type: string\n default: \"message-router.onap.svc.cluster.local\"\n dmaap_port:\n type: string\n default: \"3904\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.restconfcollector:1.2.4\"\n consul_host:\n type: string\n default: \"consul-server.onap.svc.cluster.local\"\n consul_port:\n type: string\n default: \"8500\"\n cbs_host:\n type: string\n default: \"config-binding-service.dcae.svc.cluster.local\"\n cbs_port:\n type: string\n default: \"10000\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30416\"\n notification_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n service_component_type:\n type: string\n default: \"dcae-restconf-collector\"\n service_id:\n type: string\n default: \"dcae-restconf-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-restconf-collector\"\n\nnode_templates:\n rcc_k8s:\n type: dcae.nodes.ContainerizedServiceComponent\n properties:\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory: \"/opt/app/RCCollector/logs\"\n application_config:\n collector.rcc.appDescription: DCAE RestConf Collector Application\n collector.rcc.appName: \"dcae-rcc\"\n collector.rcc.dmaap.streamid: \"notification=device-registration\"\n collector.rcc.inputQueue.maxPending: \"8096\"\n tomcat.maxthreads: \"200\"\n collector.rcc.service.port: \"8080\"\n collector.rcc.service.secure.port: \"8687\"\n collector.rcc.keystore.file.location: \"/opt/app/restconfcollector/etc/keystore\"\n collector.rcc.keystore.passwordfile: \"/opt/app/restconfcollector/etc/rcc_passwordfile\"\n collector.rcc.keystore.alias: \"dynamically generated\"\n collector.rcc.truststore.file.location: \"/opt/app/restconfcollector/etc/truststore.onap.client.jks\"\n collector.rcc.truststore.passwordfile: \"/opt/app/restconfcollector/etc/trustpasswordfile\"\n collector.keystore.file.location: \"/opt/app/restconfcollector/etc/sdnc.p12\"\n collector.keystore.passwordfile: \"/opt/app/restconfcollector/etc/passwordfile\"\n collector.header.authflag: \"0\"\n collector.header.authlist: \"sample1,c2FtcGxlMQ==\"\n collector.rcc.service.secure.clientauth: \"0\"\n streams_publishes:\n device-registration:\n dmaap_info:\n topic_url:\n get_input: notification_publish_url\n type: message_router\n rcc_policy: '\''[{\"controller_name\":\"AccessM&C\",\"controller_restapiUrl\":\"172.30.0.55:26335\",\"controller_restapiUser\":\"access\",\"controller_restapiPassword\":\"Huawei@123\",\"controller_accessTokenUrl\":\"/rest/plat/smapp/v1/oauth/token\",\"controller_accessTokenFile\":\"./etc/access-token.json\",\"controller_accessTokenMethod\":\"put\",\"controller_subsMethod\":\"post\",\"controller_subscriptionUrl\":\"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription\",\"controller_disableSsl\":\"true\",\"event_details\":[{\"event_name\":\"ONT_registration\",\"event_description\":\"ONTregistartionevent\",\"event_sseventUrlEmbed\":\"true\",\"event_sseventsField\":\"output.url\",\"event_sseventsUrl\":\"null\",\"event_subscriptionTemplate\":\"./etc/ont_registartion_subscription_template.json\",\"event_unSubscriptionTemplate\":\"./etc/ont_registartion_unsubscription_template.json\",\"event_ruleId\":\"12345678\",\"modifyData\": \"true\",\"modifyMethod\": \"modifyOntEvent\",\"userData\": \"remote_id=AC9.0234.0337;svlan=100;cvlan=10;\"}]}]'\''\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n DMAAPHOST:\n { get_input: dmaap_host }\n DMAAPPORT: \"3904\"\n DMAAPPUBTOPIC: \"unauthenticated.DCAE_RCC_OUTPUT\"\n CONSUL_HOST:\n { get_input: consul_host }\n CONSUL_PORT: \"8500\"\n CBS_HOST:\n { get_input: cbs_host }\n CBS_PORT: \"10000\"\n CONFIG_BINDING_SERVICE: \"config_binding_service\"\n ports:\n - concat: [\"8080:\", { get_input: external_port }]\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 6635 100 124 100 6511 4133 211k --:--:-- --:--:-- --:--:-- 215k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-slice-analysis-ms.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-slice-analysis-ms.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-slice-analysis-ms.yaml .yaml ++ flatten /blueprints/k8s-slice-analysis-ms.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT=' #\n #============LICENSE_START=======================================================\n #Copyright (C) 2020-2021 Wipro Limited.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.4\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n database_name:\n type: string\n description: database name\n default: \"sliceanalysisms\"\n aaf_username:\n type: string\n description: aaf username\n default: \"dcae@dcae.onap.org\"\n aaf_password:\n type: string\n description: aaf password\n default: \"demo123456!\"\n dmaap_polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n dmaap_polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n namespace:\n type: string\n description: namespace\n default: \"onap\"\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n buffer_time:\n type: integer\n description: buffer time\n default: 60\n cg:\n type: string\n description: consumer group\n default: \"sliceanalysisms-cg\"\n cid:\n type: string\n description: consumer id\n default: \"sliceanalysisms-cid\"\n config_db:\n type: string\n description: config db location\n default: \"http://config-db:8080\"\n aai:\n type: string\n description: aai url\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v21\"\n cps:\n type: string\n description: cps url\n default: \"https://cps:8088\"\n configDbEnabled:\n type: string\n description: configDb flag\n default: \"true\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/slice-analysis-ms\"\n performance_management_topic_url:\n type: string\n description: performance measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n intelligent_slicing_topic_url:\n type: string\n description: aai event topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC\"\n dcae_cl_response_topic_url:\n type: string\n description: dcae control loop response topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n dcae_cl_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n samples:\n type: integer\n description: number of samples to be considered for processing\n default: 3\n minimumPercentageChange:\n type: integer\n description: minimum change above which control loop should be triggered\n default: 5\n initialDelaySeconds:\n type: integer\n description: delay for the consumer thread\n default: 120000\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: false\n\n sliceanalysisms:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/sliceanalysisms/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-slice-analysis-ms'\''\n service_id: '\''sliceanalysisms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n tls_info:\n cert_directory: '\''/opt/app/sliceanalysisms/etc/cert/'\''\n use_tls: true\n application_config:\n aafUsername: { get_input: aaf_username }\n aafPassword: { get_input: aaf_password }\n trust_store_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.pass'\''\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n intelligent_slicing_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: intelligent_slicing_topic_url }\n type: message-router\n dcae_cl_response_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_response_topic_url }\n type: message-router\n streams_publishes:\n CL_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_topic_url }\n type: message-router\n postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}\n sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n sliceanalysisms.dmaap.server:\n - { get_input: dmaap }\n sliceanalysisms.cg: { get_input: cg }\n sliceanalysisms.cid: { get_input: cid }\n sliceanalysisms.configDb.service: { get_input: config_db }\n sliceanalysisms.configDbEnabled: { get_input: configDbEnabled }\n sliceanalysisms.aai.url: { get_input: aai }\n sliceanalysisms.cps.url: { get_input: cps }\n sliceanalysisms.samples: { get_input: samples }\n sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }\n sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n' ++ echo ' #\n #============LICENSE_START=======================================================\n #Copyright (C) 2020-2021 Wipro Limited.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.4\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n database_name:\n type: string\n description: database name\n default: \"sliceanalysisms\"\n aaf_username:\n type: string\n description: aaf username\n default: \"dcae@dcae.onap.org\"\n aaf_password:\n type: string\n description: aaf password\n default: \"demo123456!\"\n dmaap_polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n dmaap_polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n namespace:\n type: string\n description: namespace\n default: \"onap\"\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n buffer_time:\n type: integer\n description: buffer time\n default: 60\n cg:\n type: string\n description: consumer group\n default: \"sliceanalysisms-cg\"\n cid:\n type: string\n description: consumer id\n default: \"sliceanalysisms-cid\"\n config_db:\n type: string\n description: config db location\n default: \"http://config-db:8080\"\n aai:\n type: string\n description: aai url\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v21\"\n cps:\n type: string\n description: cps url\n default: \"https://cps:8088\"\n configDbEnabled:\n type: string\n description: configDb flag\n default: \"true\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/slice-analysis-ms\"\n performance_management_topic_url:\n type: string\n description: performance measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n intelligent_slicing_topic_url:\n type: string\n description: aai event topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC\"\n dcae_cl_response_topic_url:\n type: string\n description: dcae control loop response topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n dcae_cl_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n samples:\n type: integer\n description: number of samples to be considered for processing\n default: 3\n minimumPercentageChange:\n type: integer\n description: minimum change above which control loop should be triggered\n default: 5\n initialDelaySeconds:\n type: integer\n description: delay for the consumer thread\n default: 120000\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: false\n\n sliceanalysisms:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/sliceanalysisms/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-slice-analysis-ms'\''\n service_id: '\''sliceanalysisms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n tls_info:\n cert_directory: '\''/opt/app/sliceanalysisms/etc/cert/'\''\n use_tls: true\n application_config:\n aafUsername: { get_input: aaf_username }\n aafPassword: { get_input: aaf_password }\n trust_store_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.pass'\''\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n intelligent_slicing_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: intelligent_slicing_topic_url }\n type: message-router\n dcae_cl_response_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_response_topic_url }\n type: message-router\n streams_publishes:\n CL_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_topic_url }\n type: message-router\n postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}\n sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n sliceanalysisms.dmaap.server:\n - { get_input: dmaap }\n sliceanalysisms.cg: { get_input: cg }\n sliceanalysisms.cid: { get_input: cid }\n sliceanalysisms.configDb.service: { get_input: config_db }\n sliceanalysisms.configDbEnabled: { get_input: configDbEnabled }\n sliceanalysisms.aai.url: { get_input: aai }\n sliceanalysisms.cps.url: { get_input: cps }\n sliceanalysisms.samples: { get_input: samples }\n sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }\n sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-slice-analysis-ms", "component": "dcae", "application": "DCAE", "blueprintTemplate": " #\n #============LICENSE_START=======================================================\n #Copyright (C) 2020-2021 Wipro Limited.\n #==============================================================================\n #Licensed under the Apache License, Version 2.0 (the \"License\");\n #you may not use this file except in compliance with the License.\n #You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n #Unless required by applicable law or agreed to in writing, software\n #distributed under the License is distributed on an \"AS IS\" BASIS,\n #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n #See the License for the specific language governing permissions and\n #limitations under the License.\n #============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.slice-analysis-ms:1.0.4\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n database_name:\n type: string\n description: database name\n default: \"sliceanalysisms\"\n aaf_username:\n type: string\n description: aaf username\n default: \"dcae@dcae.onap.org\"\n aaf_password:\n type: string\n description: aaf password\n default: \"demo123456!\"\n dmaap_polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n dmaap_polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n namespace:\n type: string\n description: namespace\n default: \"onap\"\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n buffer_time:\n type: integer\n description: buffer time\n default: 60\n cg:\n type: string\n description: consumer group\n default: \"sliceanalysisms-cg\"\n cid:\n type: string\n description: consumer id\n default: \"sliceanalysisms-cid\"\n config_db:\n type: string\n description: config db location\n default: \"http://config-db:8080\"\n aai:\n type: string\n description: aai url\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v21\"\n cps:\n type: string\n description: cps url\n default: \"https://cps:8088\"\n configDbEnabled:\n type: string\n description: configDb flag\n default: \"true\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/slice-analysis-ms\"\n performance_management_topic_url:\n type: string\n description: performance measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS\"\n intelligent_slicing_topic_url:\n type: string\n description: aai event topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.ML_RESPONSE_TOPIC\"\n dcae_cl_response_topic_url:\n type: string\n description: dcae control loop response topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n dcae_cl_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n samples:\n type: integer\n description: number of samples to be considered for processing\n default: 3\n minimumPercentageChange:\n type: integer\n description: minimum change above which control loop should be triggered\n default: 5\n initialDelaySeconds:\n type: integer\n description: delay for the consumer thread\n default: 120000\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: false\n\n sliceanalysisms:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/sliceanalysisms/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-slice-analysis-ms'\''\n service_id: '\''sliceanalysisms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n tls_info:\n cert_directory: '\''/opt/app/sliceanalysisms/etc/cert/'\''\n use_tls: true\n application_config:\n aafUsername: { get_input: aaf_username }\n aafPassword: { get_input: aaf_password }\n trust_store_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.jks'\''\n trust_store_pass_path: '\''/opt/app/sliceanalysisms/etc/cert/trust.pass'\''\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n intelligent_slicing_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: intelligent_slicing_topic_url }\n type: message-router\n dcae_cl_response_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_response_topic_url }\n type: message-router\n streams_publishes:\n CL_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_topic_url }\n type: message-router\n postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n sliceanalysisms.pollingInterval: { get_input: dmaap_polling_interval}\n sliceanalysisms.pollingTimeout: { get_input: dmaap_polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n sliceanalysisms.dmaap.server:\n - { get_input: dmaap }\n sliceanalysisms.cg: { get_input: cg }\n sliceanalysisms.cid: { get_input: cid }\n sliceanalysisms.configDb.service: { get_input: config_db }\n sliceanalysisms.configDbEnabled: { get_input: configDbEnabled }\n sliceanalysisms.aai.url: { get_input: aai }\n sliceanalysisms.cps.url: { get_input: cps }\n sliceanalysisms.samples: { get_input: samples }\n sliceanalysisms.minPercentageChange: { get_input: minimumPercentageChange }\n sliceanalysisms.initialDelaySeconds: { get_input: initialDelaySeconds }\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 8349 100 124 100 8225 3875 251k --:--:-- --:--:-- --:--:-- 254k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-snmptrap.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-snmptrap.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-snmptrap.yaml .yaml ++ flatten /blueprints/k8s-snmptrap.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.4\"\n cache:\n type: string\n default:\n \"dns_cache_ttl_seconds: 60\"\n files:\n type: string\n default:\n \"arriving_traps_log: snmptrapd_arriving_traps.log\n data_dir: data\n eelf_audit: audit.log\n eelf_base_dir: /opt/app/snmptrap/logs\n eelf_debug: debug.log\n eelf_error: error.log\n eelf_metrics: metrics.log\n log_dir: logs\n minimum_severity_to_log: 2\n perm_status_file: snmptrapd_status.log\n pid_dir: tmp\n roll_frequency: day\n runtime_base_dir: /opt/app/snmptrap\n snmptrapd_diag: snmptrapd_prog_diag.log\n traps_stats_log: snmptrapd_stats.csv\"\n protocols:\n type: string\n default:\n \"ipv4_interface: 0.0.0.0\n ipv4_port: 6162\n ipv6_interface: ::1\n ipv6_port: 6162\"\n publisher:\n type: string\n default:\n \"http_milliseconds_between_retries: 750\n http_milliseconds_timeout: 1500\n http_peer_publisher: unavailable\n http_primary_publisher: '\''true'\''\n http_retries: 3\n max_milliseconds_between_publishes: 10000\n max_traps_between_publishes: 10\"\n sec_fault_unsecure_topic:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n snmptrapd:\n type: string\n default:\n \"title: Collector for receiving SNMP traps and publishing to DMAAP/MR\n version: 2.0.3\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30470\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n service_component_type:\n type: string\n default: \"dcae-snmptrap-collector\"\n service_id:\n type: string\n default: \"dcae-snmptrap-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-snmptrap-collector\"\n\n\nnode_templates:\n snmptrap:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"6162/udp:\", { get_input: external_port }]\n properties:\n application_config:\n StormWatchPolicy: '\'''\''\n cache:\n get_input: cache\n files:\n get_input: files\n protocols:\n get_input: protocols\n publisher:\n get_input: publisher\n services_calls: {}\n snmptrapd:\n get_input: snmptrapd\n sw_interval_in_seconds: 60\n streams_publishes:\n sec_fault_unsecure:\n dmaap_info:\n topic_url:\n get_input: sec_fault_unsecure_topic\n type: message_router\n\n image:\n get_input: tag_version\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n type: dcae.nodes.ContainerizedServiceComponent\n\n' ++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.4\"\n cache:\n type: string\n default:\n \"dns_cache_ttl_seconds: 60\"\n files:\n type: string\n default:\n \"arriving_traps_log: snmptrapd_arriving_traps.log\n data_dir: data\n eelf_audit: audit.log\n eelf_base_dir: /opt/app/snmptrap/logs\n eelf_debug: debug.log\n eelf_error: error.log\n eelf_metrics: metrics.log\n log_dir: logs\n minimum_severity_to_log: 2\n perm_status_file: snmptrapd_status.log\n pid_dir: tmp\n roll_frequency: day\n runtime_base_dir: /opt/app/snmptrap\n snmptrapd_diag: snmptrapd_prog_diag.log\n traps_stats_log: snmptrapd_stats.csv\"\n protocols:\n type: string\n default:\n \"ipv4_interface: 0.0.0.0\n ipv4_port: 6162\n ipv6_interface: ::1\n ipv6_port: 6162\"\n publisher:\n type: string\n default:\n \"http_milliseconds_between_retries: 750\n http_milliseconds_timeout: 1500\n http_peer_publisher: unavailable\n http_primary_publisher: '\''true'\''\n http_retries: 3\n max_milliseconds_between_publishes: 10000\n max_traps_between_publishes: 10\"\n sec_fault_unsecure_topic:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n snmptrapd:\n type: string\n default:\n \"title: Collector for receiving SNMP traps and publishing to DMAAP/MR\n version: 2.0.3\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30470\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n service_component_type:\n type: string\n default: \"dcae-snmptrap-collector\"\n service_id:\n type: string\n default: \"dcae-snmptrap-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-snmptrap-collector\"\n\n\nnode_templates:\n snmptrap:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"6162/udp:\", { get_input: external_port }]\n properties:\n application_config:\n StormWatchPolicy: '\'''\''\n cache:\n get_input: cache\n files:\n get_input: files\n protocols:\n get_input: protocols\n publisher:\n get_input: publisher\n services_calls: {}\n snmptrapd:\n get_input: snmptrapd\n sw_interval_in_seconds: 60\n streams_publishes:\n sec_fault_unsecure:\n dmaap_info:\n topic_url:\n get_input: sec_fault_unsecure_topic\n type: message_router\n\n image:\n get_input: tag_version\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n type: dcae.nodes.ContainerizedServiceComponent\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-snmptrap", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.snmptrap:2.0.4\"\n cache:\n type: string\n default:\n \"dns_cache_ttl_seconds: 60\"\n files:\n type: string\n default:\n \"arriving_traps_log: snmptrapd_arriving_traps.log\n data_dir: data\n eelf_audit: audit.log\n eelf_base_dir: /opt/app/snmptrap/logs\n eelf_debug: debug.log\n eelf_error: error.log\n eelf_metrics: metrics.log\n log_dir: logs\n minimum_severity_to_log: 2\n perm_status_file: snmptrapd_status.log\n pid_dir: tmp\n roll_frequency: day\n runtime_base_dir: /opt/app/snmptrap\n snmptrapd_diag: snmptrapd_prog_diag.log\n traps_stats_log: snmptrapd_stats.csv\"\n protocols:\n type: string\n default:\n \"ipv4_interface: 0.0.0.0\n ipv4_port: 6162\n ipv6_interface: ::1\n ipv6_port: 6162\"\n publisher:\n type: string\n default:\n \"http_milliseconds_between_retries: 750\n http_milliseconds_timeout: 1500\n http_peer_publisher: unavailable\n http_primary_publisher: '\''true'\''\n http_retries: 3\n max_milliseconds_between_publishes: 10000\n max_traps_between_publishes: 10\"\n sec_fault_unsecure_topic:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n snmptrapd:\n type: string\n default:\n \"title: Collector for receiving SNMP traps and publishing to DMAAP/MR\n version: 2.0.3\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30470\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n service_component_type:\n type: string\n default: \"dcae-snmptrap-collector\"\n service_id:\n type: string\n default: \"dcae-snmptrap-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-snmptrap-collector\"\n\n\nnode_templates:\n snmptrap:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"6162/udp:\", { get_input: external_port }]\n properties:\n application_config:\n StormWatchPolicy: '\'''\''\n cache:\n get_input: cache\n files:\n get_input: files\n protocols:\n get_input: protocols\n publisher:\n get_input: publisher\n services_calls: {}\n snmptrapd:\n get_input: snmptrapd\n sw_interval_in_seconds: 60\n streams_publishes:\n sec_fault_unsecure:\n dmaap_info:\n topic_url:\n get_input: sec_fault_unsecure_topic\n type: message_router\n\n image:\n get_input: tag_version\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n type: dcae.nodes.ContainerizedServiceComponent\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 4685 100 124 100 4561 4000 143k --:--:-- --:--:-- --:--:-- 147k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-sonhms.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-sonhms.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-sonhms.yaml .yaml ++ flatten /blueprints/k8s-sonhms.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT=' #============LICENSE_START=======================================================\n # son-handler\n # ================================================================================\n # Copyright (C) 2019-2020 Wipro Limited.\n # ==============================================================================\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n # ============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\n - plugin:dcaepolicyplugin?version=2.4.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:2.1.3\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n database_name:\n type: string\n description: database name\n default: \"sonhms\"\n aaf_username:\n type: string\n description: aaf username\n default:\n aaf_password:\n type: string\n description: aaf password\n default:\n polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n num_solutions:\n type: integer\n description: num of solutions\n default: 5\n min_collision:\n type: integer\n description: minimum no. of collisions\n default: 5\n min_confusion:\n type: integer\n description: minimum no. of confusions\n default: 5\n max_clusters:\n type: integer\n description: maximum clusters\n default: 5\n bad_threshold:\n type: integer\n description: threshold for bad neighbors\n default: 50\n poor_threshold:\n type: integer\n description: threshold for poor neighbors\n default: 70\n namespace:\n type: string\n description: namespace\n default: \"onap\"\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n buffer_time:\n type: integer\n description: buffer time\n default: 60\n cg:\n type: string\n description: consumer group\n default: \"sonhms-cg\"\n cid:\n type: string\n description: consumer id\n default: \"sonhms-cid\"\n config_db:\n type: string\n description: config db location\n default: \"http://sdnc.onap:8181\"\n oof:\n type: string\n description: oof location\n default: \"https://oof-osdf.onap:8698\"\n oof_endpoint:\n type: string\n description: oof endpoint\n default: \"/api/oof/v1/pci\"\n pci_optimizer:\n type: string\n description: pci optimizer name in oof\n default: \"pci\"\n pci_anr_optimizer:\n type: string\n description: pci and anr optimizer name in oof\n default: \"pci_anr\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/son-handler\"\n poorCountThreshold:\n type: integer\n description: poor neighbor count threshold\n default: 3\n badCountThreshold:\n type: integer\n description: bad neighbor count threshold\n default: 3\n oofTriggerCountTimer:\n type: integer\n description: timer for oof triggered count in minutes\n default: 30\n oofTriggerCountThreshold:\n type: integer\n description: Threshold for oof trigger count\n default: 5\n policyRespTimer:\n type: integer\n description: policy response wait timer in seconds\n default: 10\n policy_id:\n type: string\n description: policy id for config policy\n default: \"com.Config_PCIMS_CONFIG_POLICY\"\n performance_management_topic_url:\n type: string\n description: ves measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n fault_management_topic_url:\n type: string\n description: ves fault topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT\"\n nbr_list_change_topic_url:\n type: string\n description: neighbor list change notification topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO\"\n dcae_cl_response_topic_url:\n type: string\n description: dcae control loop response topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n dcae_cl_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n policyNegativeAckThreshold:\n type: integer\n description: negative acknowledgement from policy threshold\n default: 3\n policyFixedPciTimeInterval:\n type: integer\n description: time interval for checking FixedPci table\n default: 30000\n nfNamingCode:\n type: string\n description: filter fm and pm notification using this parameter\n default: \"RansimAgent\"\n\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: false\n\n sonhms:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/sonhms/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-sonhms'\''\n service_id: '\''sonhms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n application_config:\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n fault_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: fault_management_topic_url }\n type: message-router\n nbr_list_change_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: nbr_list_change_topic_url }\n type: message-router\n dcae_cl_response_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_response_topic_url }\n type: message-router\n streams_publishes:\n CL_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_topic_url }\n type: message-router\n postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n sonhandler.pollingInterval: { get_input: polling_interval}\n sonhandler.pollingTimeout: { get_input: polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n sonhandler.numSolutions: { get_input: num_solutions }\n sonhandler.minCollision: { get_input: min_collision }\n sonhandler.minConfusion: { get_input: min_confusion }\n sonhandler.maximumClusters: { get_input: max_clusters }\n sonhandler.badThreshold: { get_input: bad_threshold }\n sonhandler.poorThreshold: { get_input: poor_threshold }\n sonhandler.namespace: { get_input: namespace }\n sonhandler.sourceId: SONHMS\n sonhandler.dmaap.server:\n - { get_input: dmaap }\n sonhandler.bufferTime: { get_input: buffer_time }\n sonhandler.cg: { get_input: cg }\n sonhandler.cid: { get_input: cid }\n sonhandler.configDb.service: { get_input: config_db }\n sonhandler.oof.service: { get_input: oof }\n sonhandler.oof.endpoint: { get_input: oof_endpoint }\n sonhandler.pciOptimizer: { get_input: pci_optimizer }\n sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer }\n sonhandler.poorCountThreshold: { get_input: poorCountThreshold}\n sonhandler.badCountThreshold: { get_input: badCountThreshold}\n sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer}\n sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold}\n sonhandler.policyRespTimer: { get_input: policyRespTimer}\n sonhandler.policyNegativeAckThreshold: { get_input: policyNegativeAckThreshold}\n sonhandler.policyFixedPciTimeInterval: { get_input: policyFixedPciTimeInterval}\n sonhandler.nfNamingCode: { get_input: nfNamingCode}\n service_calls:\n sdnr-getpnfname: []\n sdnr-getpci: []\n sdnr-getnbrlist: []\n sdnr-getcelllist: []\n oof-req: []\n policy-req: []\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n - type: cloudify.relationships.depends_on\n target: son_policy\n\n son_policy:\n type: dcae.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n\n\n\n\n' ++ echo ' #============LICENSE_START=======================================================\n # son-handler\n # ================================================================================\n # Copyright (C) 2019-2020 Wipro Limited.\n # ==============================================================================\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n # ============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\n - plugin:dcaepolicyplugin?version=2.4.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:2.1.3\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n database_name:\n type: string\n description: database name\n default: \"sonhms\"\n aaf_username:\n type: string\n description: aaf username\n default:\n aaf_password:\n type: string\n description: aaf password\n default:\n polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n num_solutions:\n type: integer\n description: num of solutions\n default: 5\n min_collision:\n type: integer\n description: minimum no. of collisions\n default: 5\n min_confusion:\n type: integer\n description: minimum no. of confusions\n default: 5\n max_clusters:\n type: integer\n description: maximum clusters\n default: 5\n bad_threshold:\n type: integer\n description: threshold for bad neighbors\n default: 50\n poor_threshold:\n type: integer\n description: threshold for poor neighbors\n default: 70\n namespace:\n type: string\n description: namespace\n default: \"onap\"\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n buffer_time:\n type: integer\n description: buffer time\n default: 60\n cg:\n type: string\n description: consumer group\n default: \"sonhms-cg\"\n cid:\n type: string\n description: consumer id\n default: \"sonhms-cid\"\n config_db:\n type: string\n description: config db location\n default: \"http://sdnc.onap:8181\"\n oof:\n type: string\n description: oof location\n default: \"https://oof-osdf.onap:8698\"\n oof_endpoint:\n type: string\n description: oof endpoint\n default: \"/api/oof/v1/pci\"\n pci_optimizer:\n type: string\n description: pci optimizer name in oof\n default: \"pci\"\n pci_anr_optimizer:\n type: string\n description: pci and anr optimizer name in oof\n default: \"pci_anr\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/son-handler\"\n poorCountThreshold:\n type: integer\n description: poor neighbor count threshold\n default: 3\n badCountThreshold:\n type: integer\n description: bad neighbor count threshold\n default: 3\n oofTriggerCountTimer:\n type: integer\n description: timer for oof triggered count in minutes\n default: 30\n oofTriggerCountThreshold:\n type: integer\n description: Threshold for oof trigger count\n default: 5\n policyRespTimer:\n type: integer\n description: policy response wait timer in seconds\n default: 10\n policy_id:\n type: string\n description: policy id for config policy\n default: \"com.Config_PCIMS_CONFIG_POLICY\"\n performance_management_topic_url:\n type: string\n description: ves measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n fault_management_topic_url:\n type: string\n description: ves fault topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT\"\n nbr_list_change_topic_url:\n type: string\n description: neighbor list change notification topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO\"\n dcae_cl_response_topic_url:\n type: string\n description: dcae control loop response topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n dcae_cl_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n policyNegativeAckThreshold:\n type: integer\n description: negative acknowledgement from policy threshold\n default: 3\n policyFixedPciTimeInterval:\n type: integer\n description: time interval for checking FixedPci table\n default: 30000\n nfNamingCode:\n type: string\n description: filter fm and pm notification using this parameter\n default: \"RansimAgent\"\n\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: false\n\n sonhms:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/sonhms/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-sonhms'\''\n service_id: '\''sonhms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n application_config:\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n fault_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: fault_management_topic_url }\n type: message-router\n nbr_list_change_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: nbr_list_change_topic_url }\n type: message-router\n dcae_cl_response_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_response_topic_url }\n type: message-router\n streams_publishes:\n CL_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_topic_url }\n type: message-router\n postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n sonhandler.pollingInterval: { get_input: polling_interval}\n sonhandler.pollingTimeout: { get_input: polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n sonhandler.numSolutions: { get_input: num_solutions }\n sonhandler.minCollision: { get_input: min_collision }\n sonhandler.minConfusion: { get_input: min_confusion }\n sonhandler.maximumClusters: { get_input: max_clusters }\n sonhandler.badThreshold: { get_input: bad_threshold }\n sonhandler.poorThreshold: { get_input: poor_threshold }\n sonhandler.namespace: { get_input: namespace }\n sonhandler.sourceId: SONHMS\n sonhandler.dmaap.server:\n - { get_input: dmaap }\n sonhandler.bufferTime: { get_input: buffer_time }\n sonhandler.cg: { get_input: cg }\n sonhandler.cid: { get_input: cid }\n sonhandler.configDb.service: { get_input: config_db }\n sonhandler.oof.service: { get_input: oof }\n sonhandler.oof.endpoint: { get_input: oof_endpoint }\n sonhandler.pciOptimizer: { get_input: pci_optimizer }\n sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer }\n sonhandler.poorCountThreshold: { get_input: poorCountThreshold}\n sonhandler.badCountThreshold: { get_input: badCountThreshold}\n sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer}\n sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold}\n sonhandler.policyRespTimer: { get_input: policyRespTimer}\n sonhandler.policyNegativeAckThreshold: { get_input: policyNegativeAckThreshold}\n sonhandler.policyFixedPciTimeInterval: { get_input: policyFixedPciTimeInterval}\n sonhandler.nfNamingCode: { get_input: nfNamingCode}\n service_calls:\n sdnr-getpnfname: []\n sdnr-getpci: []\n sdnr-getnbrlist: []\n sdnr-getcelllist: []\n oof-req: []\n policy-req: []\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n - type: cloudify.relationships.depends_on\n target: son_policy\n\n son_policy:\n type: dcae.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n\n\n\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-sonhms", "component": "dcae", "application": "DCAE", "blueprintTemplate": " #============LICENSE_START=======================================================\n # son-handler\n # ================================================================================\n # Copyright (C) 2019-2020 Wipro Limited.\n # ==============================================================================\n # Licensed under the Apache License, Version 2.0 (the \"License\");\n # you may not use this file except in compliance with the License.\n # You may obtain a copy of the License at\n #\n # http://www.apache.org/licenses/LICENSE-2.0\n #\n # Unless required by applicable law or agreed to in writing, software\n # distributed under the License is distributed on an \"AS IS\" BASIS,\n # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n # See the License for the specific language governing permissions and\n # limitations under the License.\n # ============LICENSE_END=========================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - \"https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\"\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:pgaas?version=1.3.0\n - plugin:dcaepolicyplugin?version=2.4.0\ninputs:\n replicas:\n type: integer\n description: replica count for deployment\n default: 1\n tag_version:\n type: string\n description: docker image name and version\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.son-handler:2.1.3\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n database_name:\n type: string\n description: database name\n default: \"sonhms\"\n aaf_username:\n type: string\n description: aaf username\n default:\n aaf_password:\n type: string\n description: aaf password\n default:\n polling_interval:\n type: integer\n description: dmaap polling interval\n default: 20\n cbs_polling_interval:\n type: integer\n description: cbs polling interval\n default: 60\n polling_timeout:\n type: integer\n description: dmaap polling timeout\n default: 60\n num_solutions:\n type: integer\n description: num of solutions\n default: 5\n min_collision:\n type: integer\n description: minimum no. of collisions\n default: 5\n min_confusion:\n type: integer\n description: minimum no. of confusions\n default: 5\n max_clusters:\n type: integer\n description: maximum clusters\n default: 5\n bad_threshold:\n type: integer\n description: threshold for bad neighbors\n default: 50\n poor_threshold:\n type: integer\n description: threshold for poor neighbors\n default: 70\n namespace:\n type: string\n description: namespace\n default: \"onap\"\n dmaap:\n type: string\n description: dmaap server\n default: \"message-router\"\n buffer_time:\n type: integer\n description: buffer time\n default: 60\n cg:\n type: string\n description: consumer group\n default: \"sonhms-cg\"\n cid:\n type: string\n description: consumer id\n default: \"sonhms-cid\"\n config_db:\n type: string\n description: config db location\n default: \"http://sdnc.onap:8181\"\n oof:\n type: string\n description: oof location\n default: \"https://oof-osdf.onap:8698\"\n oof_endpoint:\n type: string\n description: oof endpoint\n default: \"/api/oof/v1/pci\"\n pci_optimizer:\n type: string\n description: pci optimizer name in oof\n default: \"pci\"\n pci_anr_optimizer:\n type: string\n description: pci and anr optimizer name in oof\n default: \"pci_anr\"\n log_path:\n type: string\n description: log location in host\n default: \"/dockerdata-nfs/son-handler\"\n poorCountThreshold:\n type: integer\n description: poor neighbor count threshold\n default: 3\n badCountThreshold:\n type: integer\n description: bad neighbor count threshold\n default: 3\n oofTriggerCountTimer:\n type: integer\n description: timer for oof triggered count in minutes\n default: 30\n oofTriggerCountThreshold:\n type: integer\n description: Threshold for oof trigger count\n default: 5\n policyRespTimer:\n type: integer\n description: policy response wait timer in seconds\n default: 10\n policy_id:\n type: string\n description: policy id for config policy\n default: \"com.Config_PCIMS_CONFIG_POLICY\"\n performance_management_topic_url:\n type: string\n description: ves measurement topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n fault_management_topic_url:\n type: string\n description: ves fault topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.SEC_FAULT_OUTPUT\"\n nbr_list_change_topic_url:\n type: string\n description: neighbor list change notification topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/PCI-NOTIF-TOPIC-NGHBR-LIST-CHANGE-INFO\"\n dcae_cl_response_topic_url:\n type: string\n description: dcae control loop response topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/DCAE_CL_RSP\"\n dcae_cl_topic_url:\n type: string\n description: dcae control loop topic url\n default: \"https://message-router.onap.svc.cluster.local:3905/events/unauthenticated.DCAE_CL_OUTPUT\"\n policyNegativeAckThreshold:\n type: integer\n description: negative acknowledgement from policy threshold\n default: 3\n policyFixedPciTimeInterval:\n type: integer\n description: time interval for checking FixedPci table\n default: 30000\n nfNamingCode:\n type: string\n description: filter fm and pm notification using this parameter\n default: \"RansimAgent\"\n\nnode_templates:\n pgaasvm:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: database_name }\n use_existing: false\n\n sonhms:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n STANDALONE: \"false\"\n ports:\n - \"8080:0\"\n volumes:\n - host:\n path: { get_input: log_path }\n container:\n bind: /home/sonhms/logs\n mode: rw\n properties:\n image:\n get_input: tag_version\n service_component_type: '\''dcae-sonhms'\''\n service_id: '\''sonhms'\''\n always_pull_image: true\n replicas: {get_input: replicas}\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n application_config:\n streams_subscribes:\n performance_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: performance_management_topic_url }\n type: message-router\n fault_management_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: fault_management_topic_url }\n type: message-router\n nbr_list_change_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: nbr_list_change_topic_url }\n type: message-router\n dcae_cl_response_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_response_topic_url }\n type: message-router\n streams_publishes:\n CL_topic:\n aaf_username: { get_input: aaf_username }\n aaf_password: { get_input: aaf_password }\n dmaap_info:\n topic_url: { get_input: dcae_cl_topic_url }\n type: message-router\n postgres.host: { get_attribute: [ pgaasvm, admin, host ] }\n postgres.port: { get_attribute: [ pgaasvm, admin, port ] }\n postgres.username: { get_attribute: [ pgaasvm, admin, user ] }\n postgres.password: { get_attribute: [ pgaasvm, admin, password ] }\n sonhandler.pollingInterval: { get_input: polling_interval}\n sonhandler.pollingTimeout: { get_input: polling_timeout }\n cbsPollingInterval: { get_input: cbs_polling_interval }\n sonhandler.numSolutions: { get_input: num_solutions }\n sonhandler.minCollision: { get_input: min_collision }\n sonhandler.minConfusion: { get_input: min_confusion }\n sonhandler.maximumClusters: { get_input: max_clusters }\n sonhandler.badThreshold: { get_input: bad_threshold }\n sonhandler.poorThreshold: { get_input: poor_threshold }\n sonhandler.namespace: { get_input: namespace }\n sonhandler.sourceId: SONHMS\n sonhandler.dmaap.server:\n - { get_input: dmaap }\n sonhandler.bufferTime: { get_input: buffer_time }\n sonhandler.cg: { get_input: cg }\n sonhandler.cid: { get_input: cid }\n sonhandler.configDb.service: { get_input: config_db }\n sonhandler.oof.service: { get_input: oof }\n sonhandler.oof.endpoint: { get_input: oof_endpoint }\n sonhandler.pciOptimizer: { get_input: pci_optimizer }\n sonhandler.pciAnrOptimizer: { get_input: pci_anr_optimizer }\n sonhandler.poorCountThreshold: { get_input: poorCountThreshold}\n sonhandler.badCountThreshold: { get_input: badCountThreshold}\n sonhandler.oofTriggerCountTimer: { get_input: oofTriggerCountTimer}\n sonhandler.oofTriggerCountThreshold: { get_input: oofTriggerCountThreshold}\n sonhandler.policyRespTimer: { get_input: policyRespTimer}\n sonhandler.policyNegativeAckThreshold: { get_input: policyNegativeAckThreshold}\n sonhandler.policyFixedPciTimeInterval: { get_input: policyFixedPciTimeInterval}\n sonhandler.nfNamingCode: { get_input: nfNamingCode}\n service_calls:\n sdnr-getpnfname: []\n sdnr-getpci: []\n sdnr-getnbrlist: []\n sdnr-getcelllist: []\n oof-req: []\n policy-req: []\n relationships:\n - type: cloudify.relationships.depends_on\n target: pgaasvm\n - type: cloudify.relationships.depends_on\n target: son_policy\n\n son_policy:\n type: dcae.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n\n\n\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 11297 100 124 100 11173 4275 376k --:--:-- --:--:-- --:--:-- 380k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-tcagen2-clampnode.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-tcagen2-clampnode.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-tcagen2-clampnode.yaml .yaml ++ flatten /blueprints/k8s-tcagen2-clampnode.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e +++ tr -d '\n' 's/$/\\n/g' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#k8s-tca-gen2-v3.yaml\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:clamppolicyplugin?version=1.1.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-tcagen2'\''\n log_directory:\n type: string\n default: \"/opt/logs/dcae-analytics-tca\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n spring.data.mongodb.uri:\n type: string\n default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"http://aai.onap.svc.cluster.local\"\n tca.aai.username:\n type: string\n default: \"DCAE\"\n tca_handle_in_subscribe_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n tca_handle_out_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n tca_consumer_group:\n type: string\n default: \"cg1\"\n policy_model_id:\n type: string\n default: \"onap.policies.monitoring.tcagen2\"\n policy_id:\n type: string\n default: \"onap.restart.tca\"\nnode_templates:\n docker.tca:\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - target: tcagen2_policy\n type: cloudify.relationships.depends_on\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"9091:\", \"0\"]\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n tca_handle_out:\n dmaap_info:\n topic_url:\n get_input: tca_handle_out_publish_url\n type: message_router\n streams_subscribes:\n tca_handle_in:\n dmaap_info:\n topic_url:\n get_input: tca_handle_in_subscribe_url\n type: message_router\n spring.data.mongodb.uri:\n get_input: spring.data.mongodb.uri\n streams_subscribes.tca_handle_in.consumer_group:\n get_input: tca_consumer_group\n streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n streams_subscribes.tca_handle_in.message_limit: 50000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n streams_subscribes.tca_handle_in.timeout: -1\n tca.aai.enable_enrichment: true\n tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n tca.aai.node_query_path: aai/v11/search/nodes-query\n tca.aai.password:\n get_input: tca.aai.password\n tca.aai.url:\n get_input: tca.aai.url\n tca.aai.username:\n get_input: tca.aai.username\n tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n tca.processing_batch_size: 10000\n tca.enable_abatement: true\n tca.enable_ecomp_logging: true\n docker_config:\n healthcheck:\n endpoint: /actuator/health\n interval: 30s\n timeout: 10s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory:\n get_input: log_directory\n tls_info:\n use_tls: true\n cert_directory: '\''/etc/tca-gen2/ssl'\''\n replicas:\n get_input: replicas\n service_component_type: { get_input: service_name }\n tcagen2_policy:\n type: clamp.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n policy_model_id:\n get_input: policy_model_id\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#k8s-tca-gen2-v3.yaml\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:clamppolicyplugin?version=1.1.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-tcagen2'\''\n log_directory:\n type: string\n default: \"/opt/logs/dcae-analytics-tca\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n spring.data.mongodb.uri:\n type: string\n default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"http://aai.onap.svc.cluster.local\"\n tca.aai.username:\n type: string\n default: \"DCAE\"\n tca_handle_in_subscribe_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n tca_handle_out_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n tca_consumer_group:\n type: string\n default: \"cg1\"\n policy_model_id:\n type: string\n default: \"onap.policies.monitoring.tcagen2\"\n policy_id:\n type: string\n default: \"onap.restart.tca\"\nnode_templates:\n docker.tca:\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - target: tcagen2_policy\n type: cloudify.relationships.depends_on\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"9091:\", \"0\"]\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n tca_handle_out:\n dmaap_info:\n topic_url:\n get_input: tca_handle_out_publish_url\n type: message_router\n streams_subscribes:\n tca_handle_in:\n dmaap_info:\n topic_url:\n get_input: tca_handle_in_subscribe_url\n type: message_router\n spring.data.mongodb.uri:\n get_input: spring.data.mongodb.uri\n streams_subscribes.tca_handle_in.consumer_group:\n get_input: tca_consumer_group\n streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n streams_subscribes.tca_handle_in.message_limit: 50000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n streams_subscribes.tca_handle_in.timeout: -1\n tca.aai.enable_enrichment: true\n tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n tca.aai.node_query_path: aai/v11/search/nodes-query\n tca.aai.password:\n get_input: tca.aai.password\n tca.aai.url:\n get_input: tca.aai.url\n tca.aai.username:\n get_input: tca.aai.username\n tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n tca.processing_batch_size: 10000\n tca.enable_abatement: true\n tca.enable_ecomp_logging: true\n docker_config:\n healthcheck:\n endpoint: /actuator/health\n interval: 30s\n timeout: 10s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory:\n get_input: log_directory\n tls_info:\n use_tls: true\n cert_directory: '\''/etc/tca-gen2/ssl'\''\n replicas:\n get_input: replicas\n service_component_type: { get_input: service_name }\n tcagen2_policy:\n type: clamp.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n policy_model_id:\n get_input: policy_model_id\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-tcagen2-clampnode", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n#k8s-tca-gen2-v3.yaml\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n - plugin:clamppolicyplugin?version=1.1.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-tcagen2'\''\n log_directory:\n type: string\n default: \"/opt/logs/dcae-analytics-tca\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n spring.data.mongodb.uri:\n type: string\n default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"http://aai.onap.svc.cluster.local\"\n tca.aai.username:\n type: string\n default: \"DCAE\"\n tca_handle_in_subscribe_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n tca_handle_out_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n tca_consumer_group:\n type: string\n default: \"cg1\"\n policy_model_id:\n type: string\n default: \"onap.policies.monitoring.tcagen2\"\n policy_id:\n type: string\n default: \"onap.restart.tca\"\nnode_templates:\n docker.tca:\n type: dcae.nodes.ContainerizedServiceComponent\n relationships:\n - target: tcagen2_policy\n type: cloudify.relationships.depends_on\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"9091:\", \"0\"]\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n tca_handle_out:\n dmaap_info:\n topic_url:\n get_input: tca_handle_out_publish_url\n type: message_router\n streams_subscribes:\n tca_handle_in:\n dmaap_info:\n topic_url:\n get_input: tca_handle_in_subscribe_url\n type: message_router\n spring.data.mongodb.uri:\n get_input: spring.data.mongodb.uri\n streams_subscribes.tca_handle_in.consumer_group:\n get_input: tca_consumer_group\n streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n streams_subscribes.tca_handle_in.message_limit: 50000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n streams_subscribes.tca_handle_in.timeout: -1\n tca.aai.enable_enrichment: true\n tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n tca.aai.node_query_path: aai/v11/search/nodes-query\n tca.aai.password:\n get_input: tca.aai.password\n tca.aai.url:\n get_input: tca.aai.url\n tca.aai.username:\n get_input: tca.aai.username\n tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n tca.processing_batch_size: 10000\n tca.enable_abatement: true\n tca.enable_ecomp_logging: true\n docker_config:\n healthcheck:\n endpoint: /actuator/health\n interval: 30s\n timeout: 10s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory:\n get_input: log_directory\n tls_info:\n use_tls: true\n cert_directory: '\''/etc/tca-gen2/ssl'\''\n replicas:\n get_input: replicas\n service_component_type: { get_input: service_name }\n tcagen2_policy:\n type: clamp.nodes.policy\n properties:\n policy_id:\n get_input: policy_id\n policy_model_id:\n get_input: policy_model_id\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 7771 100 124 100 7647 3647 219k --:--:-- --:--:-- --:--:-- 229k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-tcagen2.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-tcagen2.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-tcagen2.yaml .yaml ++ flatten /blueprints/k8s-tcagen2.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n service_component_type:\n type: string\n default: \"dcae-tcagen2\"\n service_id:\n type: string\n default: \"dcae-tcagen2\"\n service_component_name_override:\n type: string\n default: \"dcae-tcagen2\"\n log_directory:\n type: string\n default: \"/opt/logs/dcae-analytics-tca\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n spring.data.mongodb.uri:\n type: string\n default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"http://aai.onap.svc.cluster.local\"\n tca.aai.username:\n type: string\n default: \"DCAE\"\n tca_handle_in_subscribe_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n tca_handle_out_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n tca_consumer_group:\n type: string\n default: \"cg1\"\n\nnode_templates:\n docker.tca:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"9091:\", \"0\"]\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n tca_handle_out:\n dmaap_info:\n topic_url:\n get_input: tca_handle_out_publish_url\n type: message_router\n streams_subscribes:\n tca_handle_in:\n dmaap_info:\n topic_url:\n get_input: tca_handle_in_subscribe_url\n type: message_router\n spring.data.mongodb.uri:\n get_input: spring.data.mongodb.uri\n streams_subscribes.tca_handle_in.consumer_group:\n get_input: tca_consumer_group\n streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n streams_subscribes.tca_handle_in.message_limit: 50000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n streams_subscribes.tca_handle_in.timeout: -1\n tca.aai.enable_enrichment: true\n tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n tca.aai.node_query_path: aai/v11/search/nodes-query\n tca.aai.password:\n get_input: tca.aai.password\n tca.aai.url:\n get_input: tca.aai.url\n tca.aai.username:\n get_input: tca.aai.username\n tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n tca.processing_batch_size: 10000\n tca.enable_abatement: true\n tca.enable_ecomp_logging: true\n docker_config:\n healthcheck:\n endpoint: /actuator/health\n interval: 30s\n timeout: 10s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory:\n get_input: log_directory\n tls_info:\n use_tls: true\n cert_directory: '\''/etc/tca-gen2/ssl'\''\n replicas:\n get_input: replicas\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n service_component_type:\n type: string\n default: \"dcae-tcagen2\"\n service_id:\n type: string\n default: \"dcae-tcagen2\"\n service_component_name_override:\n type: string\n default: \"dcae-tcagen2\"\n log_directory:\n type: string\n default: \"/opt/logs/dcae-analytics-tca\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n spring.data.mongodb.uri:\n type: string\n default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"http://aai.onap.svc.cluster.local\"\n tca.aai.username:\n type: string\n default: \"DCAE\"\n tca_handle_in_subscribe_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n tca_handle_out_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n tca_consumer_group:\n type: string\n default: \"cg1\"\n\nnode_templates:\n docker.tca:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"9091:\", \"0\"]\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n tca_handle_out:\n dmaap_info:\n topic_url:\n get_input: tca_handle_out_publish_url\n type: message_router\n streams_subscribes:\n tca_handle_in:\n dmaap_info:\n topic_url:\n get_input: tca_handle_in_subscribe_url\n type: message_router\n spring.data.mongodb.uri:\n get_input: spring.data.mongodb.uri\n streams_subscribes.tca_handle_in.consumer_group:\n get_input: tca_consumer_group\n streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n streams_subscribes.tca_handle_in.message_limit: 50000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n streams_subscribes.tca_handle_in.timeout: -1\n tca.aai.enable_enrichment: true\n tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n tca.aai.node_query_path: aai/v11/search/nodes-query\n tca.aai.password:\n get_input: tca.aai.password\n tca.aai.url:\n get_input: tca.aai.url\n tca.aai.username:\n get_input: tca.aai.username\n tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n tca.processing_batch_size: 10000\n tca.enable_abatement: true\n tca.enable_ecomp_logging: true\n docker_config:\n healthcheck:\n endpoint: /actuator/health\n interval: 30s\n timeout: 10s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory:\n get_input: log_directory\n tls_info:\n use_tls: true\n cert_directory: '\''/etc/tca-gen2/ssl'\''\n replicas:\n get_input: replicas\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-tcagen2", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\ninputs:\n service_component_type:\n type: string\n default: \"dcae-tcagen2\"\n service_id:\n type: string\n default: \"dcae-tcagen2\"\n service_component_name_override:\n type: string\n default: \"dcae-tcagen2\"\n log_directory:\n type: string\n default: \"/opt/logs/dcae-analytics-tca\"\n replicas:\n type: integer\n description: number of instances\n default: 1\n spring.data.mongodb.uri:\n type: string\n default: \"mongodb://dcae-mongohost/dcae-tcagen2\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"http://aai.onap.svc.cluster.local\"\n tca.aai.username:\n type: string\n default: \"DCAE\"\n tca_handle_in_subscribe_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n tca_handle_out_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT\"\n tca_consumer_group:\n type: string\n default: \"cg1\"\n\nnode_templates:\n docker.tca:\n type: dcae.nodes.ContainerizedServiceComponent\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [\"9091:\", \"0\"]\n properties:\n application_config:\n service_calls: []\n streams_publishes:\n tca_handle_out:\n dmaap_info:\n topic_url:\n get_input: tca_handle_out_publish_url\n type: message_router\n streams_subscribes:\n tca_handle_in:\n dmaap_info:\n topic_url:\n get_input: tca_handle_in_subscribe_url\n type: message_router\n spring.data.mongodb.uri:\n get_input: spring.data.mongodb.uri\n streams_subscribes.tca_handle_in.consumer_group:\n get_input: tca_consumer_group\n streams_subscribes.tca_handle_in.consumer_ids[0]: c0\n streams_subscribes.tca_handle_in.consumer_ids[1]: c1\n streams_subscribes.tca_handle_in.message_limit: 50000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000\n streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000\n streams_subscribes.tca_handle_in.polling.fixed_rate: 0\n streams_subscribes.tca_handle_in.timeout: -1\n tca.aai.enable_enrichment: true\n tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf\n tca.aai.node_query_path: aai/v11/search/nodes-query\n tca.aai.password:\n get_input: tca.aai.password\n tca.aai.url:\n get_input: tca.aai.url\n tca.aai.username:\n get_input: tca.aai.username\n tca.policy: '\''{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}'\''\n tca.processing_batch_size: 10000\n tca.enable_abatement: true\n tca.enable_ecomp_logging: true\n docker_config:\n healthcheck:\n endpoint: /actuator/health\n interval: 30s\n timeout: 10s\n type: http\n image:\n get_input: tag_version\n log_info:\n log_directory:\n get_input: log_directory\n tls_info:\n use_tls: true\n cert_directory: '\''/etc/tca-gen2/ssl'\''\n replicas:\n get_input: replicas\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 7568 100 124 100 7444 3647 213k --:--:-- --:--:-- --:--:-- 223k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-ves-mapper.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-ves-mapper.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-ves-mapper.yaml .yaml ++ flatten /blueprints/k8s-ves-mapper.yaml +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 TechMahindra. All rights reserved.\n# Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ndescription: \"UniversalVESAdapter blueprint\"\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n rcc_notification_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n type: string\n snmp_notification_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n type: string\n tag_version:\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.2.0\"\n type: string\n ves_fault_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n type: string\n ves_measurement_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n type: string\n ves_notification_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n type: string\n ves_pnfRegistration_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n type: string\n service_component_type:\n type: string\n default: \"dcae-svc-vesmapper\"\n service_id:\n type: string\n default: \"dcae-svc-vesmapper\"\n service_component_name_override:\n type: string\n default: \"dcae-svc-vesmapper\"\nnode_templates:\n universalvesadapter:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n CONFIG_BINDING_SERVICE: config_binding_service\n max_wait: 3600\n ports:\n - \"80:0\"\n properties:\n application_config:\n app_preferences:\n collectors:\n -\n identifier: notification-id\n mapping-files:\n -\n defaultMappingFile-rcc-notification: \"org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1'\''pnfRegistration'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1'\''registration_'\''+commonEventHeader.ts1'\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATIONcommonEventHeader.domaincommonEventHeader.ts1commonEventHeader.ts1org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMALpnfRegistrationFields.vendorName+'\''-'\''+pnfRegistrationFields.serialNumberorg.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0\"\n stream_publisher: ves-pnfRegistration\n stream_subscriber: rcc-notification\n -\n identifier: notify OID\n mapping-files:\n -\n defaultMappingFile-snmp-notification: \"'\''3.0'\'''\''FaultField'\'''\''XXXX'\'''\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULTcommonEventHeader.domainorg.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL'\''VesAdapter'\'''\''SNMP Fault'\''org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVEorg.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR\"\n stream_publisher: ves-fault\n stream_subscriber: snmp-notification\n streams_publishes:\n ves-fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n ves-pnfRegistration:\n dmaap_info:\n topic_url:\n get_input: ves_pnfRegistration_publish_url\n type: message_router\n streams_subscribes:\n rcc-notification:\n dmaap_info:\n topic_url:\n get_input: rcc_notification_url\n type: message_router\n snmp-notification:\n dmaap_info:\n topic_url:\n get_input: snmp_notification_url\n type: message_router\n docker_config: {}\n image:\n get_input: tag_version\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n type: dcae.nodes.ContainerizedServiceComponent\ntosca_definitions_version: cloudify_dsl_1_3\n\n' ++ echo '#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 TechMahindra. All rights reserved.\n# Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ndescription: \"UniversalVESAdapter blueprint\"\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n rcc_notification_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n type: string\n snmp_notification_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n type: string\n tag_version:\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.2.0\"\n type: string\n ves_fault_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n type: string\n ves_measurement_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n type: string\n ves_notification_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n type: string\n ves_pnfRegistration_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n type: string\n service_component_type:\n type: string\n default: \"dcae-svc-vesmapper\"\n service_id:\n type: string\n default: \"dcae-svc-vesmapper\"\n service_component_name_override:\n type: string\n default: \"dcae-svc-vesmapper\"\nnode_templates:\n universalvesadapter:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n CONFIG_BINDING_SERVICE: config_binding_service\n max_wait: 3600\n ports:\n - \"80:0\"\n properties:\n application_config:\n app_preferences:\n collectors:\n -\n identifier: notification-id\n mapping-files:\n -\n defaultMappingFile-rcc-notification: \"org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1'\''pnfRegistration'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1'\''registration_'\''+commonEventHeader.ts1'\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATIONcommonEventHeader.domaincommonEventHeader.ts1commonEventHeader.ts1org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMALpnfRegistrationFields.vendorName+'\''-'\''+pnfRegistrationFields.serialNumberorg.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0\"\n stream_publisher: ves-pnfRegistration\n stream_subscriber: rcc-notification\n -\n identifier: notify OID\n mapping-files:\n -\n defaultMappingFile-snmp-notification: \"'\''3.0'\'''\''FaultField'\'''\''XXXX'\'''\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULTcommonEventHeader.domainorg.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL'\''VesAdapter'\'''\''SNMP Fault'\''org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVEorg.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR\"\n stream_publisher: ves-fault\n stream_subscriber: snmp-notification\n streams_publishes:\n ves-fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n ves-pnfRegistration:\n dmaap_info:\n topic_url:\n get_input: ves_pnfRegistration_publish_url\n type: message_router\n streams_subscribes:\n rcc-notification:\n dmaap_info:\n topic_url:\n get_input: rcc_notification_url\n type: message_router\n snmp-notification:\n dmaap_info:\n topic_url:\n get_input: snmp_notification_url\n type: message_router\n docker_config: {}\n image:\n get_input: tag_version\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n type: dcae.nodes.ContainerizedServiceComponent\ntosca_definitions_version: cloudify_dsl_1_3\n\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-ves-mapper", "component": "dcae", "application": "DCAE", "blueprintTemplate": "#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 TechMahindra. All rights reserved.\n# Copyright (c) 2020-2021 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ndescription: \"UniversalVESAdapter blueprint\"\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n rcc_notification_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT\"\n type: string\n snmp_notification_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP\"\n type: string\n tag_version:\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.2.0\"\n type: string\n ves_fault_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n type: string\n ves_measurement_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n type: string\n ves_notification_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n type: string\n ves_pnfRegistration_publish_url:\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n type: string\n service_component_type:\n type: string\n default: \"dcae-svc-vesmapper\"\n service_id:\n type: string\n default: \"dcae-svc-vesmapper\"\n service_component_name_override:\n type: string\n default: \"dcae-svc-vesmapper\"\nnode_templates:\n universalvesadapter:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n envs:\n CONFIG_BINDING_SERVICE: config_binding_service\n max_wait: 3600\n ports:\n - \"80:0\"\n properties:\n application_config:\n app_preferences:\n collectors:\n -\n identifier: notification-id\n mapping-files:\n -\n defaultMappingFile-rcc-notification: \"org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1'\''pnfRegistration'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1'\''registration_'\''+commonEventHeader.ts1'\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATIONcommonEventHeader.domaincommonEventHeader.ts1commonEventHeader.ts1org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMALpnfRegistrationFields.vendorName+'\''-'\''+pnfRegistrationFields.serialNumberorg.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0\"\n stream_publisher: ves-pnfRegistration\n stream_subscriber: rcc-notification\n -\n identifier: notify OID\n mapping-files:\n -\n defaultMappingFile-snmp-notification: \"'\''3.0'\'''\''FaultField'\'''\''XXXX'\'''\''VESMapper'\''org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULTcommonEventHeader.domainorg.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL'\''VesAdapter'\'''\''SNMP Fault'\''org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVEorg.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR\"\n stream_publisher: ves-fault\n stream_subscriber: snmp-notification\n streams_publishes:\n ves-fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n ves-pnfRegistration:\n dmaap_info:\n topic_url:\n get_input: ves_pnfRegistration_publish_url\n type: message_router\n streams_subscribes:\n rcc-notification:\n dmaap_info:\n topic_url:\n get_input: rcc_notification_url\n type: message_router\n snmp-notification:\n dmaap_info:\n topic_url:\n get_input: snmp_notification_url\n type: message_router\n docker_config: {}\n image:\n get_input: tag_version\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n type: dcae.nodes.ContainerizedServiceComponent\ntosca_definitions_version: cloudify_dsl_1_3\n\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 11548 100 124 100 11424 4769 429k --:--:-- --:--:-- --:--:-- 433k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-ves.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-ves.yaml + curl --cacert /certs/cacert.pem -X POST -H 'Content-Type: application/json' -d @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ basename /blueprints/k8s-ves.yaml .yaml ++ flatten /blueprints/k8s-ves.yaml +++ tr -d '\n' +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ FLAT='# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n ves_other_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT\"\n ves_heartbeat_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT\"\n ves_fault_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n ves_measurement_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n ves_notification_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n ves_pnfRegistration_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n ves_3gpp_fault_supervision_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"\n ves_3gpp_provisioning_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"\n ves_3gpp_hearbeat_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"\n ves_3gpp_performance_assurance_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.8.0\"\n internal_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"8080\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30235\"\n internal_port_tls:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"8443\"\n external_port_tls:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30417\"\n auth_method:\n type: string\n default: \"noAuth\"\n service_component_type:\n type: string\n default: \"dcae-ves-collector\"\n service_id:\n type: string\n default: \"dcae-ves-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-ves-collector\"\n enable_tls:\n type: boolean\n default: false\n external_cert_cert_type:\n type: string\n description: Output type\n default: \"JKS\"\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-ves-collector\"\n external_cert_sans:\n type: string\n description: \"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"\n default: \"dcae-ves-collector,ves-collector,ves\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\n replicas:\n type: integer\n description: number of instances\n default: 1\n user_list:\n type: string\n description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password)\n default: \"sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce\"\n collector_externalSchema_checkflag:\n type: integer\n default: 1\n collector_externalSchema_schemasLocation:\n type: string\n default: \"./etc/externalRepo/\"\n collector_externalSchema_mappingFileLocation:\n type: string\n default: \"./etc/externalRepo/schema-map.json\"\nnode_templates:\n ves:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [{get_input: internal_port},\":\",{get_input: external_port}]\n - concat: [{get_input: internal_port_tls},\":\",{get_input: external_port_tls}]\n properties:\n application_config:\n collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance\n collector.inputQueue.maxPending: \"8096\"\n collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks\n collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass\n collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks\n collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass\n collector.schema.checkflag: \"1\"\n collector.schema.file: \"{\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.2.1_ONAP.json\\\"}\"\n collector.externalSchema.checkflag:\n get_input: collector_externalSchema_checkflag\n collector.externalSchema.schemasLocation:\n get_input: collector_externalSchema_schemasLocation\n collector.externalSchema.mappingFileLocation:\n get_input: collector_externalSchema_mappingFileLocation\n event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference\n event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data\n collector.service.port: \"8080\"\n collector.service.secure.port: \"8443\"\n event.transform.flag: \"0\"\n auth.method:\n get_input: auth_method\n header.authlist:\n get_input: user_list\n services_calls: []\n streams_publishes:\n ves-fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n ves-measurement:\n dmaap_info:\n topic_url:\n get_input: ves_measurement_publish_url\n type: message_router\n ves-notification:\n dmaap_info:\n topic_url:\n get_input: ves_notification_publish_url\n type: message_router\n ves-pnfRegistration:\n dmaap_info:\n topic_url:\n get_input: ves_pnfRegistration_publish_url\n type: message_router\n ves-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_heartbeat_publish_url\n type: message_router\n ves-other:\n dmaap_info:\n topic_url:\n get_input: ves_other_publish_url\n type: message_router\n ves-3gpp-fault-supervision:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_fault_supervision_publish_url\n type: message_router\n ves-3gpp-provisioning:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_provisioning_publish_url\n type: message_router\n ves-3gpp-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_hearbeat_publish_url\n type: message_router\n ves-3gpp-performance-assurance:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_performance_assurance_publish_url\n type: message_router\n collector.dynamic.config.update.frequency: \"5\"\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n image:\n get_input: tag_version\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: \"/opt/app/VESCollector/logs\"\n tls_info:\n cert_directory: '\''/opt/app/dcae-certificate/'\''\n use_tls:\n get_input: enable_tls\n external_cert:\n external_cert_directory: '\''/opt/app/dcae-certificate/'\''\n use_external_tls:\n get_input: external_cert_use_external_tls\n cert_type:\n get_input: external_cert_cert_type\n ca_name:\n get_input: external_cert_ca_name\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n type: dcae.nodes.ContainerizedServiceComponent\n' ++ echo '# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n ves_other_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT\"\n ves_heartbeat_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT\"\n ves_fault_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n ves_measurement_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n ves_notification_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n ves_pnfRegistration_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n ves_3gpp_fault_supervision_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"\n ves_3gpp_provisioning_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"\n ves_3gpp_hearbeat_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"\n ves_3gpp_performance_assurance_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.8.0\"\n internal_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"8080\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30235\"\n internal_port_tls:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"8443\"\n external_port_tls:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30417\"\n auth_method:\n type: string\n default: \"noAuth\"\n service_component_type:\n type: string\n default: \"dcae-ves-collector\"\n service_id:\n type: string\n default: \"dcae-ves-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-ves-collector\"\n enable_tls:\n type: boolean\n default: false\n external_cert_cert_type:\n type: string\n description: Output type\n default: \"JKS\"\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-ves-collector\"\n external_cert_sans:\n type: string\n description: \"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"\n default: \"dcae-ves-collector,ves-collector,ves\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\n replicas:\n type: integer\n description: number of instances\n default: 1\n user_list:\n type: string\n description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password)\n default: \"sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce\"\n collector_externalSchema_checkflag:\n type: integer\n default: 1\n collector_externalSchema_schemasLocation:\n type: string\n default: \"./etc/externalRepo/\"\n collector_externalSchema_mappingFileLocation:\n type: string\n default: \"./etc/externalRepo/schema-map.json\"\nnode_templates:\n ves:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [{get_input: internal_port},\":\",{get_input: external_port}]\n - concat: [{get_input: internal_port_tls},\":\",{get_input: external_port_tls}]\n properties:\n application_config:\n collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance\n collector.inputQueue.maxPending: \"8096\"\n collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks\n collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass\n collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks\n collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass\n collector.schema.checkflag: \"1\"\n collector.schema.file: \"{\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.2.1_ONAP.json\\\"}\"\n collector.externalSchema.checkflag:\n get_input: collector_externalSchema_checkflag\n collector.externalSchema.schemasLocation:\n get_input: collector_externalSchema_schemasLocation\n collector.externalSchema.mappingFileLocation:\n get_input: collector_externalSchema_mappingFileLocation\n event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference\n event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data\n collector.service.port: \"8080\"\n collector.service.secure.port: \"8443\"\n event.transform.flag: \"0\"\n auth.method:\n get_input: auth_method\n header.authlist:\n get_input: user_list\n services_calls: []\n streams_publishes:\n ves-fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n ves-measurement:\n dmaap_info:\n topic_url:\n get_input: ves_measurement_publish_url\n type: message_router\n ves-notification:\n dmaap_info:\n topic_url:\n get_input: ves_notification_publish_url\n type: message_router\n ves-pnfRegistration:\n dmaap_info:\n topic_url:\n get_input: ves_pnfRegistration_publish_url\n type: message_router\n ves-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_heartbeat_publish_url\n type: message_router\n ves-other:\n dmaap_info:\n topic_url:\n get_input: ves_other_publish_url\n type: message_router\n ves-3gpp-fault-supervision:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_fault_supervision_publish_url\n type: message_router\n ves-3gpp-provisioning:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_provisioning_publish_url\n type: message_router\n ves-3gpp-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_hearbeat_publish_url\n type: message_router\n ves-3gpp-performance-assurance:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_performance_assurance_publish_url\n type: message_router\n collector.dynamic.config.update.frequency: \"5\"\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n image:\n get_input: tag_version\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: \"/opt/app/VESCollector/logs\"\n tls_info:\n cert_directory: '\''/opt/app/dcae-certificate/'\''\n use_tls:\n get_input: enable_tls\n external_cert:\n external_cert_directory: '\''/opt/app/dcae-certificate/'\''\n use_external_tls:\n get_input: external_cert_use_external_tls\n cert_type:\n get_input: external_cert_cert_type\n ca_name:\n get_input: external_cert_ca_name\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n type: dcae.nodes.ContainerizedServiceComponent\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2105211124, "typeName": "k8s-ves", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.\n# Copyright (c) 2020 Nokia. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\nimports:\n - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n - plugin:k8splugin?version=>=3.4.3,<4.0.0\n\ninputs:\n ves_other_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT\"\n ves_heartbeat_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT\"\n ves_fault_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT\"\n ves_measurement_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT\"\n ves_notification_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT\"\n ves_pnfRegistration_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT\"\n ves_3gpp_fault_supervision_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"\n ves_3gpp_provisioning_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"\n ves_3gpp_hearbeat_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"\n ves_3gpp_performance_assurance_publish_url:\n type: string\n default: \"http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"\n tag_version:\n type: string\n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.8.0\"\n internal_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"8080\"\n external_port:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30235\"\n internal_port_tls:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"8443\"\n external_port_tls:\n type: string\n description: Kubernetes node port on which collector is exposed\n default: \"30417\"\n auth_method:\n type: string\n default: \"noAuth\"\n service_component_type:\n type: string\n default: \"dcae-ves-collector\"\n service_id:\n type: string\n default: \"dcae-ves-collector\"\n service_component_name_override:\n type: string\n default: \"dcae-ves-collector\"\n enable_tls:\n type: boolean\n default: false\n external_cert_cert_type:\n type: string\n description: Output type\n default: \"JKS\"\n external_cert_ca_name:\n type: string\n description: Name of Certificate Authority configured on CertService side.\n default: \"RA\"\n external_cert_common_name:\n type: string\n description: Common name which should be present in certificate.\n default: \"dcae-ves-collector\"\n external_cert_sans:\n type: string\n description: \"List of Subject Alternative Names (SANs) which should be present\n in certificate. Delimiter - , Should contain common_name value and other FQDNs\n under which given component is accessible.\"\n default: \"dcae-ves-collector,ves-collector,ves\"\n external_cert_use_external_tls:\n type: boolean\n description: Flag to indicate external tls enable/disable.\n default: false\n replicas:\n type: integer\n description: number of instances\n default: 1\n user_list:\n type: string\n description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password)\n default: \"sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce\"\n collector_externalSchema_checkflag:\n type: integer\n default: 1\n collector_externalSchema_schemasLocation:\n type: string\n default: \"./etc/externalRepo/\"\n collector_externalSchema_mappingFileLocation:\n type: string\n default: \"./etc/externalRepo/schema-map.json\"\nnode_templates:\n ves:\n interfaces:\n cloudify.interfaces.lifecycle:\n start:\n inputs:\n ports:\n - concat: [{get_input: internal_port},\":\",{get_input: external_port}]\n - concat: [{get_input: internal_port_tls},\":\",{get_input: external_port_tls}]\n properties:\n application_config:\n collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance\n collector.inputQueue.maxPending: \"8096\"\n collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks\n collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass\n collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks\n collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass\n collector.schema.checkflag: \"1\"\n collector.schema.file: \"{\\\"v1\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v2\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v3\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v4\\\":\\\"./etc/CommonEventFormat_27.2.json\\\",\\\"v5\\\":\\\"./etc/CommonEventFormat_28.4.1.json\\\",\\\"v7\\\":\\\"./etc/CommonEventFormat_30.2.1_ONAP.json\\\"}\"\n collector.externalSchema.checkflag:\n get_input: collector_externalSchema_checkflag\n collector.externalSchema.schemasLocation:\n get_input: collector_externalSchema_schemasLocation\n collector.externalSchema.mappingFileLocation:\n get_input: collector_externalSchema_mappingFileLocation\n event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference\n event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data\n collector.service.port: \"8080\"\n collector.service.secure.port: \"8443\"\n event.transform.flag: \"0\"\n auth.method:\n get_input: auth_method\n header.authlist:\n get_input: user_list\n services_calls: []\n streams_publishes:\n ves-fault:\n dmaap_info:\n topic_url:\n get_input: ves_fault_publish_url\n type: message_router\n ves-measurement:\n dmaap_info:\n topic_url:\n get_input: ves_measurement_publish_url\n type: message_router\n ves-notification:\n dmaap_info:\n topic_url:\n get_input: ves_notification_publish_url\n type: message_router\n ves-pnfRegistration:\n dmaap_info:\n topic_url:\n get_input: ves_pnfRegistration_publish_url\n type: message_router\n ves-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_heartbeat_publish_url\n type: message_router\n ves-other:\n dmaap_info:\n topic_url:\n get_input: ves_other_publish_url\n type: message_router\n ves-3gpp-fault-supervision:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_fault_supervision_publish_url\n type: message_router\n ves-3gpp-provisioning:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_provisioning_publish_url\n type: message_router\n ves-3gpp-heartbeat:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_hearbeat_publish_url\n type: message_router\n ves-3gpp-performance-assurance:\n dmaap_info:\n topic_url:\n get_input: ves_3gpp_performance_assurance_publish_url\n type: message_router\n collector.dynamic.config.update.frequency: \"5\"\n docker_config:\n healthcheck:\n endpoint: /healthcheck\n interval: 15s\n timeout: 1s\n type: http\n image:\n get_input: tag_version\n replicas: {get_input: replicas}\n service_component_type: { get_input: service_component_type }\n service_id: { get_input: service_id }\n service_component_name_override: { get_input: service_component_name_override }\n log_info:\n log_directory: \"/opt/app/VESCollector/logs\"\n tls_info:\n cert_directory: '\''/opt/app/dcae-certificate/'\''\n use_tls:\n get_input: enable_tls\n external_cert:\n external_cert_directory: '\''/opt/app/dcae-certificate/'\''\n use_external_tls:\n get_input: external_cert_use_external_tls\n cert_type:\n get_input: external_cert_cert_type\n ca_name:\n get_input: external_cert_ca_name\n external_certificate_parameters:\n common_name:\n get_input: external_cert_common_name\n sans:\n get_input: external_cert_sans\n type: dcae.nodes.ContainerizedServiceComponent\n" }' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 11318 100 124 100 11194 3444 303k --:--:-- --:--:-- --:--:-- 307k + keep_running 'Finished bootstrap steps.' + echo Finished bootstrap steps. {"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}{"code":1,"type":"error","message":"There is a database issue. Connection reset attempt has failed. Please try again soon."}Finished bootstrap steps. + wait + sleep infinity