+ 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 | | Monitoring Service | 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... k8s-pgaas-initdb.... |##################------------------------------| 37.49% k8s-pgaas-initdb.... |####################################------------| 74.98% k8s-pgaas-initdb.... |################################################| 100.0% An error occurred on the server: 400: Invalid blueprint - Failed to resolve the following urls: {'file:///opt/manager/resources/spec/cloudify/3.4/types.yaml': "Import failed: Unable to open import url file:///opt/manager/resources/spec/cloudify/3.4/types.yaml; [Errno 2] No such file or directory: '///opt/manager/resources/spec/cloudify/3.4/types.yaml'"}. In addition, failed to resolve the original import url - Import failed: Unable to open import url http://www.getcloudify.org/spec/cloudify/3.4/types.yaml; HTTPConnectionPool(host='www.getcloudify.org', port=80): Max retries exceeded with url: /spec/cloudify/3.4/types.yaml (Caused by ConnectTimeoutError(, 'Connection to www.getcloudify.org timed out. (connect timeout=10)')) in: /opt/manager/resources/k8s-pgaas-initdb-b4950e0b-25a0-4122-b725-d658483c1316/k8s-pgaas-initdb.yaml in line: 31, column: 0 path: imports value: ['https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml', 'plugin:relationshipplugin?version=1.1.0', 'plugin:sshkeyshare?version=1.2.0', 'plugin:pgaas?version=1.3.0'] + 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 + COUNT=0 + (( 0 > 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... An error occurred on the server: 404: Requested `Blueprint` with ID `pgaas_initdb` was not found + 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 + COUNT=0 + (( 0 > 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 + cfy deployments list Listing all deployments... Deployments: +--------------------------------------------------------+-------------------------------------------------------+--------------------------+--------------------------+------------+----------------+------------+-----------+ | id | blueprint_id | created_at | updated_at | visibility | tenant_name | created_by | site_name | +--------------------------------------------------------+-------------------------------------------------------+--------------------------+--------------------------+------------+----------------+------------+-----------+ | sanity_deployment_2b704718-5904-4b1e-8657-f1d3c9bc51ba | sanity_blueprint_2b704718-5904-4b1e-8657-f1d3c9bc51ba | 2021-09-24 11:19:43.824 | 2021-09-24 11:19:43.824 | tenant | default_tenant | admin | | +--------------------------------------------------------+-------------------------------------------------------+--------------------------+--------------------------+------------+----------------+------------+-----------+ Showing 1 of 1 deployments + . /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 @- https://inventory:8080/dcae-service-types ++ date +%y%m%d%I%M ++ 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' ++ FLAT='# ============LICENSE_START==================================================== \n# ============================================================================= \n# Copyright (c) 2019-2021 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.1\" \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-2021 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.1\" \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 ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2109241122, "typeName": "k8s-bbs-event-processor", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START==================================================== \n# ============================================================================= \n# Copyright (c) 2019-2021 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.1\" \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 Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 3301 100 1786 100 1515 13450 11409 --:--:-- --:--:-- --:--:-- 25007 + 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# ============LICENSE_START=======================================================\n# Copyright (C) 2021 Nokia\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#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\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.1,<2.0.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.6.1\"\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# ============LICENSE_START=======================================================\n# Copyright (C) 2021 Nokia\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#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\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.1,<2.0.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.6.1\"\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": 2109241122, "typeName": "k8s-datafile", "component": "dcae", "application": "DCAE", "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2021 Nokia\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#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\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.1,<2.0.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.6.1\"\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 14379 100 7325 100 7054 198k 190k --:--:-- --:--:-- --:--:-- 401k + 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.1\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.1\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": 2109241122, "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.1\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 5815 100 3043 100 2772 95797 87265 --:--:-- --:--:-- --:--:-- 183k + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-datalake-des.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-datalake-des.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-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# Copyright (C) 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#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\n - plugin:pgaas?version=1.3.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-des'\''\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n despgaas:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: pg_dbName}\n use_existing: true\n\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 PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, 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 relationships:\n - type: cloudify.relationships.depends_on\n target: despgaas\n' ++ echo '# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# Copyright (C) 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#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\n - plugin:pgaas?version=1.3.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-des'\''\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n despgaas:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: pg_dbName}\n use_existing: true\n\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 PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, 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 relationships:\n - type: cloudify.relationships.depends_on\n target: despgaas\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2109241122, "typeName": "k8s-datalake-des", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# Copyright (C) 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#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\n - plugin:pgaas?version=1.3.0\ninputs:\n service_name:\n type: string\n default: '\''dcae-des'\''\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n despgaas:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: pg_dbName}\n use_existing: true\n\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 PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, 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 relationships:\n - type: cloudify.relationships.depends_on\n target: despgaas\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 9759 100 5015 100 4744 149k 141k --:--:-- --:--:-- --:--:-- 297k {"owner":"dcaeorch","typeName":"k8s-bbs-event-processor","typeVersion":2109241122,"blueprintTemplate":"# ============LICENSE_START==========================================================================================================://www.apache.org/licenses/LICENSE-2.0implied.orts:fault: 8443n default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.components.bbs-event-processor:2.1.1\"ault: \"https:message-router:3905/events/unauthenticated.PNF_UPDATE\"t: \"https:message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT\"iption: Close Loop target type value for building CL eventspplication_cl_version:ault: \"vserver.vserver-name\" for building PNF relocation CL eventlControlNameReReg\"lose Loop control name value for building CPE Authentication CL eventringype: stringwhich BBS-ep is exposedceComponentmaap_password }ord: { get_input: dmaap_password }dmaap_username }maap.consumer.consumerId: { get_input: dmaap_consumer_id } aai.port: { get_input: aai_enrichment_port }elinesPollingIntervalSec: 25 application.clTargetType: { get_input: application_cl_target_type }: { get_input: application_cl_target }rolName: { get_input: application_rereg_cl_control_name }trol_name }pplication_logging_level }th: \"/opt/app/bbs-event-processor/etc/cert/trust.jks\"lication.ssl.enableDmaapCertAuth: { get_input: dmaap_secure_enable_cert }et_input: tag_version }s-event-processor/etc/cert'\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"8a717730-167b-4910-85f7-59fcc8f8fd43","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/8a717730-167b-4910-85f7-59fcc8f8fd43"},"created":1632482534309,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datafile","typeVersion":2109241122,"blueprintTemplate":"#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2021 Nokia\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#\n# SPDX-License-Identifier: Apache-2.0\n# ============LICENSE_END=========================================================\n#\n\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.1,<2.0.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.6.1\"\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"267a79fd-3f62-4aa9-a870-7f307086c7d9","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/267a79fd-3f62-4aa9-a870-7f307086c7d9"},"created":1632482534403,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datalake-admin-ui","typeVersion":2109241122,"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.1\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"e05c0b1b-6c38-4b59-a3b4-7a3808bce043","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/e05c0b1b-6c38-4b59-a3b4-7a3808bce043"},"created":1632482534484,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datalake-des","typeVersion":2109241122,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 China Mobile\n# Copyright (C) 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#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\n - plugin:pgaas?version=1.3.0\ninputs:\n service_name:\n type: string\n default: 'dcae-des'\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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\"\n pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n despgaas:\n type: dcae.nodes.pgaas.database\n properties:\n writerfqdn: { get_input: pgaas_cluster_name }\n name: { get_input: pg_dbName}\n use_existing: true\n\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 PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ despgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ despgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ despgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ despgaas, admin, 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 + 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 +++ 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# Copyright (C) 2021 Wipro Limited. 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 - plugin:pgaas?version=1.3.0\ninputs:\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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 pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n feederpgaas:\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 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 PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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 relationships:\n - type: cloudify.relationships.depends_on\n target: feederpgaas\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# Copyright (C) 2021 Wipro Limited. 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 - plugin:pgaas?version=1.3.0\ninputs:\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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 pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n feederpgaas:\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 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 PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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 relationships:\n - type: cloudify.relationships.depends_on\n target: feederpgaas\n' + echo ' { "vnfTypes": [], "owner": "dcaeorch", "typeVersion": 2109241122, "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# Copyright (C) 2021 Wipro Limited. 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 - plugin:pgaas?version=1.3.0\ninputs:\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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 pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n feederpgaas:\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 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 PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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 relationships:\n - type: cloudify.relationships.depends_on\n target: feederpgaas\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 9463 100 4867 100 4596 163k 154k --:--:-- --:--:-- --:--:-- 330k + 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-2021 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.3.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-2021 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.3.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": 2109241122, "typeName": "k8s-heartbeat", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 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.3.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 13495 100 6883 100 6612 205k 197k --:--:-- --:--:-- --:--:-- 411k + 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": 2109241122, "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 5243 100 2757 100 2486 44459 40089 --:--:-- --:--:-- --:--:-- 85950 + for BP in /blueprints/*.yaml + upload_service_type /blueprints/k8s-holmes-engine.yaml /certs/cacert.pem + '[' /certs/cacert.pem ']' + TLSCURL='--cacert /certs/cacert.pem' + create_service_type /blueprints/k8s-holmes-engine.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-holmes-engine.yaml .yaml ++ flatten /blueprints/k8s-holmes-engine.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) 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": 2109241122, "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 10279 100 5275 100 5004 119k 113k --:--:-- --:--:-- --:--:-- 239k 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 relationships:\n - type: cloudify.relationships.depends_on\n target: despgaas\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"dc1be89e-84fc-4a7e-9e17-e76f1a23f1bf","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/dc1be89e-84fc-4a7e-9e17-e76f1a23f1bf"},"created":1632482534569,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-datalake-feeder","typeVersion":2109241122,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2020 QCT. All rights reserved.\n# Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.\n# Copyright (C) 2021 Wipro Limited. 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 - plugin:pgaas?version=1.3.0\ninputs:\n pg_dbName:\n type: string\n description: DB name\n default: \"datalake\"\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.1\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 pgaas_cluster_name:\n type: string\n description: pg cluster\n default: \"dcae-pg-primary.onap\"\n\nnode_templates:\n feederpgaas:\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 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 PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\n properties:\n application_config:\n PG_HOST:\n { get_attribute: [ feederpgaas, admin, host ] }\n PG_PORT:\n { get_attribute: [ feederpgaas, admin, port ] }\n PG_USER:\n { get_attribute: [ feederpgaas, admin, user ] }\n PG_PASSWORD:\n { get_attribute: [ feederpgaas, admin, password ] }\n PG_DB:\n get_input: pg_dbName\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 relationships:\n - type: cloudify.relationships.depends_on\n target: feederpgaas\n","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"c9536c40-80d4-43dd-86ca-990b78c3a6af","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/c9536c40-80d4-43dd-86ca-990b78c3a6af"},"created":1632482534648,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-heartbeat","typeVersion":2109241122,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-2021 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.3.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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"a1b55776-7ac4-43c8-9785-97290738249c","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/a1b55776-7ac4-43c8-9785-97290738249c"},"created":1632482534722,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-helm","typeVersion":2109241122,"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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"4e7c07f0-dd7c-4c4e-8161-b615f66970f7","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/4e7c07f0-dd7c-4c4e-8161-b615f66970f7"},"created":1632482534824,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-holmes-engine","typeVersion":2109241122,"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 t+ 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 + 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-holmes-rules.yaml .yaml ++ flatten /blueprints/k8s-holmes-rules.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) 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": 2109241122, "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 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 17571 0 8921 100 8650 181k 175k --:--:-- --:--:-- --:--:-- 365k + 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-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\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.9.1'\''\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-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\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.9.1'\''\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": 2109241122, "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-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\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.9.1'\''\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 he 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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"967e884a-0837-4b70-8d82-1b5be21a284f","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/967e884a-0837-4b70-8d82-1b5be21a284f"},"created":1632482534909,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-holmes-rules","typeVersion":2109241122,"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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"ecdd5c9a-6978-4876-8adb-9c494a30f37a","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/ecdd5c9a-6978-4876-8adb-9c494a30f37a"},"created":1632482534985,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-hv-ves","typeVersion":2109241122,"blueprintTemplate":"# -*- indent-tabs-mode: nil -*- # vi: set expandtab:\n#\n# ============LICENSE_START========================================================\n# =================================================================================\n# Copyright (C) 2018-2019 NOKIA\n# Modifications 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\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.9.1'\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 configur 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 13685 100 6978 100 6707 134k 129k --:--:-- --:--:-- --:--:-- 267k + 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 ++ 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 #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\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=========================================================\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.1,<2.0.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.1\"\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 #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\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=========================================================\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.1,<2.0.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.1\"\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": 2109241122, "typeName": "k8s-kpi-ms", "component": "dcae", "application": "DCAE", "blueprintTemplate": " #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\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=========================================================\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.1,<2.0.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.1\"\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 100 11891 100 6081 100 5810 98k 96465 --:--:-- --:--:-- --:--:-- 193k + 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 --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-pgaas-initdb.yaml .yaml ++ flatten /blueprints/k8s-pgaas-initdb.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# 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": 2109241122, "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 100 6097 100 3184 100 2913 92663 84776 --:--:-- --:--:-- --:--:-- 175k + 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 +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' +++ tr -d '\n' ++ FLAT='#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2019-2020 Nordix Foundation.\n# Copyright (C) 2020-2021 Nokia\n# Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\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#\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.1,<2.0.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.7.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-2021 Nokia\n# Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\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#\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.1,<2.0.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.7.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": 2109241122, "typeName": "k8s-pm-mapper", "component": "dcae", "application": "DCAE", "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2019-2020 Nordix Foundation.\n# Copyright (C) 2020-2021 Nokia\n# Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\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#\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.1,<2.0.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.7.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 ed 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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"99fcd534-7b5c-4f00-b1b0-5c5c87de1a79","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/99fcd534-7b5c-4f00-b1b0-5c5c87de1a79"},"created":1632482535089,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-kpi-ms","typeVersion":2109241122,"blueprintTemplate":" #\n #============LICENSE_START=======================================================\n #Copyright (C) 2021 China Mobile.\n #Copyright (C) 2021 Nokia\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=========================================================\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.1,<2.0.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.1\"\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"54c92ece-0280-46c6-88b4-098dad1f82da","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/54c92ece-0280-46c6-88b4-098dad1f82da"},"created":1632482535197,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-pgaas-initdb","typeVersion":2109241122,"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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"9da5546f-6bf9-4641-95b2-1baa266aa6f9","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/9da5546f-6bf9-4641-95b2-1baa266aa6f9"},"created":1632482535277,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-pm-mapper","typeVersion":2109241122,"blueprintTemplate":"#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2019-2020 Nordix Foundation.\n# Copyright (C) 2020-2021 Nokia\n# Modifications Copyright (C) 2021 by Samsung Electronics Co., Ltd.\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#\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.1,<2.0.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.7.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 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 14107 100 7189 100 6918 172k 165k --:--:-- --:--:-- --:--:-- 344k + 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-2021 Nordix Foundation.\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#\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.3.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 pmsh_policy:\n subscription:\n subscriptionName: ExtraPM-All-gNB-R2B\n administrativeState: LOCKED\n fileBasedGP: 15\n fileLocation: \"/pm/pm.xml\"\n nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\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-2021 Nordix Foundation.\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#\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.3.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 pmsh_policy:\n subscription:\n subscriptionName: ExtraPM-All-gNB-R2B\n administrativeState: LOCKED\n fileBasedGP: 15\n fileLocation: \"/pm/pm.xml\"\n nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\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": 2109241122, "typeName": "k8s-pmsh", "component": "dcae", "application": "DCAE", "blueprintTemplate": "#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2020-2021 Nordix Foundation.\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#\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.3.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 pmsh_policy:\n subscription:\n subscriptionName: ExtraPM-All-gNB-R2B\n administrativeState: LOCKED\n fileBasedGP: 15\n fileLocation: \"/pm/pm.xml\"\n nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\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 13359 100 6815 100 6544 163k 156k --:--:-- --:--:-- --:--:-- 326k + 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 +++ 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-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/v23/network/pnfs/pnf\"\n baseUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\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.7.1\"\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/v23\"\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/v23/network/pnfs/pnf\"\n baseUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\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.7.1\"\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/v23\"\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": 2109241122, "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/v23/network/pnfs/pnf\"\n baseUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\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.7.1\"\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/v23\"\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 14839 100 7555 100 7284 162k 156k --:--:-- --:--:-- --:--:-- 322k 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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"3ba23a6d-1d13-472b-9877-a75de42e3126","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/3ba23a6d-1d13-472b-9877-a75de42e3126"},"created":1632482535362,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-pmsh","typeVersion":2109241122,"blueprintTemplate":"#\n# ============LICENSE_START=======================================================\n# Copyright (C) 2020-2021 Nordix Foundation.\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#\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.3.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 pmsh_policy:\n subscription:\n subscriptionName: ExtraPM-All-gNB-R2B\n administrativeState: LOCKED\n fileBasedGP: 15\n fileLocation: \"/pm/pm.xml\"\n nfFilter: { \"nfNames\": [ \"^pnf.*\",\"^vnf.*\" ],\"modelInvariantIDs\": [ ],\"modelVersionIDs\": [ ],\"modelNames\": [ ] }\n measurementGroups: [ { \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"countera\" },{ \"measurementType\": \"counterb\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dna\" },{ \"DN\": \"dnb\" } ] } },{ \"measurementGroup\": { \"measurementTypes\": [ { \"measurementType\": \"counterc\" },{ \"measurementType\": \"counterd\" } ],\"managedObjectDNsBasic\": [ { \"DN\": \"dnc\" },{ \"DN\": \"dnd\" } ] } } ]\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"cd5dec95-ff5f-48ad-982c-565157cd1485","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/cd5dec95-ff5f-48ad-982c-565157cd1485"},"created":1632482535441,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-prh","typeVersion":2109241122,"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/v23/network/pnfs/pnf\"\n baseUrl:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443/aai/v23\"\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.7.1\"\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/v23\"\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.enableAaiCertA+ 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 +++ tr -d '\n' -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ 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.5\"\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.5\"\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": 2109241122, "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.5\"\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 13293 100 6782 100 6511 126k 121k --:--:-- --:--:-- --:--:-- 249k + 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 # 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\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.6\"\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 # 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\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.6\"\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": 2109241122, "typeName": "k8s-slice-analysis-ms", "component": "dcae", "application": "DCAE", "blueprintTemplate": " #\n #============LICENSE_START=======================================================\n # Copyright (C) 2020-2021 Wipro Limited.\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\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.6\"\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 uth: { 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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"f1c8a292-5ae5-4ea2-b359-2496d539207e","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/f1c8a292-5ae5-4ea2-b359-2496d539207e"},"created":1632482535522,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-restconf","typeVersion":2109241122,"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.5\"\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"d5b23d3e-1695-4d0c-b6b9-f3f4d91921e6","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/d5b23d3e-1695-4d0c-b6b9-f3f4d91921e6"},"created":1632482535624,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-slice-analysis-ms","typeVersion":2109241122,"blueprintTemplate":" #\n #============LICENSE_START=======================================================\n # Copyright (C) 2020-2021 Wipro Limited.\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\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.6\"\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 sliceanal 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 16867 0 8569 100 8298 226k 219k --:--:-- --:--:-- --:--:-- 457k + 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.5\"\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.5\"\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.5\"\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.5\"\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": 2109241122, "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.5\"\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.5\"\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 9393 100 4832 100 4561 127k 120k --:--:-- --:--:-- --:--:-- 254k + 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 # 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\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.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: \"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 # 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\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.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: \"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": 2109241122, "typeName": "k8s-sonhms", "component": "dcae", "application": "DCAE", "blueprintTemplate": " # ============LICENSE_START=======================================================\n # son-handler\n # ================================================================================\n # Copyright (C) 2019-2020 Wipro Limited.\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\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.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: \"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 ysisms.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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"78f4a56a-03ae-4416-bb87-6d5f3ce4c318","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/78f4a56a-03ae-4416-bb87-6d5f3ce4c318"},"created":1632482535708,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-snmptrap","typeVersion":2109241122,"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.5\"\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.5\"\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"4a49d36e-60e0-4392-aa28-a99356d6d0da","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/4a49d36e-60e0-4392-aa28-a99356d6d0da"},"created":1632482535788,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-sonhms","typeVersion":2109241122,"blueprintTemplate":" # ============LICENSE_START=======================================================\n # son-handler\n # ================================================================================\n # Copyright (C) 2019-2020 Wipro Limited.\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\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.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: \"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- 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 22731 0 11501 100 11230 243k 238k --:--:-- --:--:-- --:--:-- 482k 100 22731 0 11501 100 11230 242k 236k --:--:-- --:--:-- --:--:-- 472k + 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 +++ tr -d '\n' +++ sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e 's/$/\\n/g' ++ FLAT='# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-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#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.1\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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\"\n cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\n\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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-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#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.1\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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\"\n cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\n\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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": 2109241122, "typeName": "k8s-tcagen2-clampnode", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-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#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.1\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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\"\n cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\n\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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 16605 0 8438 100 8167 147k 143k --:--:-- --:--:-- --:--:-- 294k + 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-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\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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 cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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-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\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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 cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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": 2109241122, "typeName": "k8s-tcagen2", "component": "dcae", "application": "DCAE", "blueprintTemplate": "# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-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\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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 cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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 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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"370c6048-d893-4468-b630-fc08f84c75a6","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/370c6048-d893-4468-b630-fc08f84c75a6"},"created":1632482535876,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-tcagen2-clampnode","typeVersion":2109241122,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-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#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.1\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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\"\n cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\n\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"65bbfbe1-befe-4461-a5d8-242c24ba961b","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/65bbfbe1-befe-4461-a5d8-242c24ba961b"},"created":1632482535988,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-tcagen2","typeVersion":2109241122,"blueprintTemplate":"# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (C) 2019-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\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.3.1\"\n tca.aai.password:\n type: string\n default: \"DCAE\"\n tca.aai.url:\n type: string\n default: \"https://aai.onap.svc.cluster.local:8443\"\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 cpu_limit:\n type: string\n default: \"2000m\"\n cpu_request:\n type: string\n default: \"1000m\"\n memory_limit:\n type: string\n default: \"2048Mi\"\n memory_request:\n type: string\n default: \"1024Mi\"\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 resource_config:\n limits:\n cpu:\n get_input: cpu_limit\n 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 16191 0 8231 100 7960 216k 209k --:--:-- --:--:-- --:--:-- 439k + 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 ++ 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-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.3.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.3.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": 2109241122, "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.3.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 23119 0 11695 100 11424 229k 224k --:--:-- --:--:-- --:--:-- 460k + 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 +++ 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# 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.10.1\"\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-2021 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.10.1\"\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": 2109241122, "typeName": "k8s-ves", "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# 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.10.1\"\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 memory:\n get_input: memory_limit\n requests:\n cpu:\n get_input: cpu_request\n memory:\n get_input: memory_request\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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"fcf8fad2-de03-456f-ba76-7c14fa032142","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/fcf8fad2-de03-456f-ba76-7c14fa032142"},"created":1632482536084,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-ves-mapper","typeVersion":2109241122,"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.3.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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"476ffff8-1caf-40e7-bc47-23723cfc9229","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/476ffff8-1caf-40e7-bc47-23723cfc9229"},"created":1632482536184,"deactivated":null}{"owner":"dcaeorch","typeName":"k8s-ves","typeVersion":2109241122,"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# 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.10.1\"\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 servic 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 22661 0 11466 100 11195 276k 269k --:--:-- --:--:-- --:--:-- 553k + keep_running 'Finished bootstrap steps.' + echo Finished bootstrap steps. e_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","serviceIds":null,"vnfTypes":[],"serviceLocations":null,"asdcServiceId":null,"asdcResourceId":null,"asdcServiceURL":null,"application":"DCAE","component":"dcae","typeId":"edff97c3-e723-4196-8a72-e48138aad960","selfLink":{"rel":"self","href":"https://inventory:8080/dcae-service-types/edff97c3-e723-4196-8a72-e48138aad960"},"created":1632482536257,"deactivated":null}Finished bootstrap steps. + wait + sleep infinity