diff options
Diffstat (limited to 'kubernetes')
29 files changed, 49 insertions, 1386 deletions
diff --git a/kubernetes/cli/values.yaml b/kubernetes/cli/values.yaml index 8197f5caf5..bf3ba5b099 100644 --- a/kubernetes/cli/values.yaml +++ b/kubernetes/cli/values.yaml @@ -23,7 +23,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/cli:5.0.4 +image: onap/cli:6.0.0 pullPolicy: Always flavor: small diff --git a/kubernetes/onap/requirements.yaml b/kubernetes/onap/requirements.yaml index 7110117442..daa2b1e9ca 100755 --- a/kubernetes/onap/requirements.yaml +++ b/kubernetes/onap/requirements.yaml @@ -98,10 +98,6 @@ dependencies: version: ~6.x-0 repository: '@local' condition: nbi.enabled - - name: pnda - version: ~6.x-0 - repository: '@local' - condition: pnda.enabled - name: policy version: ~6.x-0 repository: '@local' diff --git a/kubernetes/onap/resources/overrides/onap-5g-network-slicing.yaml b/kubernetes/onap/resources/overrides/onap-5g-network-slicing.yaml index 887e123d87..be052996b7 100644 --- a/kubernetes/onap/resources/overrides/onap-5g-network-slicing.yaml +++ b/kubernetes/onap/resources/overrides/onap-5g-network-slicing.yaml @@ -96,8 +96,6 @@ contrib: enabled: false dcaegen2: enabled: false -pnda: - enabled: false dmaap: enabled: true esr: diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml index 309e5dd30d..9473a6abcb 100755 --- a/kubernetes/onap/values.yaml +++ b/kubernetes/onap/values.yaml @@ -227,8 +227,6 @@ dcaegen2: enabled: false dcaemod: enabled: false -pnda: - enabled: false dmaap: enabled: false esr: diff --git a/kubernetes/pnda/Chart.yaml b/kubernetes/pnda/Chart.yaml deleted file mode 100644 index 39310b35e1..0000000000 --- a/kubernetes/pnda/Chart.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright © 2018 Amdocs, AT&T, Bell Canada -# -# 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. - -apiVersion: v1 -description: ONAP DCAE PNDA -name: pnda -version: 6.0.0 diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/Chart.yaml b/kubernetes/pnda/charts/dcae-pnda-bootstrap/Chart.yaml deleted file mode 100644 index 77f4f7ff88..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/Chart.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= - -apiVersion: v1 -description: ONAP DCAE PNDA Bootstrap -name: dcae-pnda-bootstrap -version: 6.0.0 diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/requirements.yaml b/kubernetes/pnda/charts/dcae-pnda-bootstrap/requirements.yaml deleted file mode 100644 index 9f6d817592..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/requirements.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= - -dependencies: - - name: common - version: ~6.x-0 - repository: '@local' diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/inputs/pnda_env.yaml b/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/inputs/pnda_env.yaml deleted file mode 100644 index 887b8d4017..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/inputs/pnda_env.yaml +++ /dev/null @@ -1,232 +0,0 @@ -{{/* -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= -*/}} - -infrastructure : - # infrastructure used for pnda deployment - # Valid Values are: - # - aws - # - openstack - # - existing-machines - # - terraform - INFRASTRUCTURE_TYPE: openstack - - # The user name to use when logging into the instances - # For aws target user-name allowed : - # Target AWS Openstack - # - # Distro Redhat: ec2-user cloud-user - # CentOS: centos cloud-user - OS_USER: {{ .Values.pnda.osUser }} - - # CIDR specifying the address range for the network containing all PNDA instances - networkCidr: {{ .Values.pnda.networkCidr }} - -openstack_parameters: - # KEYSTONE_USER: Username for the openstack clients to use - KEYSTONE_USER: {{ .Values.openstack.keystoneUser }} - - # KEYSTONE_PASSWORD: Password for the openstack clients to use - KEYSTONE_PASSWORD: {{ .Values.openstack.keystonePassword }} - - # KEYSTONE_TENANT: Name of the tenant / project in the openstack environment. The - # PNDA stack will be created in this project. - KEYSTONE_TENANT: {{ .Values.openstack.keystoneTenant }} - - # KEYSTONE_AUTH_URL: Keystone authentication URL. The Openstack console provides this - # under the Access & Security section. - KEYSTONE_AUTH_URL: {{ .Values.openstack.keystoneAuthUrl }} - - # KEYSTONE_AUTH_VERSION: Keystone authentication version. The Openstack console provides this - # under the Access & Security section. - KEYSTONE_AUTH_VERSION: '2' - - # KEYSTONE_REGION_NAME: Keystone region. The Openstack console provides this - # under the Access & Security section. - KEYSTONE_REGION_NAME: {{ .Values.openstack.keystoneRegion }} - - # imageId: Base image to use for the created instances. It should be created by - # following the guide in https://github.com/pndaproject/pnda-dib-elements - # - imageId: {{ .Values.openstack.imageId }} - - # CIDR specifying the address range that may access the created PNDA instances - whitelistSshAccess: {{ .Values.openstack.whitelistSshAccess }} - - # UUID of the public network in openstack to use - externalPublicNetworkId: {{ .Values.openstack.publicNetworkId }} - - useExistingNetwork: {{ .Values.openstack.useExistingNetwork }} - - existingNetworkId: {{ .Values.openstack.existingNetworkId }} - - existingSubnetId: {{ .Values.openstack.existingSubnetId }} - - # CIDR specifying the address range for the public subnet (bastion access) - publicSubnetCidr: {{ .Values.openstack.publicSubnetCidr }} - -platform_salt: - # Use either PLATFORM_GIT_REPO_URI + PLATFORM_GIT_BRANCH or PLATFORM_SALT_LOCAL - PLATFORM_SALT_LOCAL: /platform-salt - -pnda_application_repo: - # Type of storage to use for PNDA application packages - # s3 - AWS S3. Also set PNDA_APPS_CONTAINER, PNDA_APPS_FOLDER, PNDA_APPS_REGION, PNDA_APPS_ACCESS_KEY_ID, PNDA_APPS_SECRET_ACCESS_KEY - # sshfs - standard file system. Also set PR_FS_LOCATION_PATH, PR_SSHFS_USER, PR_SSHFS_HOST, PR_SSHFS_PATH and PR_SSHFS_KEY - # local - local filesystem on the package repository service server. Also set PR_FS_LOCATION_PATH. - # swift - Openstack swift. Also set PNDA_APPS_CONTAINER and PNDA_APPS_FOLDER - PR_FS_TYPE: {{ .Values.pnda.apps.fsType }} - - # S3 container to use for PNDA application packages - PNDA_APPS_CONTAINER: {{ .Values.pnda.apps.s3container }} - - # Name of folder within PNDA_APPS_CONTAINER that contains the PNDA application packages - PNDA_APPS_FOLDER: {{ .Values.pnda.apps.s3folder }} - - # AWS region that contains the PNDA_APPS_CONTAINER bucket - PNDA_APPS_REGION: {{ .Values.pnda.apps.s3region }} - - # API key for s3 access to PNDA_APPS_CONTAINER. These keys are stored on the cloud instances so should be restricted - # only allow access to the PNDA_APPS_CONTAINER bucket - PNDA_APPS_ACCESS_KEY_ID: {{ .Values.pnda.apps.s3keyid }} - PNDA_APPS_SECRET_ACCESS_KEY: {{ .Values.pnda.apps.s3secret }} - - # Path on file system if PR_FS_TYPE is 'local' or 'sshfs' - PR_FS_LOCATION_PATH: {{ .Values.pnda.apps.fsLocation | print "/opt/pnda/packages" }} - - # SSH accessed file system to use for PNDA application packages - PR_SSHFS_USER: centos - PR_SSHFS_HOST: 127.0.0.1 - PR_SSHFS_PATH: /mnt/packages - PR_SSHFS_KEY: key.pem - -pnda_data_archive: - # S3 container to use for archiving PNDA datasets - PNDA_ARCHIVE_CONTAINER: pnda-archive - - # AWS region that contains the PNDA_ARCHIVE_CONTAINER bucket - PNDA_ARCHIVE_REGION: eu-west-1 - - # API key for s3 access to PNDA_ARCHIVE_CONTAINER. These keys are stored on the cloud instances so should be restricted - # only allow access to the PNDA_ARCHIVE_CONTAINER bucket - PNDA_ARCHIVE_ACCESS_KEY_ID: xxxx - PNDA_ARCHIVE_SECRET_ACCESS_KEY: xxxx - -ntp: - # Optional ntp servers. Use this if the standard NTP servers on the Internet cannot be reached - # and a local NTP server has been configured. PNDA will not work without NTP. - # example format: 'xxx.ntp.org' - #For REJECT_OUTBOUND="YES" then NTP server/s must. - NTP_SERVERS: - - {{ .Values.pnda.ntp }} - -dns: - # External DNS servers list - nameServers: - - {{ .Values.pnda.nameserver }} - -mirrors: - # Mirror of resources required for provisioning PNDA, see PNDA guide for instructions on how to set this up - PNDA_MIRROR: - -hadoop: - # Hadoop distribution to install - # Valid values are: - # - HDP - # - CDH - HADOOP_DISTRO: HDP - # Spark version to enable for oozie (HDP only) - # Valid values are: - # - 1 - # - 2 - OOZIE_SPARK_VERSION: 1 - -connectivity: - # The IP address of the client that created PNDA - CLIENT_IP: {{ .Values.pnda.outboundCidr }} - # Add online repositories for yum, apt-get, pip, etc alongside PNDA mirror - ADD_ONLINE_REPOS: "YES" - # RPM Extras repository to enable when ADD_ONLINE_REPOS=YES - RPM_EXTRAS_REPO_NAME: rhui-REGION-rhel-server-optional - # RPM Optional repository to enable when ADD_ONLINE_REPOS=YES - RPM_OPTIONAL_REPO_NAME: rhui-REGION-rhel-server-extras - -network_interfaces: - PNDA_INTERNAL_NETWORK: eth0 - PNDA_INGEST_NETWORK: eth0 - -cli: - # Maximum number of outbound connections that the CLI will attempt to open at once - # Consider increasing this when creating clusters with more than 100 nodes to speed - # up PNDA creation time. - MAX_SIMULTANEOUS_OUTBOUND_CONNECTIONS: 100 - -security: - # The path were to find the security material (certificate/key). - # The directory should be structured as defined in this' repo's directory structure with the same name. - # The security material should conform to the guidelines defined in the README.md file in - # the containing sub directory. - SECURITY_MATERIAL_PATH: ./platform-certificates/ - - # Address of LDAP server - # All instances will have PAM configured to authenticate with this LDAP server if set - # Leave blank to disable LDAP-PAM integration - LDAP_SERVER: '' - - # Base DN for LDAP server to use when enabling client PAM integration with LDAP - LDAP_BASE_DN: dc=nodomain - -features: - # Include experimental features. - # Set to "NO", omit setting or omit features section entirely to turn off experimental features - EXPERIMENTAL_FEATURES: "NO" - -domain: - # Top-level domain - TOP_LEVEL_DOMAIN: pnda.local - - # Second-level domain - SECOND_LEVEL_DOMAIN: dc1 - -dataset_compaction: - # Enable/Disable compaction on datasets. - # "YES" to enable. - # "NO" to disable. - COMPACTION: "NO" - # If compaction is enabled, PATTERN sets the frequency of compaction. - # H - hourly compaction. - # d - daily compaction. - # M - monthly compaction. - # Y - yearly compaction. - PATTERN: d - -datanode: - # DATANODE_VOLUME_COUNT sets the number of data volumes on each hadoop datanode - DATA_VOLUME_COUNT: 1 - # DEVICE_ROOT sets the disk device root name - DEVICE_ROOT: xvdb - -kafka: - # DATA_DIRS sets the data dirs on kafka node - KAFKA_DATA_DIRS: - - /var/kafka-logs - # DEVICE_ROOT sets the disk device root name - KAFKA_DEVICE_ROOT: xvdb - -generic: - #GENERIC_DEVICE_ROOT sets the disk device root name for generic instances. - GENERIC_DEVICE_ROOT: xvdb diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/scripts/bootstrap.sh b/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/scripts/bootstrap.sh deleted file mode 100755 index bc53184420..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/scripts/bootstrap.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh -{{/* -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= -*/}} - -# Install PNDA in Openstack with Heat templates -# Expects: -# Input files for components to be installed in /inputs - -if [ "z{{ .Values.enabled }}" != "ztrue" ] -then - echo - echo "PNDA bootstrap is disabled - skipping pnda-cli launch" - echo - exit 0 -fi - -set -ex - -CLUSTER_PREFIX="{{ include "common.release" . }}-{{ include "common.namespace" . }}-pnda" -DATANODES="{{ .Values.pnda.dataNodes }}" -KAFKANODES="{{ .Values.pnda.kafkaNodes }}" -VERSION="{{ .Values.pnda.version }}" -KEYPAIR_NAME="{{ .Values.pnda_keypair_name }}" -KEYFILE="$KEYPAIR_NAME.pem" - -cd /pnda-cli - -cp /inputs/pnda_env.yaml . -cp /secrets/pnda.pem $KEYFILE -chmod 600 $KEYFILE - -(cd tools && ./gen-certs.py) - -KUBE_API="https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_SERVICE_PORT_HTTPS/api/v1" -KUBE_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) - -for i in 1 2 3 4 5 6 7 8 9 -do - MIRROR_IP=$(curl -s $KUBE_API/namespaces/{{ include "common.namespace" . }}/pods \ - --header "Authorization: Bearer $KUBE_TOKEN" \ - --insecure | jq -r '.items[].status | select(.containerStatuses != null) | select(.containerStatuses[].ready and .containerStatuses[].name=="dcae-pnda-mirror") | .hostIP') - MIRROR_PORT=$(curl -s $KUBE_API/namespaces/{{ include "common.namespace" . }}/services/dcae-pnda-mirror \ - --header "Authorization: Bearer $KUBE_TOKEN" \ - --insecure | jq -r '.spec.ports[] | select(.name=="dcae-pnda-mirror") | .nodePort') - - if [ "x${MIRROR_IP}" != "xnull" -a "x${MIRROR_PORT}" != "xnull" ]; then - PNDA_MIRROR="http://$MIRROR_IP:$MIRROR_PORT" - break - fi - sleep 5 -done - -[ -z "${PNDA_MIRROR}" ] && { echo "Unable to get PNDA mirror IP:PORT"; exit 1; } - -sed -i -e 's?CLIENT_IP/32?CLIENT_IP?' bootstrap-scripts/package-install.sh - -./cli/pnda-cli.py create -e $CLUSTER_PREFIX -f pico -n $DATANODES -k $KAFKANODES \ - -b $VERSION -s $KEYPAIR_NAME --set "mirrors.PNDA_MIRROR=$PNDA_MIRROR" diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/configmap.yaml b/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/configmap.yaml deleted file mode 100644 index 1b6b07a222..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/configmap.yaml +++ /dev/null @@ -1,45 +0,0 @@ -{{/* -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= -*/}} - -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-inputs - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/inputs/*").AsConfig . | indent 2 }} - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-scripts - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/scripts/*").AsConfig . | indent 2 }} - ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-secrets - namespace: {{ include "common.namespace" . }} -data: - pnda.pem: | -{{ .Values.pnda_secret | indent 4 }} - diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/job.yaml b/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/job.yaml deleted file mode 100644 index c41f16e6f3..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/job.yaml +++ /dev/null @@ -1,89 +0,0 @@ -{{/* -#============LICENSE_START======================================================== -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= -*/}} - -apiVersion: batch/v1 -kind: Job -metadata: - name: {{ include "common.fullname" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ include "common.release" . }} - heritage: {{ .Release.Service }} -spec: - completions: 1 - backoffLimit: 0 - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ include "common.release" . }} - spec: - restartPolicy: Never - initContainers: - - name: {{ include "common.name" . }}-readiness - image: {{ include "common.repository" . }}/{{ .Values.global.readinessImage }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - command: - - /app/ready.py - args: - - --container-name - - dcae-pnda-mirror - - "-t" - - "75" - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - containers: - - name: {{ include "common.name" . }} - image: "{{ include "common.repository" . }}/{{ .Values.image }}" - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - volumeMounts: - - mountPath: /inputs - name: {{ include "common.fullname" . }}-inputs - - mountPath: /scripts - name: {{ include "common.fullname" . }}-scripts - - mountPath: /secrets - name: {{ include "common.fullname" . }}-secrets - - mountPath: /pnda-cli/cli/logs - name: {{ include "common.fullname" . }}-logs - command: - - "/scripts/bootstrap.sh" - volumes: - - name: {{ include "common.fullname" . }}-inputs - configMap: - name: {{ include "common.fullname" . }}-inputs - - name: {{ include "common.fullname" . }}-scripts - configMap: - name: {{ include "common.fullname" . }}-scripts - defaultMode: 0755 - - name: {{ include "common.fullname" . }}-secrets - configMap: - name: {{ include "common.fullname" . }}-secrets - - name: {{ include "common.fullname" . }}-logs - {{- if .Values.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ include "common.fullname" . }} - {{- else }} - emptyDir: {} - {{- end }} diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml b/kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml deleted file mode 100644 index bb757295bf..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml +++ /dev/null @@ -1,95 +0,0 @@ -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= - -################################################################# -# Global configuration defaults. -################################################################# -global: - nodePortPrefixExt: 304 - readinessImage: onap/oom/readiness:3.0.1 - loggingRepository: docker.elastic.co - loggingImage: beats/filebeat:5.5.0 - persistence: {} - -################################################################# -# PNDA configuration defaults. -################################################################# - -enabled: false - -pnda: - version: release/5.0 - dataNodes: 2 - kafkaNodes: 1 - osUser: centos - nameserver: 8.8.8.8 - ntp: pool.ntp.org - apps: - fsType: local - networkCidr: 10.0.0.0/16 - outboundCidr: 0.0.0.0/0 - -pnda_keypair_name: pnda -pnda_secret: replace-me - -################################################################# -# Openstack connection params. -################################################################# - -openstack: - keystoneUser: onap - keystonePassword: onap - keystoneTenant: onap - keystoneAuthUrl: 'http://10.60.18.18:5000/v2.0/' - keystoneRegion: regionOne - imageId: id_of_image - publicNetworkId: id_of_public_network - useExistingNetwork: true - existingNetworkId: id_of_onap_network - existingSubnetId: id_of_onap_subnet - whitelistSshAccess: 0.0.0.0/0 - publicSubnetCidr: 10.0.0.0/24 - -################################################################# -# Application configuration defaults. -################################################################# -# application image - - -repository: pndareg.ctao6.net -image: onap/org.onap.dcaegen2.deployments.pnda-bootstrap-container:6.0.0 -pullPolicy: Always - -## Persist data to a persitent volume -persistence: - enabled: true - - ## A manually managed Persistent Volume and Claim - ## Requires persistence.enabled: true - ## If defined, PVC must be created manually before volume will be bound - # existingClaim: - volumeReclaimPolicy: Retain - - ## database data Persistent Volume Storage Class - ## If defined, storageClassName: <storageClass> - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - accessMode: ReadWriteOnce - size: 10Mi - mountPath: /dockerdata-nfs - mountSubPath: dcae-pnda-bootstrap/logs diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/.helmignore b/kubernetes/pnda/charts/dcae-pnda-mirror/.helmignore deleted file mode 100644 index f0c1319444..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-mirror/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/Chart.yaml b/kubernetes/pnda/charts/dcae-pnda-mirror/Chart.yaml deleted file mode 100644 index 16ee1a6fe2..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-mirror/Chart.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= - -apiVersion: v1 -description: ONAP DCAE PNDA Mirror -name: dcae-pnda-mirror -version: 6.0.0 diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/requirements.yaml b/kubernetes/pnda/charts/dcae-pnda-mirror/requirements.yaml deleted file mode 100644 index 9f6d817592..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-mirror/requirements.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= - -dependencies: - - name: common - version: ~6.x-0 - repository: '@local' diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/templates/deployment.yaml b/kubernetes/pnda/charts/dcae-pnda-mirror/templates/deployment.yaml deleted file mode 100644 index db35c21fd2..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-mirror/templates/deployment.yaml +++ /dev/null @@ -1,56 +0,0 @@ -{{/* -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= -*/}} - -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: {{ include "common.fullname" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ include "common.release" . }} - heritage: {{ .Release.Service }} -spec: - replicas: 1 - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ include "common.release" . }} - spec: - containers: - - name: {{ include "common.name" . }} - image: "{{ include "common.repository" . }}/{{ .Values.image }}" - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - ports: - - containerPort: {{ .Values.service.internalPort }} - # disable liveness probe when breakpoints set in debugger - # so K8s doesn't restart unresponsive container - {{- if eq .Values.liveness.enabled true }} - livenessProbe: - tcpSocket: - port: {{ .Values.service.internalPort }} - initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} - periodSeconds: {{ .Values.liveness.periodSeconds }} - {{ end -}} - readinessProbe: - tcpSocket: - port: {{ .Values.service.internalPort }} - initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} - periodSeconds: {{ .Values.readiness.periodSeconds }} diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/templates/service.yaml b/kubernetes/pnda/charts/dcae-pnda-mirror/templates/service.yaml deleted file mode 100644 index 242f77c04d..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-mirror/templates/service.yaml +++ /dev/null @@ -1,44 +0,0 @@ -{{/* -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= -*/}} - -apiVersion: v1 -kind: Service -metadata: - name: {{ include "common.servicename" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ include "common.release" . }} - heritage: {{ .Release.Service }} - annotations: -spec: - type: {{ .Values.service.type }} - ports: - {{if eq .Values.service.type "NodePort" -}} - - port: {{ .Values.service.externalPort }} - nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }} - name: {{ .Values.service.portName }} - {{- else -}} - - port: {{ .Values.service.externalPort }} - targetPort: {{ .Values.service.internalPort }} - name: {{ .Values.service.portName }} - {{- end}} - selector: - app: {{ include "common.name" . }} - release: {{ include "common.release" . }} diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/values.yaml b/kubernetes/pnda/charts/dcae-pnda-mirror/values.yaml deleted file mode 100644 index dae88e6d6c..0000000000 --- a/kubernetes/pnda/charts/dcae-pnda-mirror/values.yaml +++ /dev/null @@ -1,74 +0,0 @@ -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= - -################################################################# -# Global configuration defaults. -################################################################# -global: - nodePortPrefixExt: 304 - readinessImage: onap/oom/readiness:3.0.1 - loggingRepository: docker.elastic.co - loggingImage: beats/filebeat:5.5.0 - persistence: {} - -################################################################# -# Application configuration defaults. -################################################################# -# application image - -repository: pndareg.ctao6.net -image: onap/org.onap.dcaegen2.deployments.pnda-mirror-container:6.0.0 -pullPolicy: Always - -# application configuration -# Example: -config: {} - -# default number of instances -replicaCount: 1 - -nodeSelector: {} - -affinity: {} - -# probe configuration parameters -liveness: - initialDelaySeconds: 60 - periodSeconds: 10 - timeoutSeconds: 10 - # necessary to disable liveness probe when setting breakpoints - # in debugger so K8s doesn't restart unresponsive container - enabled: true - -readiness: - initialDelaySeconds: 15 - periodSeconds: 10 - -service: - type: NodePort - portName: dcae-pnda-mirror - nodePort: "00" - externalPort: 80 - internalPort: 80 - -## Persist data to a persitent volume -persistence: - enabled: false - -ingress: - enabled: false - -resources: {} diff --git a/kubernetes/pnda/requirements.yaml b/kubernetes/pnda/requirements.yaml deleted file mode 100644 index 9f6d817592..0000000000 --- a/kubernetes/pnda/requirements.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ================================================================================ -# Copyright (c) 2018 Cisco Systems. 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========================================================= - -dependencies: - - name: common - version: ~6.x-0 - repository: '@local' diff --git a/kubernetes/robot b/kubernetes/robot -Subproject da28d1cdc573a726d3fc8a19638ebc8b3679295 +Subproject f3afcb0e60f54840d386084ee3ee2e364b2650f diff --git a/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml b/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml index 007b1308c0..74757c7be2 100644 --- a/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml +++ b/kubernetes/sdc/components/sdc-onboarding-be/templates/deployment.yaml @@ -151,6 +151,8 @@ spec: readOnly: true - name: {{ include "common.fullname" . }}-logs mountPath: /var/log/onap + - name: {{ include "common.fullname" . }}-cert-storage + mountPath: "{{ .Values.cert.certDir }}" - name: {{ include "common.fullname" . }}-logback mountPath: /tmp/logback.xml subPath: logback.xml @@ -197,5 +199,8 @@ spec: emptyDir: { medium: "Memory" } - name: {{ include "common.fullname" . }}-logs emptyDir: {} + - name: {{ include "common.fullname" . }}-cert-storage + persistentVolumeClaim: + claimName: {{ include "common.fullname" . }}-cert imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/pv.yaml b/kubernetes/sdc/components/sdc-onboarding-be/templates/pv.yaml index 75ee218bd7..bc110c3b0f 100644 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/pv.yaml +++ b/kubernetes/sdc/components/sdc-onboarding-be/templates/pv.yaml @@ -1,21 +1,22 @@ {{/* # ================================================================================ -# Copyright (c) 2018 Cisco Systems. All rights reserved. +# Copyright (C) 2019, Nordix Foundation. 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 +# 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========================================================= */}} -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} +{{- if and .Values.persistence.enabled (not .Values.cert.persistence.existingClaim) -}} +{{- if eq "True" (include "common.needPV" .) -}} kind: PersistentVolume apiVersion: v1 metadata: @@ -28,13 +29,13 @@ metadata: heritage: "{{ .Release.Service }}" name: {{ include "common.fullname" . }} spec: - storageClassName: manual capacity: - storage: {{ .Values.persistence.size }} + storage: {{ .Values.cert.persistence.size}} accessModes: - - {{ .Values.persistence.accessMode }} - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} + - {{ .Values.cert.persistence.accessMode }} + persistentVolumeReclaimPolicy: {{ .Values.cert.persistence.volumeReclaimPolicy }} storageClassName: "{{ include "common.fullname" . }}-data" hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.persistence.mountSubPath }} + path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ include "common.release" . }}/{{ .Values.cert.persistence.mountSubPath }} +{{- end -}} {{- end -}} diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/pvc.yaml b/kubernetes/sdc/components/sdc-onboarding-be/templates/pvc.yaml index e9775d842d..006d736b63 100644 --- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/templates/pvc.yaml +++ b/kubernetes/sdc/components/sdc-onboarding-be/templates/pvc.yaml @@ -1,5 +1,7 @@ {{/* -# Copyright © 2019 Amdocs, Bell Canada, Orange +# ================================================================================ +# Copyright (C) 2019, Nordix Foundation. 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. @@ -13,26 +15,26 @@ # See the License for the specific language governing permissions and # limitations under the License. */}} -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} +{{- if and .Values.cert.persistence.enabled (not .Values.cert.persistence.existingClaim) -}} kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: {{ include "common.fullname" . }} + name: {{ include "common.fullname" . }}-cert namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ include "common.release" . }}" heritage: "{{ .Release.Service }}" -{{- if .Values.persistence.annotations }} +{{- if .Values.cert.persistence.annotations }} annotations: -{{ toYaml .Values.persistence.annotations | indent 4 }} +{{ toYaml .Values.cert.persistence.annotations | indent 4 }} {{- end }} spec: accessModes: - - {{ .Values.persistence.accessMode }} + - {{ .Values.cert.persistence.accessMode }} storageClassName: {{ include "common.storageClass" . }} resources: requests: - storage: {{ .Values.persistence.size }} + storage: {{ .Values.cert.persistence.size }} {{- end -}} diff --git a/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml b/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml index 52345deed8..7c1f262ec2 100644 --- a/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml +++ b/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml @@ -14,7 +14,7 @@ # limitations under the License. */}} -nclude "common.repository" . }}apiVersion: apps/v1 +apiVersion: apps/v1 kind: Deployment metadata: {{- include "common.resourceMetadata" . | nindent 2 }} spec: @@ -76,6 +76,17 @@ spec: value: {{ .Values.config.sslCertiticate }} - name: SSL_CERTIFICATE_KEY value: {{ .Values.config.sslCertKey }} + {{ if .Values.config.transportpce.enabled }} + - name: TRPCEURL + value: {{ .Values.config.transportpce.transportpceUrl }} + {{ end }} + {{ if .Values.config.topologyserver.enabled }} + - name: TOPOURL + value: {{ .Values.config.topologyserver.topologyserverUrl }} + - name: TILEURL + value: {{ .Values.config.topologyserver.tileserverUrl }} + {{ end }} + volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 10 }} - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/sdnc/components/sdnc-web/values.yaml b/kubernetes/sdnc/components/sdnc-web/values.yaml index 2c0b3eabe2..7319e2272f 100644 --- a/kubernetes/sdnc/components/sdnc-web/values.yaml +++ b/kubernetes/sdnc/components/sdnc-web/values.yaml @@ -27,21 +27,26 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: "onap/sdnc-web-image:2.0.2" +image: "onap/sdnc-web-image:2.0.3" pullPolicy: Always config: sdncChartName: sdnc webProtocol: HTTPS webPort: 8443 - #sdnrProtocol: HTTPS - sdnrProtocol: HTTPS - #sdnrHost: "sdnc.onap" + sdnrProtocol: https sdnrHost: "sdnc" sdnrPort: "8443" sslCertDir: "/opt/app/osaaf/local/certs" sslCertiticate: "cert.pem" sslCertKey: "key.pem" + transportpce: + enabled: false + transportpceUrl: http://transportpce.transportpce:8181 + topologyserver: + enabled: false + topologyserverUrl: http://toplogy-api-service.topology:3001 + tileserverUrl: https://tile.openstreetmap.org ################################################################# diff --git a/kubernetes/sdnc/resources/config/bin/startODL.oom.sh b/kubernetes/sdnc/resources/config/bin/startODL.oom.sh deleted file mode 100644 index 4fb1af75be..0000000000 --- a/kubernetes/sdnc/resources/config/bin/startODL.oom.sh +++ /dev/null @@ -1,324 +0,0 @@ -#!/bin/bash -{{/* - -### -# ============LICENSE_START======================================================= -# SDNC -# ================================================================================ -# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Update by Copyright (C) 2020 highstreet technologies GmbH. 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========================================================= -### - -# Install SDN-C platform components if not already installed and start container - -# List of used constants, that are provided during container initialization -*/}} - -ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} -ODL_FEATURES_BOOT_FILE=$ODL_HOME/etc/org.apache.karaf.features.cfg -# -ODL_REMOVEIDMDB=${ODL_REMOVEIDMDB:-false} - -#ODL_CERT_DIR -ODL_ADMIN_USERNAME=${ODL_ADMIN_USERNAME:-admin} -if $ODL_REMOVEIDMDB ; then - echo "Remove odl idmdb" - rm $ODL_HOME/data/idmlight.db.mv.db - ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-admin} -else - ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} -fi - -export ODL_ADMIN_PASSWORD ODL_ADMIN_USERNAME - -SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc} -SDNC_BIN=${SDNC_BIN:-/opt/onap/sdnc/bin} -CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk} - -#- ODL Cluster -ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false} -#SDNC_REPLICAS - -#- ODL GEO cluster -GEO_ENABLED=${GEO_ENABLED:-false} -#IS_PRIMARY_CLUSTER -#MY_ODL_CLUSTER -#PEER_ODL_CLUSTER - -#- AAF -SDNC_AAF_ENABLED=${SDNC_AAF_ENABLED:-false} - -#- SDN-R -SDNRWT=${SDNRWT:-false} -SDNRWT_BOOTFEATURES=${SDNRWT_BOOTFEATURES:-sdnr-wt-feature-aggregator} -SDNRDM=${SDNRDM:-false} -# Add devicemanager base and specific repositories -SDNRDM_BASE_REPO=${SDNRDM_BASE_REPO:-mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-feature-aggregator-devicemanager-base/$CCSDKFEATUREVERSION/xml/features} -SDNRDM_ONF_REPO=${SDNRDM_ONF_REPO:-mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-devicemanager-onf-feature/$CCSDKFEATUREVERSION/xml/features} -SDNRDM_ORAN_REPO=${SDNRDM_ORAN_REPO:-mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-devicemanager-oran-feature/$CCSDKFEATUREVERSION/xml/features} -SDNRDM_GRAN_REPO=${SDNRDM_GRAN_REPO:-mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-devicemanager-gran-feature/$CCSDKFEATUREVERSION/xml/features} -# Add devicemanager features -SDNRDM_SDM_LIST=${SDNRDM_SDM_LIST:-sdnr-wt-devicemanager-onf-feature, sdnr-wt-devicemanager-oran-feature, sdnr-wt-devicemanager-gran-feature} -SDNRDM_BOOTFEATURES=${SDNRDM_BOOTFEATURES:-sdnr-wt-feature-aggregator-devicemanager-base, ${SDNRDM_SDM_LIST}} -SDNRINIT=${SDNRINIT:-false} -SDNRONLY=${SDNRONLY:-false} -SDNRDBURL=${SDNRDBURL:-http://sdnrdb:9200} -#SDNRDBUSERNAME -#SDNRDBPASSWORD -#SDNRDBPARAMETER -SDNRDBCOMMAND=${SDNRDBCOMMAND:--c init -db $SDNRDBURL -dbu $SDNRDBUSERNAME -dbp $SDNRDBPASSWORD $SDNRDBPARAMETER} - -SDNR_NORTHBOUND=${SDNR_NORTHBOUND:-false} -SDNR_NORTHBOUND_BOOTFEATURES=${SDNR_NORTHBOUND_BOOTFEATURES:-sdnr-northbound-all} - -# Functions - -# Test if repository exists, like this mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-devicemanager-oran-feature/0.7.2/xml/features -# $1 repository -function isRepoExisting() { - REPO=$(echo $1 | sed -E "s#mvn:(.*)/xml/features\$#\1#") - OIFS="$IFS" - IFS='/' parts=($REPO) - IFS="$OIFS" - path="$ODL_HOME/system/"${parts[0]//./\/}"/"${parts[1]}"/"${parts[2]} - [ -d "$path" ] -} - -# Add features repository to karaf featuresRepositories configuration -# $1 repositories to be added -function addRepository() { - CFG=$ODL_FEATURES_BOOT_FILE - ORIG=$CFG.orig - if isRepoExisting "$1" ; then - echo "Add repository: $1" - sed -i "\|featuresRepositories|s|$|, $1|" $CFG - else - echo "Repo does not exist: $1" - fi -} - -# Append features to karaf boot feature configuration -# $1 additional feature to be added -# $2 repositories to be added (optional) -function addToFeatureBoot() { - CFG=$ODL_FEATURES_BOOT_FILE - ORIG=$CFG.orig - if [ -n "$2" ] ; then - addRepository $2 - fi - echo "Add boot feature: $1" - sed -i "\|featuresBoot *=|s|$|,$1|" $CFG -} - -# Append features to karaf boot feature configuration -# $1 search pattern -# $2 replacement -function replaceFeatureBoot() { - CFG=$ODL_FEATURES_BOOT_FILE - echo "Replace boot feature $1 with: $2" - sed -i "/featuresBoot/ s/$1/$2/g" $CFG -} - -# Remove all sdnc specific features -function cleanupFeatureBoot() { - echo "Remove northbound bootfeatures " - sed -i "/featuresBoot/ s/,ccsdk-sli-core-all.*$//g" $ODL_FEATURES_BOOT_FILE -} - -function initialize_sdnr() { - echo "SDN-R Database Initialization" - INITCMD="$JAVA_HOME/bin/java -jar " - INITCMD+="$ODL_HOME/system/org/onap/ccsdk/features/sdnr/wt/sdnr-wt-data-provider-setup/$CCSDKFEATUREVERSION/sdnr-dmt.jar " - INITCMD+="$SDNRDBCOMMAND" - echo "Execute: $INITCMD" - n=0 - until [ $n -ge 5 ] ; do - $INITCMD && break - n=$[$n+1] - sleep 15 - done - return $? -} - -function install_sdnrwt_features() { - # Repository setup provided via sdnc dockerfile - if $SDNRWT; then - addRepository $SDNRDM_BASE_REPO - addRepository $SDNRDM_ONF_REPO - addRepository $SDNRDM_ORAN_REPO - addRepository $SDNRDM_GRAN_REPO - - if $SDNRONLY; then - cleanupFeatureBoot - fi - if $SDNRDM; then - addToFeatureBoot "$SDNRDM_BOOTFEATURES" - else - addToFeatureBoot "$SDNRWT_BOOTFEATURES" - fi - fi -} - - -function install_sdnr_northbound_features() { - # Repository setup provided via sdnc dockerfile - addToFeatureBoot "$SDNR_NORTHBOUND_BOOTFEATURES" -} - -# Reconfigure ODL from default single node configuration to cluster - -function enable_odl_cluster(){ - if [ -z $SDNC_REPLICAS ]; then - echo "SDNC_REPLICAS is not configured in Env field" - exit - fi - - # ODL NETCONF setup - echo "Installing Opendaylight cluster features for mdsal and netconf" - - #Be sure to remove feature odl-netconf-connector-all from list - replaceFeatureBoot "odl-netconf-connector-all," - #Activate cluster - replaceFeatureBoot odl-netconf-topology odl-netconf-clustered-topology - replaceFeatureBoot odl-mdsal-all odl-mdsal-all,odl-mdsal-clustering - addToFeatureBoot odl-jolokia - - # ODL Cluster or Geo cluster configuration - - echo "Update cluster information statically" - fqdn=$(hostname -f) - echo "Get current fqdn ${fqdn}" - - # Extract node index using first digit after "-" - # Example 2 from "sdnr-2.logo.ost.das.r32.com" - node_index=($(echo ${fqdn} | sed -r 's/.*-([0-9]).*/\1/g')) - - if $GEO_ENABLED; then - echo "This is a Geo cluster" - - if [ -z $IS_PRIMARY_CLUSTER ] || [ -z $MY_ODL_CLUSTER ] || [ -z $PEER_ODL_CLUSTER ]; then - echo "IS_PRIMARY_CLUSTER, MY_ODL_CLUSTER and PEER_ODL_CLUSTER must all be configured in Env field" - return - fi - - member_offset=1 - if $IS_PRIMARY_CLUSTER; then - PRIMARY_NODE=${MY_ODL_CLUSTER} - SECONDARY_NODE=${PEER_ODL_CLUSTER} - else - PRIMARY_NODE=${PEER_ODL_CLUSTER} - SECONDARY_NODE=${MY_ODL_CLUSTER} - member_offset=4 - fi - - node_list="${PRIMARY_NODE} ${SECONDARY_NODE}" - $SDNC_BIN/configure_geo_cluster.sh $((node_index+member_offset)) ${node_list} - else - echo "This is a local cluster" - for ((i=0;i<${SDNC_REPLICAS};i++)); do - #assemble node list by replaceing node-index in hostname with "i" - node_name=$(echo ${fqdn} | sed -r "s/-[0-9]/-$i/g") - node_list="${node_list} $node_name" - done - echo "Node index: $((node_index+1)) list: ${node_list[@]}" - $ODL_HOME/bin/configure_cluster.sh $((node_index+1)) ${node_list} - fi -} - -# ----------------------- -# Main script starts here - -echo "Image path=${IMAGEPATH}" -echo "Image names=${IMAGENAMES}" -echo "Settings:" -echo " USER=$(whoami)" -echo " SDNC_BIN=$SDNC_BIN" -echo " SDNC_HOME=$SDNC_HOME" -echo " ODL_CERT_DIR=$ODL_CERT_DIR" -echo " CCSDKFEATUREVERSION=$CCSDKFEATUREVERSION" -echo " ENABLE_ODL_CLUSTER=$ENABLE_ODL_CLUSTER" -echo " ODL_REMOVEIDMDB=$ODL_REMOVEIDMDB" -echo " SDNC_REPLICAS=$SDNC_REPLICAS" -echo " SDNRWT=$SDNRWT" -echo " SDNRDM=$SDNRDM" -echo " SDNRONLY=$SDNRONLY" -echo " SDNRINIT=$SDNRINIT" -echo " SDNRDBURL=$SDNRDBURL" -echo " SDNRDBUSERNAME=$SDNRDBUSERNAME" -echo " SDNRDBPASSWORD=$SDNRDBPASSWORD" -echo " GEO_ENABLED=$GEO_ENABLED" -echo " IS_PRIMARY_CLUSTER=$IS_PRIMARY_CLUSTER" -echo " MY_ODL_CLUSTER=$MY_ODL_CLUSTER" -echo " PEER_ODL_CLUSTER=$PEER_ODL_CLUSTER" -echo " AAF_ENABLED=$SDNC_AAF_ENABLED" - -if $SDNC_AAF_ENABLED; then - export SDNC_AAF_STORE_DIR=/opt/app/osaaf/local - export SDNC_AAF_CONFIG_DIR=/opt/app/osaaf/local - export SDNC_KEYPASS=`cat /opt/app/osaaf/local/.pass` - export SDNC_KEYSTORE=org.onap.sdnc.p12 - sed -i '/cadi_prop_files/d' $ODL_HOME/etc/system.properties - echo "cadi_prop_files=$SDNC_AAF_CONFIG_DIR/org.onap.sdnc.props" >> $ODL_HOME/etc/system.properties - - sed -i '/org.ops4j.pax.web.ssl.keystore/d' $ODL_HOME/etc/custom.properties - sed -i '/org.ops4j.pax.web.ssl.password/d' $ODL_HOME/etc/custom.properties - sed -i '/org.ops4j.pax.web.ssl.keypassword/d' $ODL_HOME/etc/custom.properties - echo org.ops4j.pax.web.ssl.keystore=$SDNC_AAF_STORE_DIR/$SDNC_KEYSTORE >> $ODL_HOME/etc/custom.properties - echo org.ops4j.pax.web.ssl.password=$SDNC_KEYPASS >> $ODL_HOME/etc/custom.properties - echo org.ops4j.pax.web.ssl.keypassword=$SDNC_KEYPASS >> $ODL_HOME/etc/custom.properties -fi - -if $SDNRINIT ; then - #One time intialization action - initialize_sdnr - init_result=$? - echo "Result of init script: $init_result" - if $SDNRWT ; then - echo "Proceed to initialize sdnr" - else - exit $init_result - fi -fi - -if [ ! -f ${SDNC_HOME}/.installed ] -then - echo "Installing SDN-C keyStore" - /bin/bash ${SDNC_HOME}/bin/addSdncKeyStore.sh - - if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi - - if $SDNRWT ; then install_sdnrwt_features ; fi - - if $SDNR_NORTHBOUND ; then install_sdnr_northbound_features ; fi - - echo "Installed at `date`" > ${SDNC_HOME}/.installed -fi - -# Odl configuration done -ODL_FEATURES_BOOT=$(sed -n "/featuresBoot =/p" $ODL_FEATURES_BOOT_FILE) -export ODL_FEATURES_BOOT - -if [ -z "$ODL_CERT_DIR" ] ; then - echo "No certs provided. Skip installation." -else - echo "Start background cert installer" - nohup python ${SDNC_BIN}/installCerts.oom.py & -fi - -echo "Startup opendaylight" -echo $ODL_FEATURES_BOOT -exec ${ODL_HOME}/bin/karaf server diff --git a/kubernetes/sdnc/resources/config/bin/startODL.sh b/kubernetes/sdnc/resources/config/bin/startODL.sh deleted file mode 100755 index 1f004396b6..0000000000 --- a/kubernetes/sdnc/resources/config/bin/startODL.sh +++ /dev/null @@ -1,172 +0,0 @@ -#!/bin/bash -{{/* - -### -# ============LICENSE_START======================================================= -# SDNC -# ================================================================================ -# Copyright © 2020 Samsung Electronics -# Copyright (C) 2017 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========================================================= -### - -# Append features to karaf boot feature configuration -# $1 additional feature to be added -# $2 repositories to be added (optional) -*/}} -function addToFeatureBoot() { - CFG=$ODL_HOME/etc/org.apache.karaf.features.cfg - ORIG=$CFG.orig - if [ -n "$2" ] ; then - echo "Add repository: $2" - mv $CFG $ORIG - cat $ORIG | sed -e "\|featuresRepositories|s|$|,$2|" > $CFG - fi - echo "Add boot feature: $1" - mv $CFG $ORIG - cat $ORIG | sed -e "\|featuresBoot *=|s|$|,$1|" > $CFG -} - -# Append features to karaf boot feature configuration -# $1 search pattern -# $2 replacement -function replaceFeatureBoot() { - CFG=$ODL_HOME/etc/org.apache.karaf.features.cfg - ORIG=$CFG.orig - echo "Replace boot feature $1 with: $2" - sed -i "/featuresBoot/ s/$1/$2/g" $CFG -} - -function install_sdnrwt_features() { - addToFeatureBoot "$SDNRWT_BOOTFEATURES" $SDNRWT_REPOSITORY -} - -function enable_odl_cluster(){ - if [ -z $SDNC_REPLICAS ]; then - echo "SDNC_REPLICAS is not configured in Env field" - exit - fi - - #Be sure to remove feature odl-netconf-connector-all from list - replaceFeatureBoot "odl-netconf-connector-all," - - echo "Installing Opendaylight cluster features" - replaceFeatureBoot odl-netconf-topology odl-netconf-clustered-topology - replaceFeatureBoot odl-mdsal-all odl-mdsal-all,odl-mdsal-clustering - addToFeatureBoot odl-jolokia - #${ODL_HOME}/bin/client feature:install odl-mdsal-clustering - #${ODL_HOME}/bin/client feature:install odl-jolokia - - - echo "Update cluster information statically" - hm=$(hostname) - echo "Get current Hostname ${hm}" - - node=($(echo ${hm} | sed 's/-[0-9]*$//g')) - node_index=($(echo ${hm} | awk -F"-" '{print $NF}')) - member_offset=1 - - if $GEO_ENABLED; then - echo "This is a Geo cluster" - - if [ -z $IS_PRIMARY_CLUSTER ] || [ -z $MY_ODL_CLUSTER ] || [ -z $PEER_ODL_CLUSTER ]; then - echo "IS_PRIMARY_CLUSTER, MY_ODL_CLUSTER and PEER_ODL_CLUSTER must all be configured in Env field" - return - fi - - if $IS_PRIMARY_CLUSTER; then - PRIMARY_NODE=${MY_ODL_CLUSTER} - SECONDARY_NODE=${PEER_ODL_CLUSTER} - else - PRIMARY_NODE=${PEER_ODL_CLUSTER} - SECONDARY_NODE=${MY_ODL_CLUSTER} - member_offset=4 - fi - - node_list="${PRIMARY_NODE} ${SECONDARY_NODE}" - - /opt/onap/sdnc/bin/configure_geo_cluster.sh $((node_index+member_offset)) ${node_list} - else - echo "This is a local cluster" - - node_list="${node}-0.{{.Values.service.name}}-cluster.{{.Release.Namespace}}"; - - for ((i=1;i<${SDNC_REPLICAS};i++)); - do - node_list="${node_list} ${node}-$i.{{.Values.service.name}}-cluster.{{.Release.Namespace}}" - done - - /opt/opendaylight/current/bin/configure_cluster.sh $((node_index+1)) ${node_list} - fi -} - - -# Install SDN-C platform components if not already installed and start container - -ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} -ODL_ADMIN_USERNAME=${ODL_ADMIN_USERNAME} -ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD} -SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc} -SDNC_BIN=${SDNC_BIN:-/opt/onap/sdnc/bin} -CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk} -ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false} -GEO_ENABLED=${GEO_ENABLED:-false} -SDNC_AAF_ENABLED=${SDNC_AAF_ENABLED:-false} -SDNRWT=${SDNRWT:-false} -SDNRWT_BOOTFEATURES=${SDNRWT_BOOTFEATURES:-sdnr-wt-feature-aggregator} -export ODL_ADMIN_PASSWORD ODL_ADMIN_USERNAME - -echo "Settings:" -echo " ENABLE_ODL_CLUSTER=$ENABLE_ODL_CLUSTER" -echo " SDNC_REPLICAS=$SDNC_REPLICAS" -echo " SDNRWT=$SDNRWT" -echo " AAF_ENABLED=$SDNC_AAF_ENABLED" - - -if $SDNC_AAF_ENABLED; then - export SDNC_AAF_STORE_DIR=/opt/app/osaaf/local - export SDNC_AAF_CONFIG_DIR=/opt/app/osaaf/local - export SDNC_KEYPASS=`cat /opt/app/osaaf/local/.pass` - export SDNC_KEYSTORE=org.onap.sdnc.p12 - sed -i '/cadi_prop_files/d' $ODL_HOME/etc/system.properties - echo "cadi_prop_files=$SDNC_AAF_CONFIG_DIR/org.onap.sdnc.props" >> $ODL_HOME/etc/system.properties - - sed -i '/org.ops4j.pax.web.ssl.keystore/d' $ODL_HOME/etc/custom.properties - sed -i '/org.ops4j.pax.web.ssl.password/d' $ODL_HOME/etc/custom.properties - sed -i '/org.ops4j.pax.web.ssl.keypassword/d' $ODL_HOME/etc/custom.properties - echo org.ops4j.pax.web.ssl.keystore=$SDNC_AAF_STORE_DIR/$SDNC_KEYSTORE >> $ODL_HOME/etc/custom.properties - echo org.ops4j.pax.web.ssl.password=$SDNC_KEYPASS >> $ODL_HOME/etc/custom.properties - echo org.ops4j.pax.web.ssl.keypassword=$SDNC_KEYPASS >> $ODL_HOME/etc/custom.properties -fi - -if [ ! -f ${SDNC_HOME}/.installed ] -then - echo "Installing SDN-C keyStore" - ${SDNC_HOME}/bin/addSdncKeyStore.sh - - if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi - - if $SDNRWT ; then install_sdnrwt_features ; fi - - echo "Installed at `date`" > ${SDNC_HOME}/.installed -fi - -cp /opt/opendaylight/current/certs/* /tmp -cp /var/custom-certs/* /tmp - -nohup python ${SDNC_BIN}/installCerts.py & - - -exec ${ODL_HOME}/bin/karaf server diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml index 137d94fab2..98ad43ed60 100644 --- a/kubernetes/sdnc/templates/statefulset.yaml +++ b/kubernetes/sdnc/templates/statefulset.yaml @@ -159,13 +159,8 @@ spec: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - {{- if not .Values.config.sdnr.enabled }} command: ["/bin/bash"] args: ["-c", "/opt/onap/sdnc/bin/startODL.sh"] - {{ else }} - command: ["/bin/bash"] - args: ["-c", "{{ .Values.config.binDir }}/startODL.oom.sh"] - {{ end }} ports: - containerPort: {{ .Values.service.internalPort }} - containerPort: {{ .Values.service.internalPort2 }} @@ -235,12 +230,6 @@ spec: - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg name: sdnc-logging-cfg-config subPath: org.ops4j.pax.logging.cfg - - mountPath: {{ .Values.config.binDir }}/startODL.sh - name: bin - subPath: startODL.sh - - mountPath: {{ .Values.config.binDir }}/startODL.oom.sh - name: bin - subPath: startODL.oom.sh - mountPath: {{ .Values.config.binDir }}/installSdncDb.sh name: bin subPath: installSdncDb.sh diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml index 9554d82fa3..77b4a0e274 100644 --- a/kubernetes/sdnc/values.yaml +++ b/kubernetes/sdnc/values.yaml @@ -133,9 +133,10 @@ secrets: # Application configuration defaults. ################################################################# # application images + repository: nexus3.onap.org:10001 pullPolicy: Always -image: onap/sdnc-image:2.0.2 +image: onap/sdnc-image:2.0.3 busyboxRepository: docker.io busyboxImage: busybox:1.30 @@ -365,7 +366,7 @@ elasticsearch: nameOverride: sdnrdb # enable sdnc-web: - enabled: false + enabled: true # default number of instances replicaCount: 1 |