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
_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:
\r
imports:\r
- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\r
- - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml\r
+ - plugin:k8splugin?version=3.0.0\r
\r
inputs:\r
aai_enrichment_host:\r
start:\r
inputs:\r
ports:\r
- - concat: [{get_input: internal_port},":",{get_input: external_port}] \r
+ - concat: [{get_input: internal_port},":",{get_input: external_port}]\r
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
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
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.
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
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:
get_input: pg_dbName
ports:
- "10002:0"
-
+
properties:
application_config:
CBS_polling_allowed:
# ============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.
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:
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 ] }
#
# ============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.
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
#
# ============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.
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
# -*- 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
# 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:
# ============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.
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:
target: sharedsshkey_pgrs
sharedsshkey_pgrs:
- type: ccsdk.nodes.ssh.keypair
+ type: dcaegen2.nodes.ssh.keypair
outputs:
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:
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 }
- '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:
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
#
# ============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.
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
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
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
# 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.
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
type: integer
description: minimum no. of collisions
default: 5
- min_confusion:
+ min_confusion:
type: integer
description: minimum no. of confusions
default: 5
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:
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 }
properties:
policy_id:
get_input: policy_id
-
-
-
-
+
+
+
+
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
#
# ============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.
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
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
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
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: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd' xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent' keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&time' to='date-and-time' /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.VesEvent' beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.Event' beanId='event' createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader' /><jb:wiring property='pnfRegistrationFields' beanIdRef='pnfRegistrationFields' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader' beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1</jb:expression><jb:expression property='eventType'>'pnfRegistration'</jb:expression><jb:expression property='vesEventListenerVersion'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1</jb:expression><jb:expression property='eventId' execOnElement='vesevent'>'registration_'+commonEventHeader.ts1</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATION</jb:expression><jb:expression property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value property='sequence' data='0' default='0' decoder='Long' /><jb:expression property='lastEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression property='startEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression property='sourceName' execOnElement='vesevent'>pnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumber</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields' beanId='pnfRegistrationFields' createOnElement='vesevent'><jb:expression property='pnfRegistrationFieldsVersion'>org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0</jb:expression><jb:value property='serialNumber' data='pnfRegistration/serialNumber' /><jb:value property='lastServiceDate' data='pnfRegistration/lastServiceDate' /><jb:value property='manufactureDate' data='pnfRegistration/manufactureDate' /><jb:value property='modelNumber' data='pnfRegistration/modelNumber' /><jb:value property='oamV4IpAddress' data='pnfRegistration/oamV4IpAddress' /><jb:value property='oamV6IpAddress' data='pnfRegistration/oamV6IpAddress' /><jb:value property='softwareVersion' data='pnfRegistration/softwareVersion' /><jb:value property='unitFamily' data='pnfRegistration/unitFamily' /><jb:value property='unitType' data='pnfRegistration/unitType' /><jb:value property='vendorName' data='pnfRegistration/vendorName' /><jb:wiring property='additionalFields' beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.AlarmAdditionalInformation' beanId='alarmAdditionalInformation' createOnElement='vesevent'><jb:wiring property='additionalProperties' beanIdRef='additionalFields2' /></jb:bean><jb:bean beanId='additionalFields2' class='java.util.HashMap' createOnElement='vesevent/pnfRegistration/additionalFields'><jb:value data='pnfRegistration/additionalFields/*'/></jb:bean></smooks-resource-list>"
stream_publisher: ves-pnfRegistration
stream_subscriber: rcc-notification
-
identifier: notify OID
- mapping-files:
- -
+ mapping-files:
+ -
defaultMappingFile-snmp-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd' xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent' keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&time' to='date-and-time' /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.VesEvent' beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.Event' beanId='event' createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader' /><jb:wiring property='faultFields' beanIdRef='faultFields' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader' beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>'3.0'</jb:expression><jb:expression property='eventType'>'FaultField'</jb:expression><jb:expression property='eventId' execOnElement='vesevent'>'XXXX'</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULT</jb:expression><jb:expression property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value property='sequence' data='0' default='0' decoder='Long' /><jb:value property='lastEpochMicrosec' data='#/time-received' /><jb:value property='startEpochMicrosec' data='#/time-received' /><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression property='sourceName'>'VesAdapter'</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.FaultFields' beanId='faultFields' createOnElement='vesevent'><jb:value property='faultFieldsVersion' data='2.0' default='2.0' decoder='Double' /><jb:value property='alarmCondition' data='#/trap-category' /><jb:expression property='specificProblem'>'SNMP Fault'</jb:expression><jb:expression property='vfStatus'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVE</jb:expression><jb:expression property='eventSeverity'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR</jb:expression><jb:wiring property='alarmAdditionalInformation' beanIdRef='alarmAdditionalInformationroot' /></jb:bean><jb:bean class='java.util.ArrayList' beanId='alarmAdditionalInformationroot' createOnElement='vesevent'><jb:wiring beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.AlarmAdditionalInformation' beanId='alarmAdditionalInformation' createOnElement='varbinds/element'><jb:value property='name' data='#/varbind_oid' /><jb:value property='value' data='#/varbind_value' /></jb:bean></smooks-resource-list>"
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
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:
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:
auth.method:
get_input: auth_method
header.authlist:
- get_input: user_list
+ get_input: user_list
services_calls: []
streams_publishes:
ves-fault:
+++ /dev/null
-{
- "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
<groupId>org.onap.dcaegen2.deployments</groupId>
<artifactId>k8s-bootstrap-container</artifactId>
<name>dcaegen2-deployments-k8s-bootstrap-container</name>
- <version>1.13.0-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<url>http://maven.apache.org</url>
<packaging>pom</packaging>
# 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
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 ###
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
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
+++ /dev/null
-#!/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}"
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" :{...}}
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 %'
-
-major=1\r
-minor=13\r
+major=2\r
+minor=0\r
patch=0\r
base_version=${major}.${minor}.${patch}\r
release_version=${base_version}\r