From 01d6019fca028906a5d4674a3a785b7851bb75e3 Mon Sep 17 00:00:00 2001 From: Jack Lucas Date: Wed, 17 Jun 2020 17:11:17 -0400 Subject: Remove plugin uploads from bootstrap container Update other blueprints Update blueprints for components loaded at boot time Move Consul service registrations out of bootstrap script (use Consul init container in OOM chart instead) Issue-ID: DCAEGEN2-1789 Issue-ID: DCAEGEN2-2237 Issue-ID: DCAEGEN2-2236 Signed-off-by: Jack Lucas Change-Id: I3532d21be3c520a63ca6176dc2c085665db0add8 --- Dockerfile-template | 33 +++---------- README.md | 13 ++--- blueprints/k8s-bbs-event-processor.yaml | 4 +- blueprints/k8s-datafile.yaml | 8 +-- blueprints/k8s-datalake-admin-ui.yaml | 4 +- blueprints/k8s-datalake-feeder.yaml | 6 +-- blueprints/k8s-heartbeat.yaml | 6 +-- blueprints/k8s-helm.yaml | 20 ++++---- blueprints/k8s-holmes-engine.yaml | 8 +-- blueprints/k8s-holmes-rules.yaml | 8 +-- blueprints/k8s-hv-ves.yaml | 11 +++-- blueprints/k8s-pgaas-initdb.yaml | 10 ++-- blueprints/k8s-pm-mapper.yaml | 12 ++--- blueprints/k8s-pmsh.yaml | 5 +- blueprints/k8s-prh.yaml | 5 +- blueprints/k8s-restconf.yaml | 2 +- blueprints/k8s-snmptrap.yaml | 2 +- blueprints/k8s-sonhms.yaml | 26 +++++----- blueprints/k8s-tca-clampnode.yaml | 4 +- blueprints/k8s-tca.yaml | 4 +- blueprints/k8s-tcagen2-clampnode.yaml | 4 +- blueprints/k8s-tcagen2.yaml | 2 +- blueprints/k8s-ves-mapper.yaml | 86 ++++++++++++++++----------------- blueprints/k8s-ves.yaml | 6 +-- config/00-consul.json | 9 ---- pom.xml | 2 +- scripts/bootstrap.sh | 66 +------------------------ scripts/load-plugins.sh | 67 ------------------------- scripts/uninstall.sh | 4 -- version.properties | 4 +- 30 files changed, 140 insertions(+), 301 deletions(-) delete mode 100644 config/00-consul.json delete mode 100755 scripts/load-plugins.sh diff --git a/Dockerfile-template b/Dockerfile-template index 54609ca..9810009 100644 --- a/Dockerfile-template +++ b/Dockerfile-template @@ -19,54 +19,35 @@ FROM centos:7.4.1708 LABEL maintainer="maintainer" -ENV DCAE_REPO {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }} -ENV CCSDK_REPO {{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }} -ENV BP_REPO {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_blueprints_releases }} - # Install gcc RUN yum install -y gcc python-devel -# Install Consul -RUN yum install -y unzip \ - && mkdir -p /opt/consul/bin \ - && mkdir -p /opt/consul/data \ - && mkdir -p /opt/consul/config \ - && curl -Ssf https://releases.hashicorp.com/consul/1.2.1/consul_1.2.1_linux_amd64.zip > /tmp/consul.zip \ - && unzip -pj /tmp/consul.zip > /opt/consul/bin/consul \ - && chmod +x /opt/consul/bin/consul -COPY config/00-consul.json /opt/consul/config/ - # Install jq RUN curl -Ssf -L "https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64" > /bin/jq \ && chmod +x /bin/jq -# Install pip and Cloudify CLI (stay at version 4.2 because of changes in higher versions) +# Install pip and Cloudify CLI RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ && python get-pip.py \ && rm get-pip.py \ - && pip install cloudify==4.2 + && pip install cloudify==4.5.5 # Copy scripts RUN mkdir scripts COPY scripts/ /scripts -# Get plugins from raw repos -RUN scripts/load-plugins.sh ${DCAE_REPO} ${CCSDK_REPO} \ - && rm scripts/load-plugins.sh \ -# Make sure scripts are executable - && chmod +x /scripts/*.sh - # Load blueprints and input templates COPY blueprints/ /blueprints # Set up runtime script ENTRYPOINT exec "/scripts/bootstrap.sh" -# Set up a non-root user -RUN mkdir -p /opt/bootstrap \ +# Make scripts executable & set up a non-root user +RUN chmod +x /scripts/*.sh \ + && mkdir -p /opt/bootstrap \ && useradd -d /opt/bootstrap bootstrap \ && chown -R bootstrap:bootstrap /opt/bootstrap \ && chown -R bootstrap:bootstrap /scripts \ - && chown -R bootstrap:bootstrap /blueprints \ - && chown -R bootstrap:bootstrap /opt/consul + && chown -R bootstrap:bootstrap /blueprints + USER bootstrap diff --git a/README.md b/README.md index 8d3a870..41fffca 100644 --- a/README.md +++ b/README.md @@ -12,16 +12,17 @@ for the bootstrap container. _Note: Prior to the Frankfurt release (R6), this repository held blueprint templates for components deployed using Cloudify Manager. The build process for this repository expanded the templates and pushed them to the Nexus raw -repository. The DCAE bootstrap container was hosted in the `dcaegen2.deployments` repository. The Docker build process for the bootstrap containter image pulled the blueprints it needed from the Nexus raw repository._ +repository. The DCAE bootstrap container was hosted in the `dcaegen2.deployments` repository. +The Docker build process for the bootstrap containter image pulled the blueprints it needed from the Nexus raw repository._ ## DCAE Bootstrap Container -This container is responsible for loading plugins and wagons onto the +This container is responsible for loading blueprints onto the DCAE Cloudify Manager instance and for launching DCAE components. -The Docker image build process loads plugins and blueprints into the -image's file system. The plugins are pulled from the Nexus raw repository. The -blueprints are copied from the `blueprints` directory in this repository. At run time, the main script in the container -(`bootstrap.sh`) uploads the plugins to Cloudify Manager, then installs +The Docker image build process loads blueprints into the +image's file system. The blueprints are copied from the `blueprints` directory in this repository. +At run time, the main script in the container +(`bootstrap.sh`) installs components using the blueprints. The container expects to be started with two environment variables: diff --git a/blueprints/k8s-bbs-event-processor.yaml b/blueprints/k8s-bbs-event-processor.yaml index bd44a6c..5115b6b 100644 --- a/blueprints/k8s-bbs-event-processor.yaml +++ b/blueprints/k8s-bbs-event-processor.yaml @@ -19,7 +19,7 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=3.0.0 inputs: aai_enrichment_host: @@ -201,4 +201,4 @@ node_templates: start: inputs: ports: - - concat: [{get_input: internal_port},":",{get_input: external_port}] + - concat: [{get_input: internal_port},":",{get_input: external_port}] diff --git a/blueprints/k8s-datafile.yaml b/blueprints/k8s-datafile.yaml index 15d917c..5ddb132 100644 --- a/blueprints/k8s-datafile.yaml +++ b/blueprints/k8s-datafile.yaml @@ -6,8 +6,8 @@ tosca_definitions_version: cloudify_dsl_1_3 description: Docker application to collect log file from PNF imports: - http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml -- https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml -- https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml +- plugin:k8splugin?version=3.0.0 +- plugin:dmaap?version=1.5.0 inputs: PM_MEAS_FILES_feed0_location: type: string @@ -126,10 +126,10 @@ node_templates: memory: get_input: datafile-collector_memory_request relationships: - - type: ccsdk.relationships.publish_files + - type: dcaegen2.relationships.publish_files target: feed0 feed0: - type: ccsdk.nodes.Feed + type: dcaegen2.nodes.Feed properties: feed_name: get_input: feed0_name diff --git a/blueprints/k8s-datalake-admin-ui.yaml b/blueprints/k8s-datalake-admin-ui.yaml index 34d4c92..1428de8 100644 --- a/blueprints/k8s-datalake-admin-ui.yaml +++ b/blueprints/k8s-datalake-admin-ui.yaml @@ -20,8 +20,8 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml + - plugin:k8splugin?version=2.0.0 + - plugin:dcaepolicyplugin?version=2.4.0 inputs: image_name: description: datalake feeder image URL. diff --git a/blueprints/k8s-datalake-feeder.yaml b/blueprints/k8s-datalake-feeder.yaml index 84de0f9..bd67c79 100644 --- a/blueprints/k8s-datalake-feeder.yaml +++ b/blueprints/k8s-datalake-feeder.yaml @@ -20,12 +20,12 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml + - plugin:k8splugin?version=2.0.0 + - plugin:dcaepolicyplugin?version=2.4.0 inputs: mariadb_address: type: string - description: MariaDB URL + description: MariaDB URL default: "mariadb-galera" mariadb_port: type: string diff --git a/blueprints/k8s-heartbeat.yaml b/blueprints/k8s-heartbeat.yaml index dfd0463..35e725a 100644 --- a/blueprints/k8s-heartbeat.yaml +++ b/blueprints/k8s-heartbeat.yaml @@ -19,8 +19,8 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml + - plugin:k8splugin?version=3.0.0 + - plugin:pgaas?version=1.3.0 inputs: @@ -132,7 +132,7 @@ node_templates: get_input: pg_dbName ports: - "10002:0" - + properties: application_config: CBS_polling_allowed: diff --git a/blueprints/k8s-helm.yaml b/blueprints/k8s-helm.yaml index 6b69624..4620a8d 100644 --- a/blueprints/k8s-helm.yaml +++ b/blueprints/k8s-helm.yaml @@ -1,6 +1,6 @@ # ============LICENSE_START========================================== # =================================================================== -# Copyright (c) 2019 AT&T +# Copyright (c) 2019-2020 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,7 +18,7 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/helm/4.0.0/helm-type.yaml" + - plugin:helm?version=4.2.0 inputs: tiller-server-ip: @@ -45,15 +45,15 @@ node_templates: dcaecomponent: type: onap.nodes.component properties: - tiller-server-ip: { get_input: tiller-server-ip } - tiller-server-port: { get_input: tiller-server-port } - component-name: { get_input: component-name } - chart-repo-url: { get_input: chart-repo-url } - chart-version: { get_input: chart-version } + tiller_ip: { get_input: tiller-server-ip } + tiller_port: { get_input: tiller-server-port } + component_name: { get_input: component-name } + chart_repo_url: { get_input: chart-repo-url } + chart_version: { get_input: chart-version } namespace: { get_input: namespace } - stable-repo-url: { get_input: stable-repo-url} - config-url: { get_input: config-url} - config-format: { get_input: config-format} + stable_repo_url: { get_input: stable-repo-url} + config_url: { get_input: config-url} + config_format: { get_input: config-format} outputs: dcaecomponent_install_status: value: { get_attribute: [ dcaecomponent, install-status ] } diff --git a/blueprints/k8s-holmes-engine.yaml b/blueprints/k8s-holmes-engine.yaml index 0269018..b4238a0 100644 --- a/blueprints/k8s-holmes-engine.yaml +++ b/blueprints/k8s-holmes-engine.yaml @@ -2,7 +2,7 @@ # # ============LICENSE_START==================================================== # ============================================================================= -# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved. # ============================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,9 +20,9 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml -- "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml" -- "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml" -- "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml" +- plugin:k8splugin?version=2.0.0 +- plugin:dcaepolicyplugin?version=2.4.0 +- plugin:pgaas?version=1.3.0 inputs: dcae_CL_publish_url: type: string diff --git a/blueprints/k8s-holmes-rules.yaml b/blueprints/k8s-holmes-rules.yaml index 3b9880a..b41f560 100644 --- a/blueprints/k8s-holmes-rules.yaml +++ b/blueprints/k8s-holmes-rules.yaml @@ -2,7 +2,7 @@ # # ============LICENSE_START==================================================== # ============================================================================= -# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved. # ============================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,9 +20,9 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml -- "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml" -- "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml" -- "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml" +- plugin:k8splugin?version=2.0.0 +- plugin:dcaepolicyplugin?version=2.4.0 +- plugin:pgaas?version=1.3.0 inputs: msb_hostname: type: string diff --git a/blueprints/k8s-hv-ves.yaml b/blueprints/k8s-hv-ves.yaml index 97b9d58..680ec93 100644 --- a/blueprints/k8s-hv-ves.yaml +++ b/blueprints/k8s-hv-ves.yaml @@ -1,9 +1,10 @@ # -*- indent-tabs-mode: nil -*- # vi: set expandtab: # -# ============LICENSE_START==================================================== -# ============================================================================= +# ============LICENSE_START======================================================== +# ================================================================================= # Copyright (C) 2018-2019 NOKIA -# ============================================================================= +# Modifications copyright (c) 2020 AT&T Intellectual Property. All Rights Reserved +# ================================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -15,13 +16,13 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# ============LICENSE_END====================================================== +# ============LICENSE_END========================================================== tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=2.0.0 inputs: tag_version: diff --git a/blueprints/k8s-pgaas-initdb.yaml b/blueprints/k8s-pgaas-initdb.yaml index 4cdf5ae..7809680 100644 --- a/blueprints/k8s-pgaas-initdb.yaml +++ b/blueprints/k8s-pgaas-initdb.yaml @@ -3,7 +3,7 @@ # ============LICENSE_START==================================================== # org.onap.dcae # ============================================================================= -# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved. # ============================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,9 +30,9 @@ description: |- imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/relationshipplugin/1.1.0/relationshipplugin_types.yaml" - - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/sshkeyshare/sshkey_types.yaml" - - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml" + - plugin:relationshipplugin?version=1.1.0 + - plugin:sshkeyshare?version=1.2.0 + - plugin:pgaas?version=1.3.0 inputs: blueprint_version: @@ -64,7 +64,7 @@ node_templates: target: sharedsshkey_pgrs sharedsshkey_pgrs: - type: ccsdk.nodes.ssh.keypair + type: dcaegen2.nodes.ssh.keypair outputs: diff --git a/blueprints/k8s-pm-mapper.yaml b/blueprints/k8s-pm-mapper.yaml index 0e477b4..b74a50e 100644 --- a/blueprints/k8s-pm-mapper.yaml +++ b/blueprints/k8s-pm-mapper.yaml @@ -22,8 +22,8 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml' - - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml' - - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml' + - plugin:k8splugin?version=3.0.0 + - plugin:dmaap?version=1.5.0 inputs: filter: @@ -115,13 +115,13 @@ inputs: node_templates: pm-feed: - type: ccsdk.nodes.Feed + type: dcaegen2.nodes.Feed properties: feed_name: { get_input: feed_name } useExisting: true pm-topic: - type: ccsdk.nodes.Topic + type: dcaegen2.nodes.Topic properties: topic_name: { get_input: topic_name } @@ -136,9 +136,9 @@ node_templates: - '8081:0' relationships: - - type: ccsdk.relationships.subscribe_to_files + - type: dcaegen2.relationships.subscribe_to_files target: pm-feed - - type: ccsdk.relationships.publish_events + - type: dcaegen2.relationships.publish_events target: pm-topic properties: diff --git a/blueprints/k8s-pmsh.yaml b/blueprints/k8s-pmsh.yaml index 39e0d95..1304d68 100644 --- a/blueprints/k8s-pmsh.yaml +++ b/blueprints/k8s-pmsh.yaml @@ -22,9 +22,8 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml' - - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml' - - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml' - + - plugin:k8splugin?version=3.0.0 + - plugin:pgaas?version=1.3.0 inputs: tag_version: type: string diff --git a/blueprints/k8s-prh.yaml b/blueprints/k8s-prh.yaml index a95d889..5e924a7 100644 --- a/blueprints/k8s-prh.yaml +++ b/blueprints/k8s-prh.yaml @@ -2,7 +2,7 @@ # # ============LICENSE_START==================================================== # ============================================================================= -# Copyright (c) 2018-2019 AT&T, NOKIA +# Copyright (c) 2018-2020 AT&T, NOKIA # ============================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,8 +21,7 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml - + - plugin:k8splugin?version=2.0.0 inputs: pnfUrl: type: string diff --git a/blueprints/k8s-restconf.yaml b/blueprints/k8s-restconf.yaml index 8c4ee17..da42ef6 100644 --- a/blueprints/k8s-restconf.yaml +++ b/blueprints/k8s-restconf.yaml @@ -23,7 +23,7 @@ description: > imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=2.0.0 inputs: dmaap_host: type: string diff --git a/blueprints/k8s-snmptrap.yaml b/blueprints/k8s-snmptrap.yaml index 5e9fc9f..122821c 100644 --- a/blueprints/k8s-snmptrap.yaml +++ b/blueprints/k8s-snmptrap.yaml @@ -21,7 +21,7 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=2.0.0 inputs: tag_version: type: string diff --git a/blueprints/k8s-sonhms.yaml b/blueprints/k8s-sonhms.yaml index 172f466..4d9d648 100644 --- a/blueprints/k8s-sonhms.yaml +++ b/blueprints/k8s-sonhms.yaml @@ -6,9 +6,9 @@ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at - # + # # http://www.apache.org/licenses/LICENSE-2.0 - # + # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -19,9 +19,9 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml" - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml + - plugin:k8splugin?version=3.0.0 + - plugin:pgaas?version=1.3.0 + - plugin:dcaepolicyplugin?version=2.4.0 inputs: replicas: type: integer @@ -67,7 +67,7 @@ inputs: type: integer description: minimum no. of collisions default: 5 - min_confusion: + min_confusion: type: integer description: minimum no. of confusions default: 5 @@ -187,11 +187,11 @@ inputs: node_templates: pgaasvm: type: dcae.nodes.pgaas.database - properties: + properties: writerfqdn: { get_input: pgaas_cluster_name } name: { get_input: database_name } use_existing: false - + sonhms: type: dcae.nodes.ContainerizedServiceComponent interfaces: @@ -269,7 +269,7 @@ node_templates: sonhandler.poorThreshold: { get_input: poor_threshold } sonhandler.namespace: { get_input: namespace } sonhandler.sourceId: SONHMS - sonhandler.dmaap.server: + sonhandler.dmaap.server: - { get_input: dmaap } sonhandler.bufferTime: { get_input: buffer_time } sonhandler.cg: { get_input: cg } @@ -305,7 +305,7 @@ node_templates: properties: policy_id: get_input: policy_id - - - - + + + + diff --git a/blueprints/k8s-tca-clampnode.yaml b/blueprints/k8s-tca-clampnode.yaml index 4e3f218..c2a0cc3 100644 --- a/blueprints/k8s-tca-clampnode.yaml +++ b/blueprints/k8s-tca-clampnode.yaml @@ -23,8 +23,8 @@ description: > imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml" - - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/clamppolicyplugin/1.1.0/clamppolicyplugin_types.yaml" + - plugin:k8splugin?version=3.0.0 + - plugin:clamppolicyplugin?version=1.1.0 inputs: aaiEnrichmentHost: type: string diff --git a/blueprints/k8s-tca.yaml b/blueprints/k8s-tca.yaml index 94315b2..1be3dd6 100644 --- a/blueprints/k8s-tca.yaml +++ b/blueprints/k8s-tca.yaml @@ -1,7 +1,7 @@ # # ============LICENSE_START==================================================== # ============================================================================= -# Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved. # ============================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -23,7 +23,7 @@ description: > imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=2.0.0 inputs: aaiEnrichmentHost: type: string diff --git a/blueprints/k8s-tcagen2-clampnode.yaml b/blueprints/k8s-tcagen2-clampnode.yaml index 71dee24..d988570 100644 --- a/blueprints/k8s-tcagen2-clampnode.yaml +++ b/blueprints/k8s-tcagen2-clampnode.yaml @@ -21,8 +21,8 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/clamppolicyplugin/1.1.0/clamppolicyplugin_types.yaml + - plugin:k8splugin?version=3.0.0 + - plugin:clamppolicyplugin?version=1.1.0 inputs: service_name: type: string diff --git a/blueprints/k8s-tcagen2.yaml b/blueprints/k8s-tcagen2.yaml index 773143f..02ece31 100644 --- a/blueprints/k8s-tcagen2.yaml +++ b/blueprints/k8s-tcagen2.yaml @@ -18,7 +18,7 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=2.0.0 inputs: service_name: type: string diff --git a/blueprints/k8s-ves-mapper.yaml b/blueprints/k8s-ves-mapper.yaml index 7259d18..4f3a19a 100644 --- a/blueprints/k8s-ves-mapper.yaml +++ b/blueprints/k8s-ves-mapper.yaml @@ -20,88 +20,88 @@ description: "This blueprint deploys the UniversalVESAdapter(UVA) as a Docker container\n" imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=3.0.0 -inputs: - rcc_notification_url: +inputs: + rcc_notification_url: default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT" type: string - snmp_notification_url: + snmp_notification_url: default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP" type: string - tag_version: + tag_version: default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.0.1" type: string - universal_mapper_name: + universal_mapper_name: default: "dcaegen2-svc-mapper" type: string - ves_fault_publish_url: + ves_fault_publish_url: default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT" type: string - ves_measurement_publish_url: + ves_measurement_publish_url: default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT" type: string - ves_notification_publish_url: + ves_notification_publish_url: default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT" type: string - ves_pnfRegistration_publish_url: + ves_pnfRegistration_publish_url: default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT" type: string -node_templates: - universalvesadapter: - interfaces: - cloudify.interfaces.lifecycle: - start: - inputs: - envs: +node_templates: + universalvesadapter: + interfaces: + cloudify.interfaces.lifecycle: + start: + inputs: + envs: CONFIG_BINDING_SERVICE: config_binding_service max_wait: 3600 - ports: + ports: - "80:0" - properties: - application_config: - app_preferences: - collectors: - - + properties: + application_config: + app_preferences: + collectors: + - identifier: notification-id - mapping-files: - - + mapping-files: + - 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" stream_publisher: ves-pnfRegistration stream_subscriber: rcc-notification - identifier: notify OID - mapping-files: - - + mapping-files: + - 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" stream_publisher: ves-fault stream_subscriber: snmp-notification - streams_publishes: - ves-fault: - dmaap_info: - topic_url: + streams_publishes: + ves-fault: + dmaap_info: + topic_url: get_input: ves_fault_publish_url type: message_router - ves-pnfRegistration: - dmaap_info: - topic_url: + ves-pnfRegistration: + dmaap_info: + topic_url: get_input: ves_pnfRegistration_publish_url type: message_router - streams_subscribes: - rcc-notification: - dmaap_info: - topic_url: + streams_subscribes: + rcc-notification: + dmaap_info: + topic_url: get_input: rcc_notification_url type: message_router - snmp-notification: - dmaap_info: - topic_url: + snmp-notification: + dmaap_info: + topic_url: get_input: snmp_notification_url type: message_router docker_config: {} - image: + image: get_input: tag_version - service_component_type: + service_component_type: get_input: universal_mapper_name type: dcae.nodes.ContainerizedServiceComponent tosca_definitions_version: cloudify_dsl_1_3 diff --git a/blueprints/k8s-ves.yaml b/blueprints/k8s-ves.yaml index 9866e96..d5c044a 100644 --- a/blueprints/k8s-ves.yaml +++ b/blueprints/k8s-ves.yaml @@ -22,7 +22,7 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml + - plugin:k8splugin?version=2.0.0 inputs: ves_other_publish_url: @@ -82,7 +82,7 @@ inputs: type: string 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) default: "sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce" - + node_templates: ves: interfaces: @@ -108,7 +108,7 @@ node_templates: auth.method: get_input: auth_method header.authlist: - get_input: user_list + get_input: user_list services_calls: [] streams_publishes: ves-fault: diff --git a/config/00-consul.json b/config/00-consul.json deleted file mode 100644 index a7d6ff4..0000000 --- a/config/00-consul.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "datacenter": "dc1", - "data_dir": "/opt/consul", - "log_level": "INFO", - "server": false, - "retry_join": ["consul"], - "node_name": "dcae-bootstrap", - "disable_update_check": true - } \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1a1c177..90386ee 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. org.onap.dcaegen2.deployments k8s-bootstrap-container dcaegen2-deployments-k8s-bootstrap-container - 1.13.0-SNAPSHOT + 2.0.0-SNAPSHOT http://maven.apache.org pom diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 7fa339a..ff953cf 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -22,7 +22,6 @@ # ONAP common Kubernetes namespace in ONAP_NAMESPACE environment variable # If DCAE components are deployed in a separate Kubernetes namespace, that namespace in DCAE_NAMESPACE variable. # Consul address with port in CONSUL variable -# Plugin wagon files in /wagons # Blueprints for components to be installed in /blueprints # Input files for components to be installed in /inputs # Configuration JSON files that need to be loaded into Consul in /dcae-configs @@ -119,18 +118,6 @@ function deploy { fi } -# Install plugin if it's not already installed -# $1 -- path to wagon file for plugin -function install_plugin { - ARCHIVE=$(basename $1) - # See if it's already installed - if cm_hasany "plugins?archive_name=$ARCHIVE" - then - echo plugin $1 already installed on ${CMADDR} - else - cfy plugin upload $1 - fi -} ### END FUNCTION DEFINTIONS ### @@ -141,35 +128,14 @@ trap keep_running ERR set -e -# Consul service registration data -CBS_REG='{"ID": "dcae-cbs0", "Name": "config_binding_service", "Address": "config-binding-service", "Port": 10000}' -CBS_REG1='{"ID": "dcae-cbs1", "Name": "config-binding-service", "Address": "config-binding-service", "Port": 10000}' - # Set up profile to access Cloudify Manager cfy profiles use -u admin -t default_tenant -p "${CMPASS}" ${CFYTLS} "${CMADDR}" # Output status, for debugging purposes cfy status -# Check Consul readiness -# The readiness container waits for a "consul-server" container to be ready, -# but this isn't always enough. We need the Consul API to be up and for -# the cluster to be formed, otherwise our Consul accesses might fail. -# (Note in ONAP R2, we never saw a problem, but occasionally in R3 we -# have seen Consul not be fully ready, so we add these checks, originally -# used in the R1 HEAT-based deployment.) -# Wait for Consul API to come up -until curl http://${CONSUL}/v1/agent/services -do - echo Waiting for Consul API - sleep 60 -done -# Wait for a leader to be elected -until [[ "$(curl -Ss http://{$CONSUL}/v1/status/leader)" != '""' ]] -do - echo Waiting for leader - sleep 30 -done +# Store the CM password into a Cloudify secret +cfy secret create -s ${CMPASS} cmpass # Load configurations into Consul KV store for config in /dcae-configs/*.json @@ -181,34 +147,6 @@ do curl -v -X PUT -H "Content-Type: application/json" --data-binary @/tmp/dcae-upload ${CONSUL}/v1/kv/${key} done -# Put service registrations into the local Consul configuration directory -for sr in CBS_REG CBS_REG1 -do - echo '{"service" : ' ${!sr} ' }'> /opt/consul/config/${sr}.json -done - -# Start the local consul agent instance -/opt/consul/bin/consul agent --config-dir /opt/consul/config 2>&1 | tee /opt/consul/consul.log & - -# Store the CM password into a Cloudify secret -cfy secret create -s ${CMPASS} cmpass - -# Load plugins onto CM -for wagon in /wagons/*.wgn -do - install_plugin ${wagon} -done - -# In some oversubscribed cloud environments, we have -# observed that even though the plugin installations appear -# to have completed, there are background installation tasks -# that might still be running. So we check for running system workflows -while cm_hasany "executions?is_system_workflow=true&status=pending&status=started&status=queued&status=scheduled" -do - echo "Waiting for running system workflows to complete" - sleep 15 -done - # After this point, failures should not stop the script or block later commands trap - ERR set +e diff --git a/scripts/load-plugins.sh b/scripts/load-plugins.sh deleted file mode 100755 index 3c25fce..0000000 --- a/scripts/load-plugins.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -# ============LICENSE_START======================================================= -# org.onap.dcae -# ================================================================================ -# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# ECOMP is a trademark and service mark of AT&T Intellectual Property. - -# Pull plugin archives from repos -# $1 is the DCAE repo URL -# $2 is the CCSDK repo URL -# (This script runs at Docker image build time) -# -set -x -set -e -DEST=wagons - -# For DCAE, starting in R5, we pull down wagons directly -DCAEPLUGINFILES=\ -"\ -k8splugin/1.7.2/k8splugin-1.7.2-py27-none-linux_x86_64.wgn -k8splugin/2.0.0/k8splugin-2.0.0-py27-none-linux_x86_64.wgn -relationshipplugin/1.1.0/relationshipplugin-1.1.0-py27-none-linux_x86_64.wgn -clamppolicyplugin/1.1.0/clamppolicyplugin-1.1.0-py27-none-linux_x86_64.wgn -dcaepolicyplugin/2.4.0/dcaepolicyplugin-2.4.0-py27-none-linux_x86_64.wgn \ -" - -# For CCSDK, we pull down the wagon files directly -CCSDKPLUGINFILES=\ -"\ -plugins/pgaas-1.1.0-py27-none-any.wgn -plugins/pgaas-1.2.0-py27-none-linux_x86_64.wgn -plugins/dmaap-1.3.5-py27-none-any.wgn -plugins/dmaap-1.4.0-py27-none-linux_x86_64.wgn -plugins/dmaap-1.4.1-py27-none-linux_x86_64.wgn -plugins/sshkeyshare-1.0.0-py27-none-any.wgn -plugins/sshkeyshare-1.1.0-py27-none-linux_x86_64.wgn -plugins/helm-4.0.0-py27-none-linux_x86_64.wgn -" - -# Copy a set of wagons from a repo -# $1 -- repo baseURL -# $2 -- list of paths to wagons in the repo -function get_wagons { - for wagon in $2 - do - target=$(basename ${wagon}) - curl -Ssf $1/${wagon} > ${DEST}/${target} - done -} - -mkdir ${DEST} -get_wagons $1 "${DCAEPLUGINFILES}" -get_wagons $2 "${CCSDKPLUGINFILES}" diff --git a/scripts/uninstall.sh b/scripts/uninstall.sh index 30dc2bf..ba198e5 100755 --- a/scripts/uninstall.sh +++ b/scripts/uninstall.sh @@ -28,9 +28,6 @@ then CURLTLS="--cacert $CACERT" fi -# Leave the Consul cluster -/opt/consul/bin/consul leave - # Uninstall components managed by Cloudify # Get the list of deployment ids known to Cloudify via curl to Cloudify API. # The output of the curl is JSON that looks like {"items" :[{"id": "config_binding_service"}, ...], "metadata" :{...}} @@ -51,4 +48,3 @@ curl -Ss --user admin:$CMPASS -H "Tenant: default_tenant" ${CURLTLS} "$CMPROTO:/ curl -Ss --user admin:$CMPASS -H "Tenant: default_tenant" ${CURLTLS} "$CMPROTO://$CMADDR:$CMPORT/api/v3.1/plugins?_include=id" \ | /bin/jq .items[].id \ | xargs -I % sh -c 'cfy plugins delete %' - diff --git a/version.properties b/version.properties index f2a83f3..fbd1b27 100644 --- a/version.properties +++ b/version.properties @@ -1,5 +1,5 @@ -major=1 -minor=13 +major=2 +minor=0 patch=0 base_version=${major}.${minor}.${patch} release_version=${base_version} -- cgit 1.2.3-korg