diff options
46 files changed, 648 insertions, 791 deletions
diff --git a/TOSCA/Helm/helmdelete.sh b/TOSCA/Helm/helmdelete.sh deleted file mode 100644 index 201471ba73..0000000000 --- a/TOSCA/Helm/helmdelete.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017 AT&T -# -# 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============================================ - -helm delete $2 --purge - - diff --git a/TOSCA/Helm/helminstall.sh b/TOSCA/Helm/helminstall.sh deleted file mode 100644 index f108825621..0000000000 --- a/TOSCA/Helm/helminstall.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017 AT&T -# -# 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============================================ - -printf "%s" "$*" -printf `pwd` -printf "%s" "---------------" - -helm install local/$2 --name $2 --namespace $1
\ No newline at end of file diff --git a/TOSCA/Helm/k8s_delete_env.sh b/TOSCA/Helm/k8s_delete_env.sh deleted file mode 100644 index c715e22660..0000000000 --- a/TOSCA/Helm/k8s_delete_env.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017 AT&T -# -# 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============================================ - -kubectl delete secret $1-docker-registry-key -kubectl delete clusterrolebinding $1-admin-binding -kubectl delete namespace $1 - - - diff --git a/TOSCA/Helm/k8s_setup_env.sh b/TOSCA/Helm/k8s_setup_env.sh deleted file mode 100644 index 1e226f2ae0..0000000000 --- a/TOSCA/Helm/k8s_setup_env.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017 AT&T -# -# 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============================================ - -printf "%s" "$*" -printf `pwd` -printf "%s" "---------------" - -kubectl create namespace $1 -kubectl create clusterrolebinding $1-admin-binding --clusterrole=cluster-admin --serviceaccount=$1:default -kubectl --namespace $1 create secret docker-registry $1-docker-registry-key --docker-server=nexus3.onap.org:10001 --docker-username=docker --docker-password=docker --docker-email=@
\ No newline at end of file diff --git a/TOSCA/Helm/onap-blueprint.yaml b/TOSCA/Helm/onap-blueprint.yaml deleted file mode 100644 index c5b699b5be..0000000000 --- a/TOSCA/Helm/onap-blueprint.yaml +++ /dev/null @@ -1,359 +0,0 @@ -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017 AT&T -# -# 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============================================ - -tosca_definitions_version: cloudify_dsl_1_3 - -imports: - - http://www.getcloudify.org/spec/cloudify/3.4.2/types.yaml - - http://www.getcloudify.org/spec/fabric-plugin/1.5/plugin.yaml - -inputs: - # For agent, toggle to true. - install_method: - default: none # For fabric use false. - ip: - user: - default: centos - namespace: - default: onap - -node_types: - cloudify.nodes.Helm: - derived_from: cloudify.nodes.SoftwareComponent - properties: - cwd: - default: /home/centos/oom/kubernetes - args: - default: - - onap - - mso - interfaces: - cloudify.interfaces.lifecycle: - # This is for fabric: # Run Anywhere. - start: - implementation: fabric.fabric_plugin.tasks.run_script - inputs: - script_path: - default: helminstall.sh # Relative to the blueprint file. - process: - default: &process_vars - cwd: { get_property: [ SELF, cwd ] } - args: { get_property: [ SELF, args ] } - fabric_env: - default: &fabric_env - user: { get_property: [ k8s_master, agent_config, user ] } - host_string: { get_property: [ k8s_master, ip ] } - key: { get_property: [ k8s_master, agent_config, key ] } - stop: - implementation: fabric.fabric_plugin.tasks.run_script - inputs: - script_path: - default: helmdelete.sh - process: - default: *process_vars - fabric_env: - default: *fabric_env - -node_templates: - - k8s_master: - type: cloudify.nodes.Compute - properties: - ip: { get_input: ip } - agent_config: - install_method: { get_input: install_method } # False for Fabric. - key: { get_secret: agent_key_private } - user: { get_input: user } - - k8s_env: - type: cloudify.nodes.SoftwareComponent - properties: - interfaces: - cloudify.interfaces.lifecycle: - start: - implementation: fabric.fabric_plugin.tasks.run_script - inputs: - script_path: k8s_setup_env.sh - process: - args: [{ get_input: namespace }] - fabric_env: - host_string: { get_input: ip } - user: { get_input: user } - key: { get_secret: agent_key_private } - stop: - implementation: fabric.fabric_plugin.tasks.run_script - inputs: - script_path: k8s_delete_env.sh - process: - args: [{ get_input: namespace }] - fabric_env: - host_string: { get_input: ip } - user: { get_input: user } - key: { get_secret: agent_key_private } - relationships: - - type: cloudify.relationships.connected_to - target: k8s_master - - consul: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - consul - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - msb: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - msb - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - so: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - so - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - appc: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - appc - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - dmaap: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - dmaap - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - oof: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - oof - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - sdnc: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - sdnc - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - vid: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - vid - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - robot: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - robot - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - policy: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - policy - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - portal: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - portal - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - aai: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - aai - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - sdc: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - sdc - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - log: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - log - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - cli: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - cli - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - multicloud: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - multicloud - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - clamp: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - clamp - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - vnfsdk: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - vnfsdk - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - uui: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - uui - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - aaf: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - aaf - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - vfc: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - vfc - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - dcaegen2: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - dcaegen2 - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - esr: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - esr - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - sniro-emulator: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - sniro-emulator - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env - - nbi: - type: cloudify.nodes.Helm - properties: - args: - - { get_input: namespace } - - nbi - relationships: - - type: cloudify.relationships.connected_to - target: k8s_env
\ No newline at end of file diff --git a/TOSCA/ONAP_TOSCA/onap_tosca.yaml b/TOSCA/ONAP_TOSCA/onap_tosca.yaml new file mode 100644 index 0000000000..a48f4bc246 --- /dev/null +++ b/TOSCA/ONAP_TOSCA/onap_tosca.yaml @@ -0,0 +1,432 @@ +# ============LICENSE_START========================================== +# =================================================================== +# Copyright (c) 2018 AT&T +# +# 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============================================ +tosca_definitions_version: cloudify_dsl_1_3 + +imports: + - http://www.getcloudify.org/spec/cloudify/4.3.1/types.yaml + - plugin:helm?version=3.0.0 + +inputs: + tiller-server-ip: + description: the IP address of Kubernetes master + tiller-server-port: + description: the nodeport of tiller server + namespace: + default: onap + chart-repo-url: + default: https://nexus.onap.org/content/sites/oom-helm-staging + chart-version : + default: 2.0.0 + stable-repo-url: + description: URL for stable repository + type: string + default: 'https://kubernetes-charts.storage.googleapis.com' + + + +node_templates: + + onap_env: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: onap + 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: '{ "aaf": {"enabled": false}, "aai": {"enabled": false}, "appc": {"enabled": false}, "clamp": {"enabled": false}, "cli": {"enabled": false}, "consul": {"enabled": false}, "dcaegen2": {"enabled": false}, "dmaap": {"enabled": false}, "esr": {"enabled": false}, "log": {"enabled": false}, "sniro-emulator": {"enabled": false}, "msb": {"enabled": false}, "multicloud": {"enabled": false}, "nbi": {"enabled": false}, "oof": {"enabled": false}, "policy": {"enabled": false}, "pomba": {"enabled": false}, "portal": {"enabled": false}, "robot": {"enabled": false}, "sdc": {"enabled": false}, "sdnc": {"enabled": false}, "so": {"enabled": false}, "uui": {"enabled": false}, "vfc": {"enabled": false}, "vid": {"enabled": false}, "vnfsdk": {"enabled": false} }' + + aaf: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: aaf + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + aai: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: aai + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + appc: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: appc + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + clamp: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: clamp + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + cli: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: cli + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + consul: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: consul + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + contrib: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: contrib + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + dcaegen2: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: dcaegen2 + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + + dmaap: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: dmaap + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + esr: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: esr + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + log: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: log + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + sniro-emulator: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: sniro-emulator + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + oof: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: oof + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + msb: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: msb + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + multicloud: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: multicloud + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + nbi: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: nbi + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + policy: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: policy + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + pomba: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: pomba + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + portal: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: portal + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + robot: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: robot + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + sdc: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: sdc + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + sdnc: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: sdnc + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + so: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: so + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + uui: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: uui + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + vfc: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: vfc + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + vid: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: vid + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env + + vnfsdk: + type: onap.nodes.component + properties: + tiller-server-ip: { get_input: tiller-server-ip } + tiller-server-port: { get_input: tiller-server-port } + component-name: vnfsdk + 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} + relationships: + - type: cloudify.relationships.connected_to + target: onap_env
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore b/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore Binary files differindex 9eec841aa2..c4c72718ff 100644 --- a/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore +++ b/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore diff --git a/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml b/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml index 325982b0ac..38fd64c5dc 100644 --- a/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml +++ b/kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml @@ -24,11 +24,17 @@ xsi:schemaLocation=" http://www.springframework.org/schema/util/spring-util.xsd "> - <!-- Event publisher to pass to the Champ library for logging raw graph - events (Kafka implementation). --> - <bean id="champEventPublisher" class="org.onap.aai.event.client.KafkaEventPublisher" > - <constructor-arg name="hosts" value="message-router-kafka.{{.Release.Namespace}}:9092" /> - <constructor-arg name="topic" value="champRawEvents" /> + <bean id="champEventPublisher" class="org.onap.aai.event.client.DMaaPEventPublisher" > + <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:{{.Values.event.port.dmaap}}" /> + <constructor-arg name="topic" value="{{.Values.event.publisher.topic}}" /> + <constructor-arg name="username" value="" /> + <constructor-arg name="password" value="" /> + <constructor-arg name="maxBatchSize" value="100" /> + <constructor-arg name="maxAgeMs" value="250" /> + <constructor-arg name="delayBetweenBatchesMs" value="50" /> + <constructor-arg name="transportType" value="HTTPAUTH" /> + <constructor-arg name="protocol" value="{{.Values.event.protocol}}" /> + <constructor-arg name="contentType" value="application/json" /> </bean> <!-- Graph Implementation Configuration--> diff --git a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml index 0e2bb90aa7..d2f7bca593 100644 --- a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml @@ -31,23 +31,6 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} spec: - initContainers: - - command: - - /root/ready.py - args: - - --container-name - - aai-resources - - --container-name - - message-router-kafka - env: - - name: NAMESPACE - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.namespace - image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - name: {{ include "common.name" . }}-readiness containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" @@ -100,7 +83,7 @@ spec: - mountPath: /opt/app/champ-service/bundleconfig/etc/logback.xml name: {{ include "common.fullname" . }}-logback-config subPath: logback.xml - - mountPath: /logs + - mountPath: /var/log/onap name: {{ include "common.fullname" . }}-logs resources: {{ toYaml .Values.resources | indent 12 }} @@ -113,6 +96,19 @@ spec: {{ toYaml .Values.affinity | indent 10 }} {{- end }} + # side car containers + - name: filebeat-onap + image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - mountPath: /usr/share/filebeat/filebeat.yml + subPath: filebeat.yml + name: filebeat-conf + - mountPath: /var/log/onap + name: {{ include "common.fullname" . }}-logs + - mountPath: /usr/share/filebeat/data + name: aai-filebeat + volumes: - name: localtime hostPath: @@ -140,5 +136,10 @@ spec: items: - key: logback.xml path: logback.xml + - name: filebeat-conf + configMap: + name: aai-filebeat + - name: aai-filebeat + emptyDir: {} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aai/charts/aai-champ/values.yaml b/kubernetes/aai/charts/aai-champ/values.yaml index c59a9b3d02..a6435dd795 100644 --- a/kubernetes/aai/charts/aai-champ/values.yaml +++ b/kubernetes/aai/charts/aai-champ/values.yaml @@ -61,3 +61,11 @@ ingress: enabled: false resources: {} + +# XML beans configuration +event: + port: + dmaap: 3905 + protocol: https + publisher: + topic: champRawEvents diff --git a/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml b/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml index bfa35c2e3a..acfe0a5933 100644 --- a/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml +++ b/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml @@ -27,12 +27,24 @@ <property name="searchEndpointDocuments" value = "documents" /> <property name="searchEntitySearchIndex" value="entity-search-index" /> <property name="searchTopographySearchIndex" value="topography-search-index" /> - <property name="searchEntityAutoSuggestIndex" value="entity-autosuggest-index" /> - <property name="searchAggregationVnfIndex" value="aggregate-vnf-index" /> + <property name="searchEntityAutoSuggestIndex" value="entityautosuggestindex" /> + <property name="searchAggregationVnfIndex" value="aggregate_generic-vnf_index" /> <property name="searchCertName" value="client-cert-onap.p12" /> <property name="searchKeystorePwd" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" /> <property name="searchKeystore" value="tomcat_keystore" /> </bean> + + <bean id="consumerBeanEntityEvent" class="org.onap.aai.event.client.DMaaPEventConsumer " > + <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:3904" /> + <constructor-arg name="topic" value="AAI-EVENT" /> + <constructor-arg name="username" value="" /> + <constructor-arg name="password" value="" /> + <constructor-arg name="consumerGroup" value="datarouter" /> + <constructor-arg name="consumerId" value="datarouter" /> + <constructor-arg name="timeoutMs" value="1000" /> + <constructor-arg name="messageLimit" value="100" /> + <constructor-arg name="transportType" value="HTTPAUTH" /> + </bean> <bean id="entityEventPolicy" class="org.onap.aai.datarouter.policy.EntityEventPolicy" init-method="startup" > <constructor-arg ref="eepConfig"/> diff --git a/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route b/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route index d349ee991b..14db6d6596 100644 --- a/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route +++ b/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route @@ -1,4 +1,4 @@ <route xmlns="http://camel.apache.org/schema/spring" trace="true">
- <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&groupName=datarouter&groupId=datarouter&url=http://message-router.{{.Release.Namespace}}:3904"/>
+ <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&consumer=#consumerBeanEntityEvent" />
<to uri="bean:entityEventPolicy?method=process"/>
-</route>
+</route>
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore Binary files differnew file mode 100644 index 0000000000..9eec841aa2 --- /dev/null +++ b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore diff --git a/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties b/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties index 746bdb48c1..246e52895a 100644 --- a/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties +++ b/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties @@ -42,3 +42,5 @@ ml.babel.BASE_URL=https://aai-babel.{{.Release.Namespace}}:9516 ml.babel.GENERATE_ARTIFACTS_URL=/services/babel-service/v1/app/generateArtifacts ml.babel.KEYSTORE_FILE=babel-client-cert.p12 ml.babel.KEYSTORE_PASSWORD=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 +ml.babel.TRUSTSTORE_FILE=tomcat_keystore +ml.babel.TRUSTSTORE_PASSWORD=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 diff --git a/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore Binary files differindex 9eec841aa2..025f3c49da 100644 --- a/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore +++ b/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore diff --git a/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml b/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml index 20dfbc5e6d..50be8cb0f8 100644 --- a/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml +++ b/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml @@ -37,6 +37,8 @@ <constructor-arg name="timeoutMs" value="1000" /> <constructor-arg name="messageLimit" value="100" /> <constructor-arg name="transportType" value="HTTPAUTH" /> + <constructor-arg name="protocol" value="{{.Values.event.protocol}}" /> + <constructor-arg name="filter"><null /></constructor-arg> </bean> <bean id="eventPublisher" class="org.onap.aai.event.client.DMaaPEventPublisher" > @@ -48,6 +50,8 @@ <constructor-arg name="maxAgeMs" value="250" /> <constructor-arg name="delayBetweenBatchesMs" value="50" /> <constructor-arg name="transportType" value="HTTPAUTH" /> + <constructor-arg name="protocol" value="{{.Values.event.protocol}}" /> + <constructor-arg name="contentType" value="application/json" /> </bean> <bean id="spikeService" class="org.onap.aai.spike.service.SpikeService" init-method="startup"> diff --git a/kubernetes/aai/charts/aai-spike/values.yaml b/kubernetes/aai/charts/aai-spike/values.yaml index c8d20437ad..6429d3f119 100644 --- a/kubernetes/aai/charts/aai-spike/values.yaml +++ b/kubernetes/aai/charts/aai-spike/values.yaml @@ -65,7 +65,8 @@ resources: {} # XML bean configuration event: port: - dmaap: 3904 + dmaap: 3905 + protocol: https consumer: topic: champRawEvents publisher: diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml index a1e330a260..a60bbb4f7a 100755 --- a/kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml +++ b/kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml @@ -13,7 +13,7 @@ # limitations under the License. global: # global defaults - nodePortPrefix: 302 + nodePortPrefixExt: 304 persistence: {} config: @@ -112,4 +112,4 @@ readiness: initialDelaySeconds: 10 periodSeconds: 10 -resources: {}
\ No newline at end of file +resources: {} diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-nginx/templates/service.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-nginx/templates/service.yaml index 90fca379b4..3490306ded 100755 --- a/kubernetes/contrib/charts/netbox/charts/netbox-nginx/templates/service.yaml +++ b/kubernetes/contrib/charts/netbox/charts/netbox-nginx/templates/service.yaml @@ -29,7 +29,7 @@ spec: ports: {{if eq .Values.service.type "NodePort" -}} - port: {{ .Values.service.internalPort }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }} {{- else -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-nginx/values.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-nginx/values.yaml index 31f2abffd1..14fedc881a 100755 --- a/kubernetes/contrib/charts/netbox/charts/netbox-nginx/values.yaml +++ b/kubernetes/contrib/charts/netbox/charts/netbox-nginx/values.yaml @@ -17,7 +17,7 @@ # Declare variables to be passed into your templates. global: # global defaults - nodePortPrefix: 302 + nodePortPrefixExt: 304 persistence: {} pullPolicy: Always @@ -79,6 +79,6 @@ service: name: netbox-nginx portName: netbox-nginx internalPort: 8080 - nodePort: 69 + nodePort: 20 -resources: {}
\ No newline at end of file +resources: {} diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml index 39ff3edfaf..e662567e31 100755 --- a/kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml +++ b/kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml @@ -17,7 +17,7 @@ # Declare variables to be passed into your templates. global: # global defaults - nodePortPrefix: 302 + nodePortPrefixExt: 304 persistence: {} # application image diff --git a/kubernetes/contrib/charts/netbox/values.yaml b/kubernetes/contrib/charts/netbox/values.yaml index 6665064383..2dfb36b1e5 100755 --- a/kubernetes/contrib/charts/netbox/values.yaml +++ b/kubernetes/contrib/charts/netbox/values.yaml @@ -16,7 +16,7 @@ # Global configuration defaults. ################################################################# global: - nodePortPrefix: 302 + nodePortPrefixExt: 304 commonConfigPrefix: netbox readinessRepository: oomk8s readinessImage: readiness-check:2.0.0 diff --git a/kubernetes/sdnc/charts/dmaap-listener/templates/configmap.yaml b/kubernetes/sdnc/charts/dmaap-listener/templates/configmap.yaml index fd8934b22c..816b1db7f3 100644 --- a/kubernetes/sdnc/charts/dmaap-listener/templates/configmap.yaml +++ b/kubernetes/sdnc/charts/dmaap-listener/templates/configmap.yaml @@ -17,5 +17,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdnc/charts/sdnc-ansible-server/templates/configmap.yaml b/kubernetes/sdnc/charts/sdnc-ansible-server/templates/configmap.yaml index f57dc78107..816b1db7f3 100644 --- a/kubernetes/sdnc/charts/sdnc-ansible-server/templates/configmap.yaml +++ b/kubernetes/sdnc/charts/sdnc-ansible-server/templates/configmap.yaml @@ -17,5 +17,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: -{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml b/kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml index f57dc78107..816b1db7f3 100644 --- a/kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml +++ b/kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml @@ -17,5 +17,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: -{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdnc/charts/ueb-listener/templates/configmap.yaml b/kubernetes/sdnc/charts/ueb-listener/templates/configmap.yaml index fd8934b22c..816b1db7f3 100644 --- a/kubernetes/sdnc/charts/ueb-listener/templates/configmap.yaml +++ b/kubernetes/sdnc/charts/ueb-listener/templates/configmap.yaml @@ -17,5 +17,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdnc/sdnc-prom/templates/configmap.yaml b/kubernetes/sdnc/sdnc-prom/templates/configmap.yaml index cf4332334b..3e885128f4 100644 --- a/kubernetes/sdnc/sdnc-prom/templates/configmap.yaml +++ b/kubernetes/sdnc/sdnc-prom/templates/configmap.yaml @@ -17,6 +17,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-configmap namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} --- @@ -25,5 +30,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-scripts namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/bin/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdnc/templates/configmap.yaml b/kubernetes/sdnc/templates/configmap.yaml index 6f4ee2285e..4adf816b83 100644 --- a/kubernetes/sdnc/templates/configmap.yaml +++ b/kubernetes/sdnc/templates/configmap.yaml @@ -17,6 +17,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-filebeat-configmap namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }} --- @@ -25,6 +30,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-log-configmap namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }} --- @@ -33,6 +43,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-bin namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/bin/*").AsConfig . | indent 2 }} --- @@ -41,6 +56,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-properties namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }} --- @@ -49,5 +69,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-env namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} data: {{ tpl (.Files.Get "resources/env.yaml") . | indent 2 }} diff --git a/kubernetes/vid/charts/vid-galera/Chart.yaml b/kubernetes/vid/charts/vid-mariadb-galera/Chart.yaml index 47f9e7e31d..757d7c5a84 100644 --- a/kubernetes/vid/charts/vid-galera/Chart.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/Chart.yaml @@ -13,9 +13,9 @@ # limitations under the License. apiVersion: v1 -description: Chart for MariaDB Galera cluster -name: mariadb-galera -version: 2.0.0 +description: ONAP VID MariaDB Galera cluster +name: vid_mariadb_galera +version: 3.0.0 keywords: - mariadb - mysql diff --git a/kubernetes/vid/charts/vid-galera/templates/NOTES.txt b/kubernetes/vid/charts/vid-mariadb-galera/templates/NOTES.txt index c44fa8948e..c44fa8948e 100644 --- a/kubernetes/vid/charts/vid-galera/templates/NOTES.txt +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/NOTES.txt diff --git a/kubernetes/vid/charts/vid-galera/templates/configmap.yaml b/kubernetes/vid/charts/vid-mariadb-galera/templates/configmap.yaml index aff9f5b857..aff9f5b857 100644 --- a/kubernetes/vid/charts/vid-galera/templates/configmap.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/configmap.yaml diff --git a/kubernetes/vid/charts/vid-galera/templates/pv.yaml b/kubernetes/vid/charts/vid-mariadb-galera/templates/pv.yaml index f682196931..f682196931 100644 --- a/kubernetes/vid/charts/vid-galera/templates/pv.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/pv.yaml diff --git a/kubernetes/vid/charts/vid-galera/templates/pvc.yaml b/kubernetes/vid/charts/vid-mariadb-galera/templates/pvc.yaml index c3de6e8150..c3de6e8150 100644 --- a/kubernetes/vid/charts/vid-galera/templates/pvc.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/pvc.yaml diff --git a/kubernetes/vid/charts/vid-galera/templates/secrets.yaml b/kubernetes/vid/charts/vid-mariadb-galera/templates/secrets.yaml index 233158f791..233158f791 100644 --- a/kubernetes/vid/charts/vid-galera/templates/secrets.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/secrets.yaml diff --git a/kubernetes/vid/charts/vid-galera/templates/service.yaml b/kubernetes/vid/charts/vid-mariadb-galera/templates/service.yaml index ae11a26629..ae11a26629 100644 --- a/kubernetes/vid/charts/vid-galera/templates/service.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/service.yaml diff --git a/kubernetes/vid/charts/vid-galera/templates/statefulset.yaml b/kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml index 816d473257..816d473257 100644 --- a/kubernetes/vid/charts/vid-galera/templates/statefulset.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml diff --git a/kubernetes/vid/charts/vid-galera/values.yaml b/kubernetes/vid/charts/vid-mariadb-galera/values.yaml index eb715a8b48..e9464b69ee 100644 --- a/kubernetes/vid/charts/vid-galera/values.yaml +++ b/kubernetes/vid/charts/vid-mariadb-galera/values.yaml @@ -126,7 +126,7 @@ resources: memory: 4Gi # Name for mariadb-galera cluster - should be unique accross all projects or other clusters -nameOverride: vid-galera +nameOverride: vid-mariadb-galera # DNS name for mariadb-galera cluster - should be unique accross all projects other clusters #dnsnameOverride: mariadb-galera diff --git a/kubernetes/vid/templates/dbcmd-configmap.yaml b/kubernetes/vid/resources/config/db_cmd.sh index aa088011ea..95b83d4b59 100644 --- a/kubernetes/vid/templates/dbcmd-configmap.yaml +++ b/kubernetes/vid/resources/config/db_cmd.sh @@ -1,4 +1,5 @@ -# Copyright © 2018 Amdocs, Bell Canada +#!/bin/sh +# Copyright © 2018 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,14 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-dbcmd-configmap - namespace: {{ include "common.namespace" . }} -data: - db_cmd.sh : |- - #!/bin/sh - #mysql -uroot -p${MYSQL_ROOT_PASSWORD} -h${MYSQL_HOST} -P3306 < /db-config/vid-pre-init.sql - mysql -uvidadmin -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P3306 < /db-config/vid-pre-init.sql - +echo "Going to run mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P${MYSQL_PORT} ..." +mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P${MYSQL_PORT} < /db-config/vid-pre-init.sql +if [ $? -ne 0 ];then + echo "ERROR: Failed to run ${cmd} vid-pre-init.sql" + exit 1 +else + echo "INFO: Database initialized successfully" +fi diff --git a/kubernetes/vid/resources/config/vid-pre-init.sql b/kubernetes/vid/resources/config/vid-pre-init.sql new file mode 100644 index 0000000000..2dbbbcce6d --- /dev/null +++ b/kubernetes/vid/resources/config/vid-pre-init.sql @@ -0,0 +1,29 @@ +/* +# Copyright © 2018 AT&T +# +# 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. +*/ + +CREATE TABLE IF NOT EXISTS `vid_openecomp_epsdk`.`schema_info` ( +`SCHEMA_ID` VARCHAR(25) NOT NULL, +`SCHEMA_DESC` VARCHAR(75) NOT NULL, +`DATASOURCE_TYPE` VARCHAR(100) NULL DEFAULT NULL, +`CONNECTION_URL` VARCHAR(200) NOT NULL, +`USER_NAME` VARCHAR(45) NOT NULL, +`PASSWORD` VARCHAR(45) NULL DEFAULT NULL, +`DRIVER_CLASS` VARCHAR(100) NOT NULL, +`MIN_POOL_SIZE` INT(11) NOT NULL, +`MAX_POOL_SIZE` INT(11) NOT NULL, +`IDLE_CONNECTION_TEST_PERIOD` INT(11) NOT NULL) +ENGINE = InnoDB +DEFAULT CHARACTER SET = utf8;
\ No newline at end of file diff --git a/kubernetes/vid/templates/check-job-completion-configmap.yaml b/kubernetes/vid/templates/check-job-completion-configmap.yaml deleted file mode 100644 index 270615a04b..0000000000 --- a/kubernetes/vid/templates/check-job-completion-configmap.yaml +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright © 2018 Amdocs, 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 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-check-job-completion - namespace: {{ include "common.namespace" . }} -data: - vid_check_job_completion.py: | - #!/usr/bin/python - from __future__ import print_function - import time, argparse, logging, sys, os - import kubernetes.client - from kubernetes import client, config - from pprint import pprint - - #extract env variables. - namespace = os.environ['NAMESPACE'] - cert = os.environ['CERT'] - host = os.environ['KUBERNETES_SERVICE_HOST'] - token_path = os.environ['TOKEN'] - - with open(token_path, 'r') as token_file: - token = token_file.read().replace('\n', '') - - client.configuration.api_key['authorization'] = token - client.configuration.api_key_prefix['authorization'] = 'Bearer' - client.configuration.host = "https://" + str(host) - client.configuration.ssl_ca_cert = cert - - api_instance = client.BatchV1Api() - - #setup logging - log = logging.getLogger(__name__) - handler = logging.StreamHandler(sys.stdout) - handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')) - handler.setLevel(logging.INFO) - log.addHandler(handler) - log.setLevel(logging.INFO) - - - def is_ready(job_name): - log.info( "[INFO] Checking if " + job_name + " is completed") - pretty = True - job_status = False - - try: - api_response = api_instance.read_namespaced_job_status(job_name, namespace, pretty=pretty) - except Exception as e: - print("Exception when calling BatchV1Api->read_namespaced_job_status: %s\n" % e) - - pprint(api_response) - if api_response.status.succeeded == 1: - job_status_type = api_response.status.conditions[0].type - if job_status_type == "Complete": - job_status = True - - print("[DBG] jobStatus: " + unicode(job_status)) - return job_status - - - def main(args): - for job_name in args: - timeout = time.time() + 60 * 10 - while True: - ready = is_ready(job_name) - if ready is True : - break - elif time.time() > timeout: - log.warning( "timed out waiting for '" + job_name + "' to be ready") - exit(1) - else: - time.sleep(5) - - - if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Process some names.') - parser.add_argument('--job-name', action='append', required=True, help='A container name') - args = parser.parse_args() - arg_dict = vars(args) - - for arg in arg_dict.itervalues(): - main(arg) - - diff --git a/kubernetes/vid/templates/cluster-ready-configmap.yaml b/kubernetes/vid/templates/cluster-ready-configmap.yaml deleted file mode 100644 index 86f8d9129b..0000000000 --- a/kubernetes/vid/templates/cluster-ready-configmap.yaml +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright © 2018 Amdocs, 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 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-cluster-ready-configmap - namespace: {{ include "common.namespace" . }} -data: - vid_ready.py : |- - #!/usr/bin/python - from kubernetes import client, config - import time, argparse, logging, sys, os - - #extract env variables. - namespace = os.environ['NAMESPACE'] - cert = os.environ['CERT'] - host = os.environ['KUBERNETES_SERVICE_HOST'] - token_path = os.environ['TOKEN'] - - with open(token_path, 'r') as token_file: - token = token_file.read().replace('\n', '') - - client.configuration.host = "https://" + host - client.configuration.ssl_ca_cert = cert - client.configuration.api_key['authorization'] = token - client.configuration.api_key_prefix['authorization'] = 'Bearer' - - #setup logging - log = logging.getLogger(__name__) - handler = logging.StreamHandler(sys.stdout) - handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')) - handler.setLevel(logging.INFO) - log.addHandler(handler) - log.setLevel(logging.INFO) - - - def is_ready(container_name): - log.info( "Checking if " + container_name + " is ready") - # config.load_kube_config() # for local testing - # namespace='onap-sdc' # for local testing - v1 = client.CoreV1Api() - - ready = False - - try: - response = v1.list_namespaced_pod(namespace=namespace, watch=False) - - for i in response.items: - #log.info(i.metadata.name) - for s in i.status.container_statuses: - #log.info(s.name) - if i.metadata.name == container_name: - ready = s.ready - if not ready: - log.info( container_name + " is not ready.") - else: - log.info( container_name + " is ready!") - else: - continue - return ready - except Exception as e: - log.error("Exception when calling list_namespaced_pod: %s\n" % e) - - - def main(args): - # args are a list of container names - for container_name in args: - # 5 min, TODO: make configurable - timeout = time.time() + 60 * 10 - while True: - ready = is_ready(container_name) - if ready is True: - break - elif time.time() > timeout: - log.warning( "timed out waiting for '" + container_name + "' to be ready") - exit(1) - else: - time.sleep(5) - - - if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Process some names.') - parser.add_argument('--container-name', action='append', required=True, help='A container name') - args = parser.parse_args() - arg_dict = vars(args) - - for arg in arg_dict.itervalues(): - main(arg) - - - diff --git a/kubernetes/vid/templates/configmap.yaml b/kubernetes/vid/templates/configmap.yaml index f7dbf07645..cae46b4050 100644 --- a/kubernetes/vid/templates/configmap.yaml +++ b/kubernetes/vid/templates/configmap.yaml @@ -27,3 +27,16 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }} + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file diff --git a/kubernetes/vid/templates/deployment.yaml b/kubernetes/vid/templates/deployment.yaml index 5c98b04ae8..5cd4f38331 100644 --- a/kubernetes/vid/templates/deployment.yaml +++ b/kubernetes/vid/templates/deployment.yaml @@ -31,16 +31,9 @@ spec: release: {{ .Release.Name }} spec: initContainers: -#dd775k: This container checks if the job that wait for all db instances to be up and initializes the db had finished. -# - command: -# - /bin/sh -# args: -# - "-c" -# - "sleep 1000000000m" - command: - - python + - /root/job_complete.py args: - - /tmp/vid-check-job-completion/vid_check_job_completion.py - --job-name - vid-config-galera env: @@ -52,9 +45,6 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness - volumeMounts: - - mountPath: /tmp/vid-check-job-completion - name: vid-check-job-completion containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" @@ -163,10 +153,6 @@ spec: - name: vid-logback configMap: name: {{ include "common.fullname" . }}-log-configmap - - name: vid-check-job-completion - configMap: - name: {{ include "common.fullname" . }}-check-job-completion imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" - diff --git a/kubernetes/vid/templates/galera-sql-configmap.yaml b/kubernetes/vid/templates/galera-sql-configmap.yaml deleted file mode 100644 index 7f05af56a9..0000000000 --- a/kubernetes/vid/templates/galera-sql-configmap.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright © 2018 Amdocs, 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 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-galera-sql-configmap - namespace: "{{ include "common.namespace" . }}" -data: - vid-pre-init.sql: |- - CREATE TABLE IF NOT EXISTS `vid_openecomp_epsdk`.`schema_info` ( - `SCHEMA_ID` VARCHAR(25) NOT NULL, - `SCHEMA_DESC` VARCHAR(75) NOT NULL, - `DATASOURCE_TYPE` VARCHAR(100) NULL DEFAULT NULL, - `CONNECTION_URL` VARCHAR(200) NOT NULL, - `USER_NAME` VARCHAR(45) NOT NULL, - `PASSWORD` VARCHAR(45) NULL DEFAULT NULL, - `DRIVER_CLASS` VARCHAR(100) NOT NULL, - `MIN_POOL_SIZE` INT(11) NOT NULL, - `MAX_POOL_SIZE` INT(11) NOT NULL, - `IDLE_CONNECTION_TEST_PERIOD` INT(11) NOT NULL) - ENGINE = InnoDB - DEFAULT CHARACTER SET = utf8; - diff --git a/kubernetes/vid/templates/vid-galera-config-job.yaml b/kubernetes/vid/templates/vid-galera-config-job.yaml index b893dbf617..2bcf64749d 100644 --- a/kubernetes/vid/templates/vid-galera-config-job.yaml +++ b/kubernetes/vid/templates/vid-galera-config-job.yaml @@ -28,35 +28,34 @@ spec: name: vid-galera-init spec: initContainers: -#dd775k: This container checks that all galera instances are up before initializing it. +#This container checks that all galera instances are up before initializing it. - name: vid-init-galera-readiness image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} -# - /bin/sh -# args: -# - "-c" -# - "sleep 1000000000m" command: - - python - args: - - /root/vid_ready.py + - /root/ready.py +{{- $fullname := include "common.fullname" . -}} +{{- range $i,$t := until (int .Values.vid_mariadb_galera.replicaCount)}} - --container-name - - {{ include "common.fullname" . }}-mariadb-galera-0 + - {{ $fullname }}-mariadb-galera-{{$i}} +{{- end }} env: - name: NAMESPACE - value: {{ include "common.namespace" . }} - volumeMounts: - - name: init-config - mountPath: /root/ + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace containers: - name: vid-config-galeradb image: {{ .Values.mariadb_image }} imagePullPolicy: "{{ .Values.pullPolicy }}" volumeMounts: - - name: vid-db-config - mountPath: /db-config - - name: dbcmd-config - mountPath: /dbcmd-config + - mountPath: /dbcmd-config/db_cmd.sh + name: {{ include "common.fullname" . }}-config + subPath: db_cmd.sh + - mountPath: /db-config/vid-pre-init.sql + name: {{ include "common.fullname" . }}-config + subPath: vid-pre-init.sql command: - /bin/sh args: @@ -65,22 +64,20 @@ spec: env: - name: MYSQL_PASSWORD value: "{{ .Values.config.vidmysqlpassword }}" -# valueFrom: -# secretKeyRef: -# name: {{ template "common.fullname" . }} -# key: vid-password - name: MYSQL_HOST value: "{{ .Values.config.vidmysqlhost }}" + - name: MYSQL_USER + value: "{{ .Values.config.vidmysqluser }}" + - name: MYSQL_PORT + value: "{{ .Values.config.vidmysqlport }}" + restartPolicy: Never volumes: - - name: vid-db-config - configMap: - name: {{ include "common.fullname" . }}-galera-sql-configmap - - name: dbcmd-config + - name: {{ include "common.fullname" . }}-config configMap: - name: {{ include "common.fullname" . }}-dbcmd-configmap - - name: init-config - configMap: - name: {{ include "common.fullname" . }}-cluster-ready-configmap - restartPolicy: Never - + name: {{ include "common.fullname" . }} + items: + - key: db_cmd.sh + path: db_cmd.sh + - key: vid-pre-init.sql + path: vid-pre-init.sql diff --git a/kubernetes/vid/values.yaml b/kubernetes/vid/values.yaml index 4e5f403391..34a265c656 100644 --- a/kubernetes/vid/values.yaml +++ b/kubernetes/vid/values.yaml @@ -17,9 +17,8 @@ # Declare variables to be passed into your templates. global: nodePortPrefix: 302 - repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ== readinessRepository: oomk8s - readinessImage: readiness-check:1.0.0 + readinessImage: readiness-check:2.0.1 loggingRepository: docker.elastic.co loggingImage: beats/filebeat:5.5.0 @@ -54,8 +53,9 @@ config: logstashPort: 5044 # subchart configuration -mariadb-galera: - nameOverride: vid-mariadb-galera +vid_mariadb_galera: +# nameOverride: vid-mariadb-galera + replicaCount: 1 # default number of instances replicaCount: 1 |