diff options
326 files changed, 8391 insertions, 4312 deletions
diff --git a/.gitignore b/.gitignore index 96565192cb..37287615e0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ kubernetes/dist/* requirements.lock **/charts/*.tgz +# AAI Schema +**/schema/* + # Eclipse .classpath 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/aaf/resources/config/local/org.osaaf.aaf.cm.pkcs11 b/kubernetes/aaf/resources/config/local/org.osaaf.aaf.cm.pkcs11 new file mode 100644 index 0000000000..05fe60fe6a --- /dev/null +++ b/kubernetes/aaf/resources/config/local/org.osaaf.aaf.cm.pkcs11 @@ -0,0 +1 @@ +name = localca diff --git a/kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties b/kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties index 51445e4275..91396b94b6 100644 --- a/kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties +++ b/kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties @@ -280,3 +280,6 @@ AAI.model-version-id.vpn-binding=21a146e5-9901-448c-9197-723076770119 #vserver widget details AAI.model-invariant-id.vserver=ff69d4e0-a8e8-4108-bdb0-dd63217e63c7 AAI.model-version-id.vserver=8ecb2c5d-7176-4317-a255-26274edfdd53 +#cr widget details +AAI.model-invariant-id.cr=425b2158-e51d-4509-9945-dad4556474a3 +AAI.model-version-id.cr=2a160989-b202-47dd-874b-4a0f275998f7 diff --git a/kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties b/kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties new file mode 100644 index 0000000000..fcf139f644 --- /dev/null +++ b/kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties @@ -0,0 +1 @@ +AAI.instance-group-types=org.openecomp.groups.NetworkCollection,org.openecomp.groups.VfcInstanceGroup diff --git a/kubernetes/aai/charts/aai-babel/values.yaml b/kubernetes/aai/charts/aai-babel/values.yaml index 199525adb6..7ba1c6bc03 100644 --- a/kubernetes/aai/charts/aai-babel/values.yaml +++ b/kubernetes/aai/charts/aai-babel/values.yaml @@ -25,7 +25,7 @@ global: ################################################################# # application image -image: onap/babel:1.2.0 +image: onap/babel:1.3-STAGING-latest # application configuration config: 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 9d7ddd1af1..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--> @@ -46,8 +52,7 @@ xsi:schemaLocation=" {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}} {{- $global := . }} - <entry key="storage.hostname" value="{{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}"/> - <entry key="storage.port" value="9160"/> + <entry key="storage.hostname" value="{{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}"/> </util:map> <!-- Janus Implementation --> diff --git a/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml new file mode 100644 index 0000000000..1fbd913907 --- /dev/null +++ b/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml @@ -0,0 +1,191 @@ +<!-- +Copyright © 2018 Amdocs, 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. +--> + +<configuration scan="true" scanPeriod="3 seconds" debug="true"> + <!-- Service-specific properties --> + <property name="componentName" value="AAI-CHAMP" /> + + <!-- directory path for logs --> + <property name="logDir" value="/var/log/onap" /> + <property name="logDirectory" value="${logDir}/${componentName}" /> + + <!-- default eelf log file names --> + <property name="generalLogName" value="error" /> + <property name="metricsLogName" value="metrics" /> + <property name="auditLogName" value="audit" /> + <property name="debugLogName" value="debug" /> + + <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|Champ|%mdc{PartnerName}|%logger||%.-5level|%msg%n" /> + <property name="auditMetricPattern" value="%m%n" /> + + <!-- Example evaluator filter applied against console appender --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + + <!-- ============================================================================ --> + <!-- EELF Appenders --> + <!-- ============================================================================ --> + + <appender name="EELF" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${generalLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender"> + <!-- deny all events with a level below INFO, that is TRACE and DEBUG --> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>INFO</level> + </filter> + <queueSize>256</queueSize> + <appender-ref ref="EELF" /> + </appender> + + <appender name="EELFAudit" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${auditLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${auditMetricPattern}</pattern> + </encoder> + </appender> + <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFAudit" /> + </appender> + + <appender name="EELFMetrics" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${metricsLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${auditMetricPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFMetrics"/> + </appender> + + <appender name="EELFDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${debugLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFDebug" /> + <includeCallerData>false</includeCallerData> + </appender> + + <!-- ============================================================================ --> + <!-- EELF loggers --> + <!-- ============================================================================ --> + <logger name="com.att.eelf" level="info" additivity="false"> + <appender-ref ref="asyncEELF" /> + <appender-ref ref="asyncEELFDebug" /> + </logger> + + <logger name="com.att.eelf.audit" level="info" additivity="false"> + <appender-ref ref="asyncEELFAudit" /> + </logger> + + <logger name="com.att.eelf.metrics" level="info" additivity="false"> + <appender-ref ref="asyncEELFMetrics" /> + </logger> + + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + <logger name="com.blog.spring.jms" level="WARN" /> + + <!-- AJSC Services (bootstrap services) --> + <logger name="ajsc" level="WARN" /> + <logger name="ajsc.RouteMgmtService" level="WARN" /> + <logger name="ajsc.ComputeService" level="WARN" /> + <logger name="ajsc.VandelayService" level="WARN" /> + <logger name="ajsc.FilePersistenceService" level="WARN" /> + <logger name="ajsc.UserDefinedJarService" level="WARN" /> + <logger name="ajsc.UserDefinedBeansDefService" level="WARN" /> + <logger name="ajsc.LoggingConfigurationService" level="WARN" /> + + <!-- AJSC related loggers --> + <logger name="ajsc.restlet" level="WARN" /> + <logger name="ajsc.servlet" level="WARN" /> + + <!-- General loggers --> + <logger name="com.att" level="INFO" /> + <logger name="org.onap" level="INFO" /> + <logger name="org.openecomp" level="INFO" /> + + <!-- Other Loggers that may help troubleshoot --> + <logger name="net.sf" level="WARN" /> + <logger name="org.apache.commons.httpclient" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="org.apache.coyote" level="WARN" /> + <logger name="org.apache.jasper" level="WARN" /> + + <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. + May aid in troubleshooting) --> + <logger name="org.apache.camel" level="WARN" /> + <logger name="org.apache.cxf" level="WARN" /> + <logger name="org.apache.camel.processor.interceptor" level="WARN" /> + <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> + <logger name="org.apache.cxf.service" level="WARN" /> + <logger name="org.restlet" level="WARN" /> + <logger name="org.apache.camel.component.restlet" level="WARN" /> + + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="WARN" /> + <logger name="ch.qos.logback.core" level="WARN" /> + + <root> + <appender-ref ref="asyncEELF" /> + <!-- <appender-ref ref="asyncEELFDebug" /> --> + </root> + +</configuration> diff --git a/kubernetes/aai/charts/aai-champ/templates/configmap.yaml b/kubernetes/aai/charts/aai-champ/templates/configmap.yaml index baeb238fbc..42733a7ab3 100644 --- a/kubernetes/aai/charts/aai-champ/templates/configmap.yaml +++ b/kubernetes/aai/charts/aai-champ/templates/configmap.yaml @@ -28,3 +28,11 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/config/dynamic/conf/*").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-log-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-champ/templates/deployment.yaml b/kubernetes/aai/charts/aai-champ/templates/deployment.yaml index dc8cbb5aaf..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 }}" @@ -97,7 +80,10 @@ spec: - mountPath: /opt/app/champ-service/dynamic/conf/champ-beans.xml name: {{ include "common.fullname" . }}-dynamic-config subPath: champ-beans.xml - - mountPath: /logs + - mountPath: /opt/app/champ-service/bundleconfig/etc/logback.xml + name: {{ include "common.fullname" . }}-logback-config + subPath: logback.xml + - mountPath: /var/log/onap name: {{ include "common.fullname" . }}-logs resources: {{ toYaml .Values.resources | indent 12 }} @@ -110,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: @@ -131,5 +130,16 @@ spec: path: champ-beans.xml - name: {{ include "common.fullname" . }}-logs emptyDir: {} + - name: {{ include "common.fullname" . }}-logback-config + configMap: + name: {{ include "common.fullname" . }}-log-configmap + 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 12ced6fcbe..a6435dd795 100644 --- a/kubernetes/aai/charts/aai-champ/values.yaml +++ b/kubernetes/aai/charts/aai-champ/values.yaml @@ -25,7 +25,7 @@ global: ################################################################# # application image -image: onap/champ:1.2.3 +image: onap/champ:1.3-STAGING-latest # application configuration config: @@ -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-data-router/values.yaml b/kubernetes/aai/charts/aai-data-router/values.yaml index 52acac05a5..10521abaf9 100644 --- a/kubernetes/aai/charts/aai-data-router/values.yaml +++ b/kubernetes/aai/charts/aai-data-router/values.yaml @@ -21,7 +21,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/data-router:1.2.2 +image: onap/data-router:1.3-STAGING-latest pullPolicy: Always restartPolicy: Always diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml b/kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml index a507886bfd..48db706b1f 100644 --- a/kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml +++ b/kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml @@ -1,3 +1,4 @@ +<!-- # Copyright © 2018 Amdocs, Bell Canada, AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -11,6 +12,7 @@ # 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. +--> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v10.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v10.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v10.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v7.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v7.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v7.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v8.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v8.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v8.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v9.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v9.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v9.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-gizmo/values.yaml b/kubernetes/aai/charts/aai-gizmo/values.yaml index bab3372d30..50c9d77a4d 100644 --- a/kubernetes/aai/charts/aai-gizmo/values.yaml +++ b/kubernetes/aai/charts/aai-gizmo/values.yaml @@ -23,7 +23,7 @@ global: ################################################################# # application image -image: onap/gizmo:1.2.1 +image: onap/gizmo:1.3-STAGING-latest # application configuration config: diff --git a/kubernetes/aai/charts/aai-graphadmin/.helmignore b/kubernetes/aai/charts/aai-graphadmin/.helmignore new file mode 100644 index 0000000000..f0c1319444 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/.helmignore @@ -0,0 +1,21 @@ +# 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/TOSCA/Helm/helmdelete.sh b/kubernetes/aai/charts/aai-graphadmin/Chart.yaml index 201471ba73..0b4de7c749 100644 --- a/TOSCA/Helm/helmdelete.sh +++ b/kubernetes/aai/charts/aai-graphadmin/Chart.yaml @@ -1,21 +1,23 @@ -#!/bin/bash -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017 AT&T # +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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 +# 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 - +# ============LICENSE_END========================================================= +apiVersion: v1 +description: ONAP AAI GraphAdmin +name: aai-graphadmin +version: 2.0.0 diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/aaiconfig.properties new file mode 100644 index 0000000000..0aeb2d134c --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/aaiconfig.properties @@ -0,0 +1,123 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +aai.config.checktime=1000 + +# this could come from siteconfig.pl? +aai.config.nodename=AutomaticallyOverwritten + +aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/ +aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/{{ .Values.global.config.schema.version.api.default }}/ +aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/ + +{{ if .Values.global.config.basic.auth.enabled }} +aai.tools.enableBasicAuth=true +aai.tools.username={{ .Values.global.config.basic.auth.username }} +aai.tools.password={{ .Values.global.config.basic.auth.passwd }} +{{ end }} + +aai.truststore.filename={{ .Values.global.config.truststore.filename }} +aai.truststore.passwd.x={{ .Values.global.config.truststore.passwd }} +aai.keystore.filename={{ .Values.global.config.keystore.filename }} +aai.keystore.passwd.x={{ .Values.global.config.keystore.passwd }} + +aai.notification.current.version={{ .Values.global.config.schema.version.api.default }} +aai.notificationEvent.default.status=UNPROCESSED +aai.notificationEvent.default.eventType={{ .Values.global.config.notification.eventType }} +aai.notificationEvent.default.domain={{ .Values.global.config.notification.domain }} +aai.notificationEvent.default.sourceName=aai +aai.notificationEvent.default.sequenceNumber=0 +aai.notificationEvent.default.severity=NORMAL +aai.notificationEvent.default.version={{ .Values.global.config.schema.version.api.default }} +# This one lets us enable/disable resource-version checking on updates/deletes +aai.resourceversion.enableflag=true +aai.logging.maxStackTraceEntries=10 +aai.default.api.version={{ .Values.global.config.schema.version.api.default }} + +# Used by Data Grooming +aai.grooming.default.max.fix={{ .Values.config.maxFix.dataGrooming | int }} +aai.grooming.default.sleep.minutes={{ .Values.config.sleepMinutes.dataGrooming | int }} + +# Used by DupeTool +aai.dupeTool.default.max.fix={{ .Values.config.maxFix.dupeTool | int }} +aai.dupeTool.default.sleep.minutes={{ .Values.config.sleepMinutes.dupeTool | int }} + + +aai.model.proc.max.levels=50 +aai.edgeTag.proc.max.levels=50 + +# Used by the ForceDelete tool +aai.forceDel.protected.nt.list=cloud-region +aai.forceDel.protected.edge.count=10 +aai.forceDel.protected.descendant.count=10 + +#used by the dataGrooming and dataSnapshot cleanup tasks +aai.cron.enable.datagroomingcleanup={{ .Values.config.cron.dataCleanup.dataGrooming.enabled }} +aai.cron.enable.datasnapshotcleanup={{ .Values.config.cron.dataCleanup.dataSnapshot.enabled }} +aai.datagrooming.agezip={{ .Values.config.cron.dataCleanup.dataGrooming.ageZip | int }} +aai.datagrooming.agedelete={{ .Values.config.cron.dataCleanup.dataGrooming.ageDelete | int }} + +aai.datasnapshot.agezip={{ .Values.config.cron.dataCleanup.dataSnapshot.ageZip | int }} +aai.datasnapshot.agedelete={{ .Values.config.cron.dataCleanup.dataSnapshot.ageDelete | int }} + +#used by the dataSnapshot and dataGrooming tasks +aai.cron.enable.dataSnapshot={{ .Values.config.cron.dataSnapshot.enabled }} + +aai.cron.enable.dataGrooming={{ .Values.config.cron.dataGrooming.enabled }} + +#used by the dataGrooming tasks +aai.datagrooming.enableautofix=true +aai.datagrooming.enabledupefixon=true +aai.datagrooming.enabledontfixorphans=true +aai.datagrooming.enabletimewindowminutes=true +aai.datagrooming.enableskiphostcheck=false +aai.datagrooming.enablesleepminutes=false +aai.datagrooming.enableedgesonly=false +aai.datagrooming.enableskipedgechecks=false +aai.datagrooming.enablemaxfix=false +aai.datagrooming.enablesinglecommits=false +aai.datagrooming.enabledupecheckoff=false +aai.datagrooming.enableghost2checkoff=false +aai.datagrooming.enableghost2fixon=false +aai.datagrooming.enablef=false + +# used by the dataGrooming to set values +aai.datagrooming.timewindowminutesvalue=10500 +aai.datagrooming.sleepminutesvalue=100 +aai.datagrooming.maxfixvalue=10 +aai.datagrooming.fvalue=10 + +#timeout for traversal enabled flag +aai.graphadmin.timeoutenabled={{ .Values.config.timeout.enabled }} +#default timeout limit added for graphadmin if not overridden (in ms) +aai.graphadmin.timeoutlimit={{ .Values.config.timeout.limit }} + +#timeout app specific -1 to bypass for that app id, a whole number to override the timeout with that value (in ms) +aai.graphadmin.timeout.appspecific={{ .Values.global.config.realtime.clients }} + +# Disable the process check which are oriented towards linux OS +# These props should only be true for local on windows +aai.disable.check.snapshot.running=false +aai.disable.check.grooming.running=false + +# Specify the params listed right here that you would have send to the dataSnapshot shell script +# JUST_TAKE_SNAPSHOT +# THREADED_SNAPSHOT 2 DEBUG +# THREADED_SNAPSHOT 2 +aai.datasnapshot.params={{ .Values.config.cron.dataSnapshot.params }} diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties new file mode 100644 index 0000000000..75572479b6 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties @@ -0,0 +1,87 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +# The following info parameters are being referenced by ajsc6 +info.build.artifact=aai-graphadmin +info.build.name=resources +info.build.description=Resources Microservice +info.build.version=1.2.0 + +spring.application.name=aai-graphadmin +spring.jersey.type=filter + +server.contextPath=/ +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration + +spring.profiles.active={{ .Values.global.config.profiles.active }} +spring.jersey.application-path=${schema.uri.base.path} +#The max number of active threads in this pool +server.tomcat.max-threads=200 +#The minimum number of threads always kept alive +server.tomcat.min-Spare-Threads=25 +#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads +server.tomcat.max-idle-time=60000 + +# If you get an application startup failure that the port is already taken +# If thats not it, please check if the key-store file path makes sense +server.local.startpath=aai-graphadmin/src/main/resources/ +server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties + +server.port=8449 +server.ssl.enabled-protocols=TLSv1.1,TLSv1.2 +server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }} +server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }}) +server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }} +server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }}) +server.ssl.client-auth=want +server.ssl.key-store-type=JKS + +# JMS bind address host port +jms.bind.address=tcp://localhost:61649 +dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3905 + +# Schema related attributes for the oxm and edges +# Any additional schema related attributes should start with prefix schema +schema.configuration.location=N/A +schema.source.name={{ .Values.global.config.schema.source.name }} +schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/ +schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/ + +schema.ingest.file=${server.local.startpath}/application.properties + +# Schema Version Related Attributes + +schema.uri.base.path={{ .Values.global.config.schema.uri.base.path }} +# Lists all of the versions in the schema +schema.version.list={{ .Values.global.config.schema.version.list }} +# Specifies from which version should the depth parameter to default to zero +schema.version.depth.start={{ .Values.global.config.schema.version.depth }} +# Specifies from which version should the related link be displayed in response payload +schema.version.related.link.start={{ .Values.global.config.schema.version.related.link }} + +# Specifies from which version should the client see only the uri excluding host info +# Before this version server base will also be included +schema.version.app.root.start={{ .Values.global.config.schema.version.app.root }} +# Specifies from which version should the namespace be changed +schema.version.namespace.change.start={{ .Values.global.config.schema.version.namespace.change }} +# Specifies from which version should the client start seeing the edge label in payload +schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.label }} +# Specifies the version that the application should default to +schema.version.api.default={{ .Values.global.config.schema.version.api.default }} + diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties new file mode 100644 index 0000000000..6a28dee46e --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties @@ -0,0 +1,99 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +query.fast-property=true +query.smart-limit=false + +{{ if .Values.global.config.cluster.cassandra.dynamic }} + +{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}} +{{- $global := . }} + +storage.backend=cassandra +storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }} + +storage.cassandra.keyspace=aaigraph + +storage.cassandra.read-consistency-level=LOCAL_QUORUM +storage.cassandra.write-consistency-level=LOCAL_QUORUM +storage.cassandra.replication-factor=3 +storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy + +{{ else }} + +{{ if .Values.global.config.storage }} + +storage.backend={{ .Values.global.config.storage.backend }} + +{{ if eq .Values.global.config.storage.backend "cassandra" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cassandra.keyspace={{ .Values.global.config.storage.name }} + +storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }} +storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }} +storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }} +storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }} +storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "cql" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cql.keyspace={{ .Values.global.config.storage.name }} + +storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }} + +storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }} +storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }} +storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "hbase" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.hbase.table={{ .Values.global.config.storage.name }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ end }} + +{{ end }} + +{{ end }} + +storage.lock.wait-time=300 +#caching on +cache.db-cache = true +cache.db-cache-clean-wait = 20 +cache.db-cache-time = 180000 +cache.db-cache-size = 0.3 + +#load graphson file on startup +load.snapshot.file=false diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties new file mode 100644 index 0000000000..7832d1a969 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties @@ -0,0 +1,93 @@ +# +# ============LICENSE_START======================================================= +# Copyright © 2018 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========================================================= + +query.fast-property=true +query.smart-limit=false + +{{ if .Values.global.config.cluster.cassandra.dynamic }} + +{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}} +{{- $global := . }} + +storage.backend=cassandra +storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }} + +storage.cassandra.keyspace=aaigraph + +storage.cassandra.read-consistency-level=LOCAL_QUORUM +storage.cassandra.write-consistency-level=LOCAL_QUORUM +storage.cassandra.replication-factor=3 +storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy + +{{ else }} + +{{ if .Values.global.config.storage }} + +storage.backend={{ .Values.global.config.storage.backend }} + +{{ if eq .Values.global.config.storage.backend "cassandra" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cassandra.keyspace={{ .Values.global.config.storage.name }} + +storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }} +storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }} +storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }} +storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }} +storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "cql" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cql.keyspace={{ .Values.global.config.storage.name }} + +storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }} + +storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }} +storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }} +storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "hbase" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.hbase.table={{ .Values.global.config.storage.name }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ end }} + +{{ end }} + +{{ end }} + +storage.lock.wait-time=300 +# Setting db-cache to false ensure the fastest propagation of changes across servers +cache.db-cache = false +#load graphson file on startup +load.snapshot.file=false diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/localhost-access-logback.xml b/kubernetes/aai/charts/aai-graphadmin/resources/config/localhost-access-logback.xml new file mode 100644 index 0000000000..95d41235b2 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/localhost-access-logback.xml @@ -0,0 +1,60 @@ +<!-- + + ============LICENSE_START======================================================= + org.onap.aai + ================================================================================ + Copyright © 2018 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========================================================= + +--> +<configuration> + <property name="AJSC_HOME" value="${AJSC_HOME:-.}" /> + <appender name="ACCESS" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder"> + <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern> + </encoder> + </appender> + <appender-ref ref="ACCESS" /> +</configuration> + +<!-- +%a - Remote IP address +%A - Local IP address +%b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent +%B - Bytes sent, excluding HTTP headers +%h - Remote host name +%H - Request protocol +%l - Remote logical username from identd (always returns '-') +%m - Request method +%p - Local port +%q - Query string (prepended with a '?' if it exists, otherwise an empty string +%r - First line of the request +%s - HTTP status code of the response +%S - User session ID +%t - Date and time, in Common Log Format format +%u - Remote user that was authenticated +%U - Requested URL path +%v - Local server name +%I - current request thread name (can compare later with stacktraces) + +%z - Custom pattern that parses the cert for the subject +%y - Custom pattern determines rest or dme2 + -->
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/logback.xml b/kubernetes/aai/charts/aai-graphadmin/resources/config/logback.xml new file mode 100644 index 0000000000..787fc64b6f --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/logback.xml @@ -0,0 +1,708 @@ +<!-- + + ============LICENSE_START======================================================= + org.onap.aai + ================================================================================ + Copyright 2018 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========================================================= + +--> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> + + <property resource="application.properties" /> + + <property name="namespace" value="graph-admin"/> + + <property name="AJSC_HOME" value="${AJSC_HOME:-.}" /> + + <property name="logDirectory" value="${AJSC_HOME}/logs" /> + <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <!-- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> --> + <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/> + + <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> + <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> + <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern> + %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx} + </pattern> + </encoder> + </appender> + + <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/sane.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + </pattern> + </encoder> + </appender> + + <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="SANE" /> + </appender> + + <appender name="METRIC" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/metrics.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="METRIC" /> + </appender> + + <appender name="DEBUG" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/debug.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="DEBUG" /> + </appender> + + <appender name="ERROR" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/rest/error.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${"eelfErrorLogPattern"}</pattern> + </encoder> + </appender> + + <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="ERROR" /> + </appender> + + <appender name="AUDIT" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/audit.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfAuditLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="AUDIT" /> + </appender> + + <appender name="translog" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/translog.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfTransLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="translog" /> + </appender> + + <appender name="dmaapAAIEventConsumer" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${"eelfErrorLogPattern"}</pattern> + </encoder> + </appender> + + <appender name="dmaapAAIEventConsumerDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="dmaapAAIEventConsumerMetric" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="external" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/external/external.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <!-- DataGrooming logs started --> + <appender name="dataGrooming" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/dataGrooming/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataGrooming/error.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfErrorLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dataGroomingdebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dataGrooming/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataGrooming/debug.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dataGroomingmetric" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dataGrooming/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataGrooming/metrics.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + + <!-- DataGrooming logs ended --> + + <!-- DataSnapshot logs started --> + <appender name="dataSnapshot" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/dataSnapshot/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataSnapshot/error.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfErrorLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dataSnapshotdebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dataSnapshot/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataSnapshot/debug.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dataSnapshotmetric" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dataSnapshot/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataSnapshot/metrics.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + + <!-- DataSnapshot logs ended --> + + <!-- CreateDBSchema logs started --> + <appender name="createDBSchema" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/createDBSchema/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/createDBSchema/error.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${"eelfErrorLogPattern"}</pattern> + </encoder> + </appender> + + <appender name="createDBSchemadebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/createDBSchema/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/createDBSchema/debug.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="createDBSchemametric" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/createDBSchema/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/createDBSchema/metrics.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <!-- CreateDBSchema logs ended --> + + <!-- DataCleanupTasks logs started --> + <appender name="dataCleanuperror" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/misc/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/misc/error.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${"eelfErrorLogPattern"}</pattern> + </encoder> + </appender> + + <appender name="dataCleanupdebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/misc/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/misc/debug.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dataCleanupmetric" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/misc/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/misc/metrics.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <!-- DataCleanupTasks logs ended --> + + <!-- pullInvData logs started --> + <appender name="pullInvData" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/pullInvData/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/pullInvData/error.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${"eelfErrorLogPattern"}</pattern> + </encoder> + </appender> + + <appender name="pullInvDatadebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/pullInvData/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/pullInvData/debug.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="pullInvDatametric" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/pullInvData/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/pullInvData/metrics.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <!-- pullInvData logs ended --> + <!-- DataGrooming logs started --> + <appender name="dataExportError" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/dataExport/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataExport/error.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfErrorLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dataExportDebug" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dataExport/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataExport/debug.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + + <appender name="dataExportMetric" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dataExport/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dataExport/metrics.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + + <logger name="org.onap.aai" level="DEBUG" additivity="false"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + <appender-ref ref="asyncSANE" /> + </logger> + + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + <logger name="com.blog.spring.jms" level="WARN" /> + <logger name="com.jayway.jsonpath" level="WARN" /> + + <!-- AJSC Services (bootstrap services) --> + <logger name="ajsc" level="WARN" /> + <logger name="ajsc.RouteMgmtService" level="WARN" /> + <logger name="ajsc.ComputeService" level="WARN" /> + <logger name="ajsc.VandelayService" level="WARN" /> + <logger name="ajsc.FilePersistenceService" level="WARN" /> + <logger name="ajsc.UserDefinedJarService" level="WARN" /> + <logger name="ajsc.UserDefinedBeansDefService" level="WARN" /> + <logger name="ajsc.LoggingConfigurationService" level="WARN" /> + + <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet + logging) --> + <logger name="org.codehaus.groovy" level="WARN" /> + <logger name="com.att.scamper" level="WARN" /> + <logger name="ajsc.utils" level="WARN" /> + <logger name="ajsc.utils.DME2Helper" level="WARN" /> + <logger name="ajsc.filters" level="WARN" /> + <logger name="ajsc.beans.interceptors" level="WARN" /> + <logger name="ajsc.restlet" level="WARN" /> + <logger name="ajsc.servlet" level="WARN" /> + <logger name="com.att.ajsc" level="WARN" /> + <logger name="com.att.ajsc.csi.logging" level="WARN" /> + <logger name="com.att.ajsc.filemonitor" level="WARN" /> + <logger name="com.netflix.loadbalancer" level="WARN" /> + + <logger name="org.apache.zookeeper" level="WARN" /> + + <!-- Other Loggers that may help troubleshoot --> + <logger name="net.sf" level="WARN" /> + <logger name="org.apache.commons.httpclient" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="org.apache.coyote" level="WARN" /> + <logger name="org.apache.jasper" level="WARN" /> + + <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. + May aid in troubleshooting) --> + <logger name="org.apache.camel" level="WARN" /> + <logger name="org.apache.cxf" level="WARN" /> + <logger name="org.apache.camel.processor.interceptor" level="WARN" /> + <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> + <logger name="org.apache.cxf.service" level="WARN" /> + <logger name="org.restlet" level="WARN" /> + <logger name="org.apache.camel.component.restlet" level="WARN" /> + + <logger name="org.hibernate.validator" level="WARN" /> + <logger name="org.hibernate" level="WARN" /> + <logger name="org.hibernate.ejb" level="OFF" /> + + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="WARN" /> + <logger name="ch.qos.logback.core" level="WARN" /> + + <logger name="org.eclipse.jetty" level="WARN" /> + + <!-- logback jms appenders & loggers definition starts here --> + <appender name="auditLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>eelfAuditLogPattern</pattern> + </encoder> + </appender> + <appender name="perfLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <logger name="AuditRecord" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="AuditRecord_DirectCall" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="PerfTrackerRecord" level="INFO" additivity="false"> + <appender-ref ref="perfLogs" /> + </logger> + <!-- logback jms appenders & loggers definition ends here --> + + <logger name="org.onap.aai.interceptors.post" level="DEBUG" + additivity="false"> + <appender-ref ref="asynctranslog" /> + </logger> + + <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + + <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + + <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false"> + <appender-ref ref="dmaapAAIEventConsumer" /> + <appender-ref ref="dmaapAAIEventConsumerDebug" /> + <appender-ref ref="dmaapAAIEventConsumerMetric" /> + </logger> + + <logger name="org.onap.aai.datasnapshot" level="DEBUG" additivity="false"> + <appender-ref ref="dataSnapshot"/> + <appender-ref ref="dataSnapshotdebug"/> + <appender-ref ref="dataSnapshotmetric"/> + <appender-ref ref="STDOUT"/> + </logger> + + <logger name="org.onap.aai.datagrooming" level="DEBUG" additivity="false"> + <appender-ref ref="dataGrooming"/> + <appender-ref ref="dataGroomingdebug"/> + <appender-ref ref="dataGroomingmetric"/> + <appender-ref ref="STDOUT"/> + </logger> + + <logger name="org.onap.aai.schema" level="DEBUG" additivity="false"> + <appender-ref ref="createDBSchema"/> + <appender-ref ref="createDBSchemadebug"/> + <appender-ref ref="createDBSchemametric"/> + </logger> + + <logger name="org.onap.aai.dbgen" level="DEBUG" additivity="false"> + <appender-ref ref="createDBSchema"/> + <appender-ref ref="createDBSchemadebug"/> + <appender-ref ref="createDBSchemametric"/> + </logger> + + <logger name="org.onap.aai.dbgen.PullInvData" level="DEBUG" additivity="false"> + <appender-ref ref="pullInvData"/> + <appender-ref ref="pullInvDatadebug"/> + <appender-ref ref="pullInvDatametric"/> + </logger> + + <logger name="org.onap.aai.datacleanup" level="INFO" additivity="false"> + <appender-ref ref="dataCleanuperror" /> + <appender-ref ref="dataCleanupdebug" /> + <appender-ref ref="dataCleanupmetric" /> + <appender-ref ref="STDOUT"/> + </logger> + <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false"> + <appender-ref ref="dataExportError"/> + <appender-ref ref="dataExportDebug"/> + <appender-ref ref="dataExportMetric"/> + <appender-ref ref="STDOUT"/> + </logger> + <logger name="org.apache" level="WARN" /> + <logger name="org.zookeeper" level="WARN" /> + <logger name="com.netflix" level="WARN" /> + <logger name="org.janusgraph" level="WARN" /> + <logger name="com.att.aft.dme2" level="WARN" /> + + <!-- ============================================================================ --> + <!-- General EELF logger --> + <!-- ============================================================================ --> + <logger name="com.att.eelf" level="WARN" additivity="false"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + </logger> + + <root level="DEBUG"> + <appender-ref ref="external" /> + {{ if .Values.global.config.logback.console.enabled }} + <appender-ref ref="STDOUT" /> + {{ end }} + </root> +</configuration> diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/realm.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/realm.properties new file mode 100644 index 0000000000..f401b8a31c --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/resources/config/realm.properties @@ -0,0 +1,32 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +# format : username: password[,rolename ...] +# default username/password: AAI/AAI, MSO/MSO, ModelLoader/ModelLoader... +AAI:OBF:1gfr1ev31gg7,admin +MSO:OBF:1jzx1lz31k01,admin +SDNC:OBF:1itr1i0l1i151isv,admin +DCAE:OBF:1g8u1f9d1f991g8w,admin +POLICY:OBF:1mk61i171ima1im41i0j1mko,admin +ASDC:OBF:1f991j0u1j001f9d,admin +VID:OBF:1jm91i0v1jl9,admin +APPC:OBF:1f991ksf1ksf1f9d,admin +ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin +AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin +OOF:OBF:1img1ke71ily,admin diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/configmap.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/configmap.yaml new file mode 100644 index 0000000000..1fe9e5ce47 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/templates/configmap.yaml @@ -0,0 +1,74 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-log + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-localhost-access-log-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/localhost-access-logback.xml").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-db-real-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/janusgraph-realtime.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-db-cached-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/janusgraph-cached.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-aaiconfig-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/aaiconfig.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-springapp-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-realm-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }} diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml new file mode 100644 index 0000000000..9b0ec6383e --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml @@ -0,0 +1,191 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +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: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + app: {{ include "common.name" . }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + name: {{ include "common.name" . }} + annotations: + checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} + spec: + hostname: aai-graphadmin + {{ if .Values.global.initContainers.enabled }} + initContainers: + - command: + {{ if .Values.global.jobs.createSchema.enabled }} + - /root/job_complete.py + args: + - --job-name + - {{ .Release.Name }}-aai-graphadmin-create-db-schema + {{ else }} + - /root/ready.py + args: + - --container-name + - aai-cassandra + {{ end }} + 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 + {{ end }} + containers: + - name: {{ include "common.name" . }} + image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + env: + - name: LOCAL_USER_ID + value: {{ .Values.config.userId | quote }} + - name: LOCAL_GROUP_ID + value: {{ .Values.config.groupId | quote }} + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-realtime.properties + name: {{ include "common.fullname" . }}-db-real-conf + subPath: janusgraph-realtime.properties + - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-cached.properties + name: {{ include "common.fullname" . }}-db-cached-conf + subPath: janusgraph-cached.properties + - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/aaiconfig.properties + name: {{ include "common.fullname" . }}-aaiconfig-conf + subPath: aaiconfig.properties + - mountPath: /opt/aai/logroot/AAI-RES + name: {{ include "common.fullname" . }}-logs + - mountPath: /opt/app/aai-graphadmin/resources/logback.xml + name: {{ include "common.fullname" . }}-log-conf + subPath: logback.xml + - mountPath: /opt/app/aai-graphadmin/resources/localhost-access-logback.xml + name: {{ include "common.fullname" . }}-localhost-access-log-conf + subPath: localhost-access-logback.xml + - mountPath: /opt/app/aai-graphadmin/resources/application.properties + name: {{ include "common.fullname" . }}-springapp-conf + subPath: application.properties + {{ $global := . }} + {{ range $job := .Values.global.config.auth.files }} + - mountPath: /opt/app/aai-graphadmin/resources/etc/auth/{{ . }} + name: {{ include "common.fullname" $global }}-auth-truststore-sec + subPath: {{ . }} + {{ end }} + ports: + - containerPort: {{ .Values.service.internalPort }} + - containerPort: {{ .Values.service.internalPort2 }} + # disable liveness probe when breakpoints set in debugger + # so K8s doesn't restart unresponsive container + {{ if .Values.liveness.enabled }} + 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 }} + resources: +{{ toYaml .Values.resources | indent 10 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- 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: {{ include "common.fullname" . }}-filebeat + + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: filebeat-conf + configMap: + name: aai-filebeat + - name: {{ include "common.fullname" . }}-logs + emptyDir: {} + - name: {{ include "common.fullname" . }}-filebeat + emptyDir: {} + - name: {{ include "common.fullname" . }}-log-conf + configMap: + name: {{ include "common.fullname" . }}-log + - name: {{ include "common.fullname" . }}-localhost-access-log-conf + configMap: + name: {{ include "common.fullname" . }}-localhost-access-log-configmap + - name: {{ include "common.fullname" . }}-db-real-conf + configMap: + name: {{ include "common.fullname" . }}-db-real-configmap + - name: {{ include "common.fullname" . }}-db-cached-conf + configMap: + name: {{ include "common.fullname" . }}-db-cached-configmap + - name: {{ include "common.fullname" . }}-aaiconfig-conf + configMap: + name: {{ include "common.fullname" . }}-aaiconfig-configmap + - name: {{ include "common.fullname" . }}-springapp-conf + configMap: + name: {{ include "common.fullname" . }}-springapp-configmap + - name: {{ include "common.fullname" . }}-realm-conf + configMap: + name: {{ include "common.fullname" . }}-realm-configmap + - name: {{ include "common.fullname" . }}-auth-truststore-sec + secret: + secretName: aai-auth-truststore-secret + items: + {{ range $job := .Values.global.config.auth.files }} + - key: {{ . }} + path: {{ . }} + {{ end }} + restartPolicy: {{ .Values.restartPolicy }} + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml new file mode 100644 index 0000000000..0a8ed5c038 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml @@ -0,0 +1,166 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +# In ONAP, the following job will always be run on each installation +# The following job will go through the latest oxm and +# create properties based on the data type defined in the oxm +# and create the required indexes for the appropriate properties +# This can be run multiple times as the code if the index or property already exists +# then the index or property won't be created again +# NOTE - During the execution of the createSchema job, there should +# be no other janusgraph connection to the graph as its the reason +# that resources traversal and graphadmin wait until this job is done +# If you are using an existing cassandra cluster not coming from oom +# then it is your job to ensure that there are no connections to the database + +{{ if .Values.global.jobs.createSchema.enabled }} + +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-create-db-schema + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }}-job + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + backoffLimit: 20 + template: + metadata: + labels: + app: {{ include "common.name" . }}-job + release: {{ .Release.Name }} + name: {{ include "common.name" . }} + annotations: + checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} + spec: + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - aai-cassandra + 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 }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /bin/bash + - docker-entrypoint.sh + - createDBSchema.sh + env: + - name: LOCAL_USER_ID + value: {{ .Values.global.config.userId | quote }} + - name: LOCAL_GROUP_ID + value: {{ .Values.global.config.groupId | quote }} + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-realtime.properties + name: {{ include "common.fullname" . }}-db-real-conf + subPath: janusgraph-realtime.properties + - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-cached.properties + name: {{ include "common.fullname" . }}-db-cached-conf + subPath: janusgraph-cached.properties + - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/aaiconfig.properties + name: {{ include "common.fullname" . }}-aaiconfig-conf + subPath: aaiconfig.properties + - mountPath: /opt/aai/logroot/AAI-RES + name: {{ include "common.fullname" . }}-logs + - mountPath: /opt/app/aai-graphadmin/resources/logback.xml + name: {{ include "common.fullname" . }}-log-conf + subPath: logback.xml + - mountPath: /opt/app/aai-graphadmin/resources/localhost-access-logback.xml + name: {{ include "common.fullname" . }}-localhost-access-log-conf + subPath: localhost-access-logback.xml + - mountPath: /opt/app/aai-graphadmin/resources/application.properties + name: {{ include "common.fullname" . }}-springapp-conf + subPath: application.properties + {{ $global := . }} + {{ range $job := .Values.global.config.auth.files }} + - mountPath: /opt/app/aai-graphadmin/resources/etc/auth/{{ . }} + name: {{ include "common.fullname" $global }}-auth-truststore-sec + subPath: {{ . }} + {{ end }} + resources: +{{ toYaml .Values.resources | indent 10 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 8 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 8 }} + {{- end }} + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: filebeat-conf + configMap: + name: aai-filebeat + - name: {{ include "common.fullname" . }}-logs + emptyDir: {} + - name: {{ include "common.fullname" . }}-filebeat + emptyDir: {} + - name: {{ include "common.fullname" . }}-log-conf + configMap: + name: {{ include "common.fullname" . }}-log + - name: {{ include "common.fullname" . }}-localhost-access-log-conf + configMap: + name: {{ include "common.fullname" . }}-localhost-access-log-configmap + - name: {{ include "common.fullname" . }}-db-real-conf + configMap: + name: {{ include "common.fullname" . }}-db-real-configmap + - name: {{ include "common.fullname" . }}-db-cached-conf + configMap: + name: {{ include "common.fullname" . }}-db-cached-configmap + - name: {{ include "common.fullname" . }}-aaiconfig-conf + configMap: + name: {{ include "common.fullname" . }}-aaiconfig-configmap + - name: {{ include "common.fullname" . }}-springapp-conf + configMap: + name: {{ include "common.fullname" . }}-springapp-configmap + - name: {{ include "common.fullname" . }}-realm-conf + configMap: + name: {{ include "common.fullname" . }}-realm-configmap + - name: {{ include "common.fullname" . }}-auth-truststore-sec + secret: + secretName: aai-auth-truststore-secret + items: + {{ range $job := .Values.global.config.auth.files }} + - key: {{ . }} + path: {{ . }} + {{ end }} + restartPolicy: Never + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" +{{ end }} diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/service.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/service.yaml new file mode 100644 index 0000000000..f4d9ba5443 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/templates/service.yaml @@ -0,0 +1,49 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +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: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.service.type }} + ports: + {{if eq .Values.service.type "NodePort" -}} + - port: {{ .Values.service.internalPort }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName }} + - port: {{ .Values.service.internalPort2 }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }} + name: {{ .Values.service.portName2 }} + {{- else -}} + - port: {{ .Values.service.internalPort }} + name: {{ .Values.service.portName }} + - port: {{ .Values.service.internalPort2 }} + name: {{ .Values.service.portName2 }} + {{- end}} + selector: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + clusterIP: None diff --git a/kubernetes/aai/charts/aai-graphadmin/values.yaml b/kubernetes/aai/charts/aai-graphadmin/values.yaml new file mode 100644 index 0000000000..6b7997f944 --- /dev/null +++ b/kubernetes/aai/charts/aai-graphadmin/values.yaml @@ -0,0 +1,127 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 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========================================================= + +# Default values for resources. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. +global: # global defaults + nodePortPrefix: 302 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + + +# application image +repository: nexus3.onap.org:10001 +image: onap/aai-graphadmin:1.0-STAGING-latest +pullPolicy: Always +restartPolicy: Always + +# default number of instances +replicaCount: 1 + +# Configuration for the graphadmin deployment +config: + + # Specifies the timeout limit for the REST API requests + timeout: + enabled: true + limit: 180000 + + # Default maximum records to fix for the data grooming and dupeTool + maxFix: + dataGrooming: 150 + dupeTool: 25 + + # Default number of sleep minutes for dataGrooming and dupeTool + sleepMinutes: + dataGrooming: 7 + dupeTool: 7 + + # Cron specific attributes to be triggered for the graphadmin spring cron tasks + cron: + # Specifies that the data grooming tool which runs duplicates should be enabled + dataGrooming: + enabled: true + # Specifies that the data snapshot which takes a graphson snapshot should be enabled + dataSnapshot: + enabled: true + params: JUST_TAKE_SNAPSHOT + + # Data cleanup which zips snapshots older than x days and deletes older than y days + dataCleanup: + + dataGrooming: + enabled: true + # Zips up the dataGrooming files older than 5 days + ageZip: 5 + # Deletes the dataGrooming files older than 30 days + ageDelete: 30 + + dataSnapshot: + enabled: true + # Zips up the dataSnapshot graphson files older than 5 days + ageZip: 5 + # Deletes the dataSnapshot graphson files older than 30 days + ageDelete: 30 + +nodeSelector: {} + +affinity: {} + +# probe configuration parameters +liveness: + initialDelaySeconds: 60 + periodSeconds: 60 + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: false + +readiness: + initialDelaySeconds: 60 + periodSeconds: 10 + +service: + type: ClusterIP + # REST API port for the graphadmin microservice + portName: aai-graphadmin-8449 + internalPort: 8449 + portName2: aai-graphadmin-5005 + internalPort2: 5005 + +ingress: + enabled: false + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # + # Example: + # Configure resource requests and limits + # ref: http://kubernetes.io/docs/user-guide/compute-resources/ + # Minimum memory for development is 2 CPU cores and 4GB memory + # Minimum memory for production is 4 CPU cores and 8GB memory +#resources: +# limits: +# cpu: 2 +# memory: 4Gi +# requests: +# cpu: 2 +# memory: 4Gi 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-modelloader/values.yaml b/kubernetes/aai/charts/aai-modelloader/values.yaml index c980eb58ca..977860fd30 100644 --- a/kubernetes/aai/charts/aai-modelloader/values.yaml +++ b/kubernetes/aai/charts/aai-modelloader/values.yaml @@ -21,7 +21,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/model-loader:1.2.1 +image: onap/model-loader:1.3-STAGING-latest pullPolicy: Always restartPolicy: Always diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties new file mode 100644 index 0000000000..c8d0b04425 --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties @@ -0,0 +1,8 @@ + +cadi_loglevel=INFO +cadi_prop_files=/opt/app/aai-resources/resources/aaf/org.osaaf.location.props:/opt/app/aai-resources/resources/aaf/org.onap.aai.props + +# OAuth2 +aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect + diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile new file mode 100644 index 0000000000..3416d4a737 --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile @@ -0,0 +1,27 @@ +2otP92kNFHdexroZxvgYY7ffslFiwCD3CiVYMIfUF2edqZK7972NwkvE_mbaBo6jh8lByLIqrWAf +jyzoiVsvQ_kCa0cS1xaRLpcxv3bx1b7o3hGPBqpd6vmSG4y2JLzNlCBZWuTJz827wr8p_fWrYuUm +4L1WoaEe8W5PRnXjl4hDqbJBAlEoRIBXugUDt_7O5wgx2Rl3HVoOczZtf0RzONZ1F0BmKf3QlAUe +moSbARitYRgIPt5sLbT7qPyoEpGDhQ1XBowR744-wsjBc-14yO62Ajp5xWKTp15uWn3_HHuw1SAf +GWSBRGlSlEVkXQqi9Hw5jDttKVzHX1ckwR0SQOirbtHPHplxPX3WKjKhSdSeMzw6LOAHIQYRMKBT +74oGnULAfPtV7TaGwOKriT3P49CoPdt9On89-LGyCZSxDWKH0K-rgB6I2_hPT2Uzr3jmXiMa-sfh +iMvyQ7ABBVx0OFsUuNb5mcU2O6dWiQreL5RerrloV_X3ZtnNjxENXKjQ5KBR1A5ISPjFFK-kf4Rb +p6FSII8LcsiqgdWuZ4GX_C6x8HX4A-vD0x3Uc9CfoXY-k23cNIy-R-W-oB-P2OgdWDNgZ7VaOLNt +3L-NwWpNblfYvs93cNmkbVAwCZ3r0OP7RFeuON84TRaynK_Fh2S3rypRyJcUmM1pvpZqJ5_-umSW +hUs1OqkdLv3xjlVzzK-3nMr0q3Zcyp4XdyLYtcX5I3Xqk9ZcsyAT7ghmHhV8KjUjue7OcfAWg0m7 +RJLGq6VC8HeK4HEMa4lF677Qh7DRufghIDEmQSIDfGA790WGSA8HqcOvAL4hURCHyCWiPa5i8ksX +xX4HyqF8PCVCLJ_ZhzcuIlc0jStAexWbJU_vcyX7XgUaHCkF-M-zv1FP6Z3DHBMD2QqSWjmyNCCk +8sIuwzs62P_j2o9jG33kssedCrUWOwZancU107-5H0Zw-UWvtCqUfmRZ7TsEbWY7lk_SKfLfAN5q +ncOQgU_VxDXUFDST4LN_WVECRafK3UtwWomxWSji25Lbf6NVni3ok-yLMDZR-wrE-54jLPES9j0i +5N0xrk9CfsvGUpUZ1_XQcgaxI6m27DtCCJXb5ywenPBiUIJCMCTq88CqNZxGpju2i4BJcUH2hUHe +GKhO8pgslwhtEVot9EDwdzSrJkWFCfb6ud4zMxrqdi7-mLWMOydg6lhpEFEX5wu2BLIujGsZlEGE +_K9jGfBypjXuJCKDZIuPfEnf_7idjKis_JcFB7x4Hx2HHDcBjlWWFZN_VIEnPkQSyZEC26RTFP3k +zkY3GwUfA36a4XW2pu3gE9wz-W6fkONfzOZ6YiyCm_dRFUVuGSdJG02Hh5iXYlMOGJltPzWH2jVf +S-QTOmXQTKSOheXoJO6O-9uQbsRf-kq-6w1pvIOp4ms35w4_0Xj0Xr2a9y-L9PdBZvrUsa-jxsZU +LyA-YY4Ej6QwDBDTD2MGjF1E5_ekYgjoNlltM9rJjofruM4ym0n7LPHC7YXXQSEFOZYeTKi6wUDw +hQ1DoWHgu4PQ2lexada8sxQdConbPe2iW16h-PrO5D12E4XbT00fqaMlBmjQwzdNRdCC2NRPIQ5W +nwaO8dZ9yjxsjT7ZVHb9-DRblb3XDocponzxVXqUGtJAie4WXQnerX0ApTWGaHEr5y56JJVS_3LP +bKrbXBXcs4jTUX4ECXRrOs8JQDQNysXhvTPCu0XUxNZpjx6KLxDs93k2OcESHjl5J6n6OKKJqqoN +JEyFO5LGXpnmUJbn0-CaHHPRI1mHwEu4brY8wDZd9A0PD1KGXDoCHMfEk1lGblQdyOcVrXZ6uSBk +Z6zHDnwSCHO1mPYqtelJQehZoFuPSv9PIgKLxs_qJOtZFnXII5YO1mGXgiIBWBjUFDR5HG4ENS6y +J4MCF-JLMp-PVMAkOaCIQRRDpRnMm_fT1sc_P562Diu_pcdt-r55pMFQYGoGfjRmxQBKk0-SsdnP +mlZIiis9DfQEN0q3QQdNRYBJD7tmhUwhAPZdLgXqJA8sZf8UyFQhhpsky79NT343YL9smUlF
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 Binary files differnew file mode 100644 index 0000000000..023e2eaac6 --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props new file mode 100644 index 0000000000..906f170f56 --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props @@ -0,0 +1,13 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# @copyright 2016, AT&T +############################################################ +cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US +cadi_keyfile=/opt/app/aai-resources/resources/aaf/org.onap.aai.keyfile +cadi_keystore=/opt/app/aai-resources/resources/aaf/org.onap.aai.p12 +cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5INQjrea7GTV +#cadi_key_password=enc:<KEY PASSWORD (optional if the same as KEYSTORE PASSWORD)> +cadi_alias=aai@aai.onap.org +cadi_truststore=/opt/app/aai-resources/resources/aaf/truststoreONAPall.jks +cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2 +cadi_loglevel=INFO
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.osaaf.location.props b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.osaaf.location.props new file mode 100644 index 0000000000..77c3d53400 --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.osaaf.location.props @@ -0,0 +1,24 @@ +## +## org.osaaf.location.props +## +## Localized Machine Information +## +# Almeda California ? +cadi_latitude=37.78187 +cadi_longitude=-122.26147 + +# Locate URL (which AAF Env) +aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095 + + +# AAF URL +aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0 + +# AAF Environment Designation +aaf_env=DEV + +# OAuth2 Endpoints +aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect + + diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/permissions.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaf/permissions.properties new file mode 100644 index 0000000000..4234121a2d --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/permissions.properties @@ -0,0 +1,2 @@ +permission.type=org.onap.aai.resources +permission.instance=*
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks b/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks Binary files differnew file mode 100644 index 0000000000..2da1dcc4b4 --- /dev/null +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties index d0e322d2d8..4b5ab07395 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties @@ -35,51 +35,33 @@ aai.config.checktime=1000 # this could come from siteconfig.pl? aai.config.nodename=AutomaticallyOverwritten - - -aai.auth.cspcookies_on=false -aai.dbmodel.filename=ex5.json - aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/ -aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/v11/ +aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/{{ .Values.global.config.schema.version.api.default }}/ aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/ +{{ if .Values.global.config.basic.auth.enabled }} aai.tools.enableBasicAuth=true -aai.tools.username=AAI -aai.tools.password=AAI +aai.tools.username={{ .Values.global.config.basic.auth.username }} +aai.tools.password={{ .Values.global.config.basic.auth.passwd }} +{{ end }} -aai.truststore.filename=aai_keystore -aai.truststore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 -aai.keystore.filename=aai_keystore -aai.keystore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 +aai.truststore.filename={{ .Values.global.config.truststore.filename }} +aai.truststore.passwd.x={{ .Values.global.config.truststore.passwd }} +aai.keystore.filename={{ .Values.global.config.keystore.filename }} +aai.keystore.passwd.x={{ .Values.global.config.keystore.passwd }} - -aai.notification.current.version=v11 +aai.notification.current.version={{ .Values.global.config.schema.version.api.default }} aai.notificationEvent.default.status=UNPROCESSED -aai.notificationEvent.default.eventType=AAI-EVENT -aai.notificationEvent.default.domain=dev +aai.notificationEvent.default.eventType={{ .Values.global.config.notification.eventType }} +aai.notificationEvent.default.domain={{ .Values.global.config.notification.domain }} aai.notificationEvent.default.sourceName=aai aai.notificationEvent.default.sequenceNumber=0 aai.notificationEvent.default.severity=NORMAL -aai.notificationEvent.default.version=v11 +aai.notificationEvent.default.version={{ .Values.global.config.schema.version.api.default }} # This one lets us enable/disable resource-version checking on updates/deletes aai.resourceversion.enableflag=true aai.logging.maxStackTraceEntries=10 -aai.default.api.version=v11 - - - -# Used by Model-processing code -aai.model.delete.sleep.per.vtx.msec=500 -aai.model.query.resultset.maxcount=50 -aai.model.query.timeout.sec=90 - -# Used by Data Grooming -aai.grooming.default.max.file=150 -aai.grooming.default.sleep.minutes=7 - -aai.model.proc.max.levels=50 -aai.edgeTag.proc.max.levels=50 +aai.default.api.version={{ .Values.global.config.schema.version.api.default }} aai.logging.trace.enabled=true aai.logging.trace.logrequest=false @@ -89,19 +71,18 @@ aai.transaction.logging=true aai.transaction.logging.get=false aai.transaction.logging.post=false -aai.realtime.clients=SDNC,MSO,SO,robot-ete +aai.realtime.clients={{ .Values.global.config.realtime.clients }} -#timeout for crud enabled flag -aai.crud.timeoutenabled=true +# Timeout for crud enabled flag +aai.crud.timeoutenabled={{ .Values.config.crud.timeout.enabled }} -#timeout app specific -1 to bypass for that app id, a whole number to override the timeout with that value (in ms) -aai.crud.timeout.appspecific=JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAIRctFeed,-1|NewvceCreator,-1|IANewvceCreator,-1|AAI-CSIOVALS,-1 +# Timeout app specific -1 to bypass for that app id, a whole number to override the timeout with that value (in ms) +aai.crud.timeout.appspecific={{ .Values.config.crud.timeout.appspecific }} #default timeout limit added for crud if not overridden (in ms) -aai.crud.timeoutlimit=100000 +aai.crud.timeoutlimit={{ .Values.config.crud.timeout.limit }} #limit set for bulk consumer APIS -aai.bulkconsumer.payloadlimit=30 +aai.bulkconsumer.payloadlimit={{ .Values.config.bulk.limit }} #uncomment and use header X-OverrideLimit with the value to override the bulk api limit -#aai.bulkconsumer.payloadoverride=E6F04B93462CB5B0EDF41C05A9DDF5C3FE59748F -aai.bulkconsumer.payloadoverride=false +aai.bulkconsumer.payloadoverride={{ .Values.config.bulk.override }} diff --git a/kubernetes/aai/charts/aai-resources/resources/config/application.properties b/kubernetes/aai/charts/aai-resources/resources/config/application.properties index b40acf1d2c..29a6d23341 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/application.properties +++ b/kubernetes/aai/charts/aai-resources/resources/config/application.properties @@ -16,7 +16,7 @@ info.build.artifact=aai-resources info.build.name=resources info.build.description=Resources Microservice -info.build.version=1.2.0 +info.build.version=1.3.0 spring.application.name=aai-resources spring.jersey.type=filter @@ -24,7 +24,8 @@ spring.jersey.type=filter server.contextPath=/ spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration -spring.profiles.active=production,dmaap +spring.profiles.active={{ .Values.global.config.profiles.active }} +spring.jersey.application-path=${schema.uri.base.path} #The max number of active threads in this pool server.tomcat.max-threads=200 #The minimum number of threads always kept alive @@ -32,15 +33,6 @@ server.tomcat.min-Spare-Threads=25 #The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads server.tomcat.max-idle-time=60000 - -#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept -#com.att.ajsc.common.interceptors.PreInterceptor.url=/** -#com.att.ajsc.common.interceptors.PostInterceptor.url=/** - -#Servlet context parameters -server.context_parameters.p-name=value #context parameter with p-name as key and value as value. -kubernetes.namespace={{ include "common.namespace" . }} - # If you get an application startup failure that the port is already taken # If thats not it, please check if the key-store file path makes sense server.local.startpath=aai-resources/src/main/resources/ @@ -48,39 +40,43 @@ server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties server.port=8447 server.ssl.enabled-protocols=TLSv1.1,TLSv1.2 -server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore -server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) -server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore -server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }} +server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }}) +server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }} +server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }}) server.ssl.client-auth=want server.ssl.key-store-type=JKS # JMS bind address host port jms.bind.address=tcp://localhost:61647 -dmaap.ribbon.eureka.enabled=false -dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3904 -# Number of milliseconds to wait before making ping requests again -dmaap.ribbon.ServerListRefreshInterval=75000 -dmaap.ribbon.NFLoadBalancerPingInterval=75000 -dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule -dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl -dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true -dmaap.ribbon.ServerDownFailureLimit=1 -# This needs to be verified but it seems that adding this property should automatically -# Make the dmaap client change the url from http to https depending on the server -dmaap.ribbon.securePorts=3905 +dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3905 + +# Schema related attributes for the oxm and edges +# Any additional schema related attributes should start with prefix schema +schema.configuration.location=N/A +schema.source.name={{ .Values.global.config.schema.source.name }} +schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/ +schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/ + +schema.ingest.file=${server.local.startpath}/application.properties + +# Schema Version Related Attributes + +schema.uri.base.path={{ .Values.global.config.schema.uri.base.path }} +# Lists all of the versions in the schema +schema.version.list={{ .Values.global.config.schema.version.list }} +# Specifies from which version should the depth parameter to default to zero +schema.version.depth.start={{ .Values.global.config.schema.version.depth }} +# Specifies from which version should the related link be displayed in response payload +schema.version.related.link.start={{ .Values.global.config.schema.version.related.link }} -# Custom Dmaap Specific Configuration -dmaap.ribbon.username= -dmaap.ribbon.password= -dmaap.ribbon.health.endpoint=/topics/AAI-EVENT -# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing -dmaap.ribbon.pingport.timeout=3 +# Specifies from which version should the client see only the uri excluding host info +# Before this version server base will also be included +schema.version.app.root.start={{ .Values.global.config.schema.version.app.root }} +# Specifies from which version should the namespace be changed +schema.version.namespace.change.start={{ .Values.global.config.schema.version.namespace.change }} +# Specifies from which version should the client start seeing the edge label in payload +schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.label }} +# Specifies the version that the application should default to +schema.version.api.default={{ .Values.global.config.schema.version.api.default }} -niws.loadbalancer.dmaap.filterCircuitTripped=true -niws.loadbalancer.dmaap.connectionFailureCountThreshold=3 -niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180 -#dmaap.ribbon.retryableStatusCodes=404,503 -#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2 -#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2 -#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true diff --git a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties index b9216bf8e0..2c22d14a41 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties +++ b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties @@ -23,6 +23,8 @@ query.fast-property=true query.smart-limit=false +{{ if .Values.global.config.cluster.cassandra.dynamic }} + {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}} {{- $global := . }} @@ -35,9 +37,60 @@ storage.cassandra.read-consistency-level=LOCAL_QUORUM storage.cassandra.write-consistency-level=LOCAL_QUORUM storage.cassandra.replication-factor=3 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy -#storage.cassandra.replication-strategy-options=MTA1cass,3 -#schema.default=none +{{ else }} + +{{ if .Values.global.config.storage }} + +storage.backend={{ .Values.global.config.storage.backend }} + +{{ if eq .Values.global.config.storage.backend "cassandra" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cassandra.keyspace={{ .Values.global.config.storage.name }} + +storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }} +storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }} +storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }} +storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }} +storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "cql" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cql.keyspace={{ .Values.global.config.storage.name }} + +storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }} + +storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }} +storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }} +storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "hbase" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.hbase.table={{ .Values.global.config.storage.name }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ end }} + +{{ end }} + +{{ end }} + storage.lock.wait-time=300 #caching on cache.db-cache = true diff --git a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties index d8f6f71f80..b19c9b6df6 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties +++ b/kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties @@ -21,24 +21,76 @@ query.fast-property=true query.smart-limit=false +{{ if .Values.global.config.cluster.cassandra.dynamic }} + {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}} {{- $global := . }} -# the following parameters are not reloaded automatically and require a manual bounce storage.backend=cassandra storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }} + storage.cassandra.keyspace=aaigraph storage.cassandra.read-consistency-level=LOCAL_QUORUM storage.cassandra.write-consistency-level=LOCAL_QUORUM storage.cassandra.replication-factor=3 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy -#storage.cassandra.replication-strategy-options=MTA1cass,3 -#schema.default=none +{{ else }} + +{{ if .Values.global.config.storage }} + +storage.backend={{ .Values.global.config.storage.backend }} + +{{ if eq .Values.global.config.storage.backend "cassandra" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cassandra.keyspace={{ .Values.global.config.storage.name }} + +storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }} +storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }} +storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }} +storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }} +storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "cql" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cql.keyspace={{ .Values.global.config.storage.name }} + +storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }} + +storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }} +storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }} +storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "hbase" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.hbase.table={{ .Values.global.config.storage.name }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ end }} + +{{ end }} + +{{ end }} + storage.lock.wait-time=300 # Setting db-cache to false ensure the fastest propagation of changes across servers cache.db-cache = false - #load graphson file on startup load.snapshot.file=false diff --git a/kubernetes/aai/charts/aai-resources/resources/config/logback.xml b/kubernetes/aai/charts/aai-resources/resources/config/logback.xml index afd4755e29..9a7216cfde 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/logback.xml +++ b/kubernetes/aai/charts/aai-resources/resources/config/logback.xml @@ -1,353 +1,356 @@ -<!--
- ============LICENSE_START=======================================================
- org.onap.aai
- ================================================================================
- Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- Modifications 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.
- ============LICENSE_END=========================================================
- ECOMP is a trademark and service mark of AT&T Intellectual Property.
--->
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
- <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
- <property resource="application.properties" />
- <property name="namespace" value="aai-resources"/>
- <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
- <jmxConfigurator />
- <property name="logDirectory" value="${AJSC_HOME}/logs" />
- <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <!-- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
- <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
- <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
- <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>
- %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
- </pattern>
- </encoder>
- </appender>
- <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/rest/sane.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
- </rollingPolicy>
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
- </pattern>
- </encoder>
- </appender>
- <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="SANE" />
- </appender>
- <appender name="METRIC"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <file>${logDirectory}/rest/metrics.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfMetricLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="METRIC" />
- </appender>
- <appender name="DEBUG"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <file>${logDirectory}/rest/debug.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="DEBUG" />
- </appender>
- <appender name="ERROR"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <file>${logDirectory}/rest/error.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfErrorLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="ERROR" />
- </appender>
- <appender name="AUDIT"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/rest/audit.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfAuditLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="AUDIT" />
- </appender>
- <appender name="translog"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <file>${logDirectory}/rest/translog.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfTransLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="translog" />
- </appender>
- <appender name="dmaapAAIEventConsumer"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="dmaapAAIEventConsumerDebug"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="dmaapAAIEventConsumerMetric"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfMetricLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="external"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <file>${logDirectory}/external/external.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <logger name="org.onap.aai" level="DEBUG" additivity="false">
- <appender-ref ref="asyncDEBUG" />
- <appender-ref ref="asyncERROR" />
- <appender-ref ref="asyncMETRIC" />
- <appender-ref ref="asyncSANE" />
- </logger>
- <!-- Spring related loggers -->
- <logger name="org.springframework" level="WARN" />
- <logger name="org.springframework.beans" level="WARN" />
- <logger name="org.springframework.web" level="WARN" />
- <logger name="com.blog.spring.jms" level="WARN" />
- <logger name="com.jayway.jsonpath" level="WARN" />
- <!-- AJSC Services (bootstrap services) -->
- <logger name="ajsc" level="WARN" />
- <logger name="ajsc.RouteMgmtService" level="WARN" />
- <logger name="ajsc.ComputeService" level="WARN" />
- <logger name="ajsc.VandelayService" level="WARN" />
- <logger name="ajsc.FilePersistenceService" level="WARN" />
- <logger name="ajsc.UserDefinedJarService" level="WARN" />
- <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
- <logger name="ajsc.LoggingConfigurationService" level="WARN" />
- <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
- logging) -->
- <logger name="org.codehaus.groovy" level="WARN" />
- <logger name="com.att.scamper" level="WARN" />
- <logger name="ajsc.utils" level="WARN" />
- <logger name="ajsc.utils.DME2Helper" level="WARN" />
- <logger name="ajsc.filters" level="WARN" />
- <logger name="ajsc.beans.interceptors" level="WARN" />
- <logger name="ajsc.restlet" level="WARN" />
- <logger name="ajsc.servlet" level="WARN" />
- <logger name="com.att.ajsc" level="WARN" />
- <logger name="com.att.ajsc.csi.logging" level="WARN" />
- <logger name="com.att.ajsc.filemonitor" level="WARN" />
- <logger name="com.netflix.loadbalancer" level="WARN" />
- <logger name="org.apache.zookeeper" level="OFF" />
- <!-- Other Loggers that may help troubleshoot -->
- <logger name="net.sf" level="WARN" />
- <logger name="org.apache.commons.httpclient" level="WARN" />
- <logger name="org.apache.commons" level="WARN" />
- <logger name="org.apache.coyote" level="WARN" />
- <logger name="org.apache.jasper" level="WARN" />
- <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
- May aid in troubleshooting) -->
- <logger name="org.apache.camel" level="WARN" />
- <logger name="org.apache.cxf" level="WARN" />
- <logger name="org.apache.camel.processor.interceptor" level="WARN" />
- <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
- <logger name="org.apache.cxf.service" level="WARN" />
- <logger name="org.restlet" level="WARN" />
- <logger name="org.apache.camel.component.restlet" level="WARN" />
- <logger name="org.hibernate.validator" level="WARN" />
- <logger name="org.hibernate" level="WARN" />
- <logger name="org.hibernate.ejb" level="OFF" />
- <!-- logback internals logging -->
- <logger name="ch.qos.logback.classic" level="WARN" />
- <logger name="ch.qos.logback.core" level="WARN" />
- <logger name="org.eclipse.jetty" level="WARN" />
- <!-- logback jms appenders & loggers definition starts here -->
- <appender name="auditLogs"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
- <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
- </file>
- <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
- </encoder>
- </appender>
- <appender name="perfLogs"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
- <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
- </file>
- <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
- </encoder>
- </appender>
- <logger name="AuditRecord" level="INFO" additivity="false">
- <appender-ref ref="auditLogs" />
- </logger>
- <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
- <appender-ref ref="auditLogs" />
- </logger>
- <logger name="PerfTrackerRecord" level="INFO" additivity="false">
- <appender-ref ref="perfLogs" />
- </logger>
- <!-- logback jms appenders & loggers definition ends here -->
- <logger name="org.onap.aai.interceptors.post" level="DEBUG"
- additivity="false">
- <appender-ref ref="asynctranslog" />
- </logger>
- <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
- <appender-ref ref="asyncAUDIT"/>
- </logger>
- <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
- <appender-ref ref="asyncAUDIT"/>
- </logger>
- <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
- <appender-ref ref="dmaapAAIEventConsumer" />
- <appender-ref ref="dmaapAAIEventConsumerDebug" />
- <appender-ref ref="dmaapAAIEventConsumerMetric" />
- </logger>
- <logger name="org.apache" level="OFF" />
- <logger name="org.zookeeper" level="OFF" />
- <logger name="com.thinkaurelius" level="WARN" />
- <logger name="com.att.aft.dme2" level="WARN" />
- <!-- ============================================================================ -->
- <!-- General EELF logger -->
- <!-- ============================================================================ -->
- <logger name="com.att.eelf" level="WARN" additivity="false">
- <appender-ref ref="asyncDEBUG" />
- <appender-ref ref="asyncERROR" />
- <appender-ref ref="asyncMETRIC" />
- </logger>
- <root level="DEBUG">
- <appender-ref ref="external" />
- </root>
-</configuration>
+<!-- + ============LICENSE_START======================================================= + org.onap.aai + ================================================================================ + Copyright © 2017 AT&T Intellectual Property. All rights reserved. + Modifications 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. + ============LICENSE_END========================================================= + ECOMP is a trademark and service mark of AT&T Intellectual Property. +--> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> + <property resource="application.properties" /> + <property name="namespace" value="aai-resources"/> + <property name="AJSC_HOME" value="${AJSC_HOME:-.}" /> + <jmxConfigurator /> + <property name="logDirectory" value="${AJSC_HOME}/logs" /> + <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <!-- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> --> + <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/> + <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> + <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> + <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern> + %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx} + </pattern> + </encoder> + </appender> + <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/sane.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + </pattern> + </encoder> + </appender> + <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="SANE" /> + </appender> + <appender name="METRIC" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/metrics.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="METRIC" /> + </appender> + <appender name="DEBUG" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/debug.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="DEBUG" /> + </appender> + <appender name="ERROR" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/rest/error.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfErrorLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="ERROR" /> + </appender> + <appender name="AUDIT" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/audit.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfAuditLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="AUDIT" /> + </appender> + <appender name="translog" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/translog.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfTransLogPattern}</pattern> + </encoder> + </appender> + <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="translog" /> + </appender> + <appender name="dmaapAAIEventConsumer" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="dmaapAAIEventConsumerDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="dmaapAAIEventConsumerMetric" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="external" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/external/external.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <logger name="org.onap.aai" level="DEBUG" additivity="false"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + <appender-ref ref="asyncSANE" /> + </logger> + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + <logger name="com.blog.spring.jms" level="WARN" /> + <logger name="com.jayway.jsonpath" level="WARN" /> + <!-- AJSC Services (bootstrap services) --> + <logger name="ajsc" level="WARN" /> + <logger name="ajsc.RouteMgmtService" level="WARN" /> + <logger name="ajsc.ComputeService" level="WARN" /> + <logger name="ajsc.VandelayService" level="WARN" /> + <logger name="ajsc.FilePersistenceService" level="WARN" /> + <logger name="ajsc.UserDefinedJarService" level="WARN" /> + <logger name="ajsc.UserDefinedBeansDefService" level="WARN" /> + <logger name="ajsc.LoggingConfigurationService" level="WARN" /> + <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet + logging) --> + <logger name="org.codehaus.groovy" level="WARN" /> + <logger name="com.att.scamper" level="WARN" /> + <logger name="ajsc.utils" level="WARN" /> + <logger name="ajsc.utils.DME2Helper" level="WARN" /> + <logger name="ajsc.filters" level="WARN" /> + <logger name="ajsc.beans.interceptors" level="WARN" /> + <logger name="ajsc.restlet" level="WARN" /> + <logger name="ajsc.servlet" level="WARN" /> + <logger name="com.att.ajsc" level="WARN" /> + <logger name="com.att.ajsc.csi.logging" level="WARN" /> + <logger name="com.att.ajsc.filemonitor" level="WARN" /> + <logger name="com.netflix.loadbalancer" level="WARN" /> + <logger name="org.apache.zookeeper" level="OFF" /> + <!-- Other Loggers that may help troubleshoot --> + <logger name="net.sf" level="WARN" /> + <logger name="org.apache.commons.httpclient" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="org.apache.coyote" level="WARN" /> + <logger name="org.apache.jasper" level="WARN" /> + <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. + May aid in troubleshooting) --> + <logger name="org.apache.camel" level="WARN" /> + <logger name="org.apache.cxf" level="WARN" /> + <logger name="org.apache.camel.processor.interceptor" level="WARN" /> + <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> + <logger name="org.apache.cxf.service" level="WARN" /> + <logger name="org.restlet" level="WARN" /> + <logger name="org.apache.camel.component.restlet" level="WARN" /> + <logger name="org.hibernate.validator" level="WARN" /> + <logger name="org.hibernate" level="WARN" /> + <logger name="org.hibernate.ejb" level="OFF" /> + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="WARN" /> + <logger name="ch.qos.logback.core" level="WARN" /> + <logger name="org.eclipse.jetty" level="WARN" /> + <!-- logback jms appenders & loggers definition starts here --> + <appender name="auditLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <appender name="perfLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <logger name="AuditRecord" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="AuditRecord_DirectCall" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="PerfTrackerRecord" level="INFO" additivity="false"> + <appender-ref ref="perfLogs" /> + </logger> + <!-- logback jms appenders & loggers definition ends here --> + <logger name="org.onap.aai.interceptors.post" level="DEBUG" + additivity="false"> + <appender-ref ref="asynctranslog" /> + </logger> + <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false"> + <appender-ref ref="dmaapAAIEventConsumer" /> + <appender-ref ref="dmaapAAIEventConsumerDebug" /> + <appender-ref ref="dmaapAAIEventConsumerMetric" /> + </logger> + <logger name="org.apache" level="OFF" /> + <logger name="org.zookeeper" level="OFF" /> + <logger name="com.thinkaurelius" level="WARN" /> + <logger name="com.att.aft.dme2" level="WARN" /> + <!-- ============================================================================ --> + <!-- General EELF logger --> + <!-- ============================================================================ --> + <logger name="com.att.eelf" level="WARN" additivity="false"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + </logger> + <root level="DEBUG"> + <appender-ref ref="external" /> + {{ if .Values.global.config.logback.console.enabled }} + <appender-ref ref="STDOUT" /> + {{ end }} + </root> +</configuration> diff --git a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml index 9d89505121..d1d72b9c58 100644 --- a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml +++ b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml @@ -67,3 +67,26 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-aaf-props + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/aaf/org.osaaf.location.props").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/permissions.properties").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.props").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/cadi.properties").AsConfig . | indent 2 }} + +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.fullname" . }}-aaf-keys + namespace: {{ include "common.namespace" . }} +type: Opaque +data: +{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }} diff --git a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml index bdaf78036e..7df214f321 100644 --- a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml @@ -418,12 +418,20 @@ spec: ]' spec: hostname: aai-resources + {{ if .Values.global.initContainers.enabled }} initContainers: - command: + {{ if .Values.global.jobs.createSchema.enabled }} + - /root/job_complete.py + args: + - --job-name + - {{ .Release.Name }}-aai-graphadmin-create-db-schema + {{ else }} - /root/ready.py args: - --container-name - aai-cassandra + {{ end }} env: - name: NAMESPACE valueFrom: @@ -433,15 +441,16 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + {{ end }} containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} env: - name: LOCAL_USER_ID - value: {{ .Values.config.userId | quote }} + value: {{ .Values.global.config.userId | quote }} - name: LOCAL_GROUP_ID - value: {{ .Values.config.groupId | quote }} + value: {{ .Values.global.config.groupId | quote }} volumeMounts: - mountPath: /etc/localtime name: localtime @@ -463,12 +472,36 @@ spec: - mountPath: /opt/app/aai-resources/resources/localhost-access-logback.xml name: {{ include "common.fullname" . }}-localhost-access-log-conf subPath: localhost-access-logback.xml + - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.keyfile + name: {{ include "common.fullname" . }}-aaf-certs + subPath: org.onap.aai.keyfile + - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.props + name: {{ include "common.fullname" . }}-aaf-properties + subPath: org.onap.aai.props + - mountPath: /opt/app/aai-resources/resources/aaf/org.osaaf.location.props + name: {{ include "common.fullname" . }}-aaf-properties + subPath: org.osaaf.location.props + - mountPath: /opt/app/aai-resources/resources/aaf/permissions.properties + name: {{ include "common.fullname" . }}-aaf-properties + subPath: permissions.properties + - mountPath: /opt/app/aai-resources/resources/cadi.properties + name: {{ include "common.fullname" . }}-aaf-properties + subPath: cadi.properties + - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.p12 + name: {{ include "common.fullname" . }}-aaf-certs + subPath: org.onap.aai.p12 + - mountPath: /opt/app/aai-resources/resources/aaf/truststoreONAPall.jks + name: {{ include "common.fullname" . }}-aaf-certs + subPath: truststoreONAPall.jks - mountPath: /opt/app/aai-resources/resources/application.properties name: {{ include "common.fullname" . }}-springapp-conf subPath: application.properties - - mountPath: /opt/app/aai-resources/resources/etc/auth/aai_keystore - name: {{ include "common.fullname" . }}-auth-sec - subPath: aai_keystore + {{ $global := . }} + {{ range $job := .Values.global.config.auth.files }} + - mountPath: /opt/app/aai-resources/resources/etc/auth/{{ . }} + name: {{ include "common.fullname" $global }}-auth-truststore-sec + subPath: {{ . }} + {{ end }} ports: - containerPort: {{ .Values.service.internalPort }} - containerPort: {{ .Values.service.internalPort2 }} @@ -536,15 +569,26 @@ spec: - name: {{ include "common.fullname" . }}-aaiconfig-conf configMap: name: {{ include "common.fullname" . }}-aaiconfig-configmap + - name: {{ include "common.fullname" . }}-aaf-properties + configMap: + name: {{ include "common.fullname" . }}-aaf-props + - name: {{ include "common.fullname" . }}-aaf-certs + secret: + secretName: {{ include "common.fullname" . }}-aaf-keys - name: {{ include "common.fullname" . }}-springapp-conf configMap: name: {{ include "common.fullname" . }}-springapp-configmap - name: {{ include "common.fullname" . }}-realm-conf configMap: name: {{ include "common.fullname" . }}-realm-configmap - - name: {{ include "common.fullname" . }}-auth-sec + - name: {{ include "common.fullname" . }}-auth-truststore-sec secret: - secretName: aai-auth-secret + secretName: aai-auth-truststore-secret + items: + {{ range $job := .Values.global.config.auth.files }} + - key: {{ . }} + path: {{ . }} + {{ end }} restartPolicy: {{ .Values.restartPolicy }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aai/charts/aai-resources/templates/service.yaml b/kubernetes/aai/charts/aai-resources/templates/service.yaml index f82bea9a0c..d1199125d2 100644 --- a/kubernetes/aai/charts/aai-resources/templates/service.yaml +++ b/kubernetes/aai/charts/aai-resources/templates/service.yaml @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. - apiVersion: v1 kind: Service metadata: diff --git a/kubernetes/aai/charts/aai-resources/values.yaml b/kubernetes/aai/charts/aai-resources/values.yaml index 2932a3fc8d..943ace8965 100644 --- a/kubernetes/aai/charts/aai-resources/values.yaml +++ b/kubernetes/aai/charts/aai-resources/values.yaml @@ -20,10 +20,9 @@ global: # global defaults readinessRepository: oomk8s readinessImage: readiness-check:2.0.0 - # application image repository: nexus3.onap.org:10001 -image: onap/aai-resources:1.2.2 +image: onap/aai-resources:1.3-STAGING-latest pullPolicy: Always restartPolicy: Always @@ -32,8 +31,26 @@ replicaCount: 1 # Configuration for the resources deployment config: - userId: 1000 - groupId: 1000 + + # Specifies crud related operation timeouts and overrides + crud: + timeout: + # Specifies if the timeout for REST GET calls should be enabled + enabled: true + # Specifies the timeout values for application specific + # Its a pipe seperated list where each element before comma represents + # the X-FromAppId and the comma after specifies the timeout limit in ms + # If the timeout limit is -1 then it means for these apps no timeout + appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAIRctFeed,-1|NewvceCreator,-1|IANewvceCreator,-1|AAI-CSIOVALS,-1 + # Specifies what is the maximum timeout limit in milliseconds + limit: 100000 + + # Specifies configuration for bulk apis + bulk: + # Specifies for a bulk payload how many transactions in total allowed + limit: 30 + # Specifies if the bulk can be override and if it can the value + override: false nodeSelector: {} @@ -59,7 +76,6 @@ service: portName2: aai-resources-5005 internalPort2: 5005 - ingress: enabled: false diff --git a/kubernetes/aai/charts/aai-search-data/resources/config/es-payload-translation.json b/kubernetes/aai/charts/aai-search-data/resources/config/es-payload-translation.json index 93888befbc..b44b4ec294 100644 --- a/kubernetes/aai/charts/aai-search-data/resources/config/es-payload-translation.json +++ b/kubernetes/aai/charts/aai-search-data/resources/config/es-payload-translation.json @@ -1,20 +1,16 @@ { "attr-translations": [ { - "from": "\"type\":\"string\",\"index\":\"analyzed\"", - "to": "\"type\":\"text\",\"index\":\"true\"" + "query": "$..[?(@.type=='string' && @.index=='analyzed')]", + "update": {"type": "text", "index": true, "fielddata": true} }, { - "from": "\"type\":\"string\",\"index\":\"not_analyzed\"", - "to": "\"type\":\"keyword\",\"index\":\"true\"" + "query": "$..[?(@.type=='string' && @.index=='not_analyzed')]", + "update": {"type": "keyword", "index": true} }, { - "from": "\"type\":\"string\"", - "to": "\"type\":\"text\"" - }, - { - "from": "searchable", - "to": "index" + "query": "$..[?(@.type=='string' && !@.index)]", + "update": {"type": "text", "fielddata": true} } ] }
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-search-data/values.yaml b/kubernetes/aai/charts/aai-search-data/values.yaml index 3f22e14eac..08bdbdb064 100644 --- a/kubernetes/aai/charts/aai-search-data/values.yaml +++ b/kubernetes/aai/charts/aai-search-data/values.yaml @@ -23,7 +23,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/search-data-service:1.2.2 +image: onap/search-data-service:1.3-STAGING-latest pullPolicy: Always restartPolicy: Always diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-default.properties index 42f9286ca5..67a22f71f7 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config +++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-default.properties @@ -1,20 +1,16 @@ -# Copyright © 2018 Amdocs, Bell Canada, 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.
-
-[
- {
- "id":1,
- "name":"View"
- }
-]
+# Copyright © 2018 Amdocs, Bell Canada, 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. + +oxm.apiVersion=v14 +oxm.apiVersionList=v8,v9,v10,v11,v12,v13,v14
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-override.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-override.properties new file mode 100644 index 0000000000..5c733e852b --- /dev/null +++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-override.properties @@ -0,0 +1,16 @@ +# Copyright © 2018 Amdocs, Bell Canada, 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. + +oxm.apiVersionOverride=v14 +oxm.apiVersionList=v8,v9,v10,v11,v12,v13,v14
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-http-config.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-schema-prod.properties index a66a67399a..98c7abd59c 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-http-config.properties +++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-schema-prod.properties @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -server.port = 9517 +oxm.schemaNodeDir=/opt/app/sparky/onap/oxm diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-subscriptionService.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-resources.properties index 2b1b1ceca8..f916da4668 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-subscriptionService.xml +++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-resources.properties @@ -1,4 +1,3 @@ -<!-- # Copyright © 2018 Amdocs, Bell Canada, AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -12,12 +11,12 @@ # 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. ---> -<rests xmlns="http://camel.apache.org/schema/spring"> - <rest> - <get uri="/subscription/getsubscription"> - <to uri="bean:subscriptionServiceProcessor?method=getSubscription"/> - </get> - </rest> -</rests> +resources.hostname=aai +resources.port=8443 +resources.authType=SSL_BASIC +resources.basicAuthUserName=AAI +resources.basicAuthPassword=AAI +resources.client-cert=client-cert-onap.p12 +resources.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 +resources.trust-store=tomcat_keystore diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-ssl-config.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-ssl.properties index 5652ba60f1..04a5096c0c 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-ssl-config.properties +++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-ssl.properties @@ -12,6 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -server.port = 8000 +server.port=8000 server.ssl.key-store=file:${CONFIG_HOME}/auth/tomcat_keystore -server.ssl.key-alias=tomcat +server.ssl.key-store-password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties new file mode 100644 index 0000000000..4fb10a21f7 --- /dev/null +++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties @@ -0,0 +1,6 @@ +aggregationSyncEnabled=true +historicalEntitySyncEnabled=true +autoSuggestSyncEnabled=true +vnfAliasSyncEnabled=true +geoSyncEnabled=true +viewInspectSyncEnabled=true
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-application.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application.properties index d847791dd5..aa93c06bca 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-application.properties +++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/application.properties @@ -12,14 +12,20 @@ # See the License for the specific language governing permissions and # limitations under the License. -camel.springboot.name = SparkyCamelContext -#camel.springboot.xmlRoutes = file:${CONFIG_HOME}/camel-routes/*.route -camel.springboot.xmlRests = file:${CONFIG_HOME}/camel-rests/*.xml - -camel.component.servlet.mapping.context-path=/rest/* -server.servlet.context-path=/services/aai/webapp/ +# +# disable the default thyme leaf icon on web-pages +# +spring.mvc.favicon.enabled=false # -# attempt to externalize ui JS classes + resources +# to switch to http, remove ssl and put http +# and in the values.yaml change the internalPort to 9517 # -spring.resources.static-locations=file:${APP_HOME}/static/ + +spring.profiles.active=camel,http,fe-prod,oxm-schema-prod,oxm-default,resources,sync,portal + +searchservice.hostname={{.Values.global.searchData.serviceName}} +searchservice.port=9509 +searchservice.client-cert=client-cert-onap.p12 +searchservice.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 +searchservice.truststore=tomcat_keystore diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json deleted file mode 100644 index 8f3480e380..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json +++ /dev/null @@ -1,218 +0,0 @@ -{
- "generalNodeClass": {
- "class": "aai-entity-node general-node",
- "visualElements": [{
- "type": "circle",
- "class": "outer",
- "svgAttributes": {
- "r": "16"
- }
- },
- {
- "type": "circle",
- "class": "inner",
- "svgAttributes": {
- "r": "10"
- }
- },
- {
- "type": "text",
- "class": "id-type-label",
- "displayKey": "itemType",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "33"
- }
- }
- },
- {
- "type": "text",
- "class": "id-value-label",
- "displayKey": "itemNameValue",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "48"
- }
- }
- }]
- },
- "searchedNodeClass": {
- "class": "aai-entity-node search-node",
- "visualElements": [{
- "type": "circle",
- "class": "outer",
- "svgAttributes": {
- "r": "16"
- }
- },
- {
- "type": "circle",
- "class": "inner",
- "svgAttributes": {
- "r": "10"
- }
- },
- {
- "type": "text",
- "class": "id-type-label",
- "displayKey": "itemType",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "33"
- }
- }
- },
- {
- "type": "text",
- "class": "id-value-label",
- "displayKey": "itemNameValue",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "48"
- }
- }
- }]
- },
- "selectedSearchedNodeClass": {
- "class": "aai-entity-node selected-search-node",
- "visualElements": [{
- "type": "circle",
- "class": "outer",
- "svgAttributes": {
- "r": "31"
- }
- },
- {
- "type": "circle",
- "class": "inner",
- "svgAttributes": {
- "r": "20"
- }
- },
- {
- "type": "text",
- "class": "id-type-label",
- "displayKey": "itemType",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "48"
- }
- }
- },
- {
- "type": "text",
- "class": "id-value-label",
- "displayKey": "itemNameValue",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "63"
- }
- }
- },
- {
- "type": "button",
- "name": "icon_ellipses",
- "class": "node-button",
- "shapeAttributes": {
- "offset": {
- "x": "33",
- "y": "-35"
- }
- },
- "svgAttributes": {
- "className": "node-button",
- "r": "10"
- }
- },
- {
- "type": "button",
- "name": "icon_triangle_warning",
- "class": "node-button",
- "shapeAttributes": {
- "offset": {
- "x": "46",
- "y": "-12"
- }
- },
- "svgAttributes": {
- "className": "node-button",
- "r": "10"
- }
- }]
- },
- "selectedNodeClass": {
- "class": "aai-entity-node selected-node",
- "visualElements": [{
- "type": "circle",
- "class": "outer",
- "svgAttributes": {
- "r": "31"
- }
- },
- {
- "type": "circle",
- "class": "inner",
- "svgAttributes": {
- "r": "20"
- }
- },
- {
- "type": "text",
- "class": "id-type-label",
- "displayKey": "itemType",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "48"
- }
- }
- },
- {
- "type": "text",
- "class": "id-value-label",
- "displayKey": "itemNameValue",
- "shapeAttributes": {
- "offset": {
- "x": "0",
- "y": "63"
- }
- }
- },
- {
- "type": "button",
- "name": "icon_ellipses",
- "class": "node-button",
- "shapeAttributes": {
- "offset": {
- "x": "33",
- "y": "-35"
- }
- },
- "svgAttributes": {
- "className": "node-button",
- "r": "10"
- }
- },
- {
- "type": "button",
- "name": "icon_triangle_warning",
- "class": "node-button",
- "shapeAttributes": {
- "offset": {
- "x": "46",
- "y": "-12"
- }
- },
- "svgAttributes": {
- "className": "node-button",
- "r": "10"
- }
- }]
- }
-}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json deleted file mode 100644 index d809cd33e6..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json +++ /dev/null @@ -1,79 +0,0 @@ -{
- "filters": [
- {
- "filterId": "1",
- "filterName": "Orchestration-Status",
- "displayName": "Orchestration Status",
- "dataType": "dropDown",
- "multiSelect": "false",
- "watermark": "Any Orchestration Status",
- "optionsType": "options",
- "dataSource": {
- "indexName": "aggregate_generic-vnf_index",
- "docType": "default",
- "fieldName": "orchestration-status"
- }
- },
- {
- "filterId": "2",
- "filterName": "Prov-Status",
- "displayName": "Provisioning Status",
- "dataType": "dropDown",
- "multiSelect": "false",
- "watermark": "Any Provisioning Status",
- "optionsType": "options",
- "dataSource": {
- "indexName": "aggregate_generic-vnf_index",
- "docType": "default",
- "fieldName": "prov-status"
- }
- },
- {
- "filterId": "5",
- "filterName": "Date",
- "displayName": "Date",
- "dataType": "date",
- "multiSelect": "false",
- "watermark": "Choose Date Range",
- "defaultValue" : {"decode": "Today", "code": "last_0_hours"},
- "optionsType": "dynamicOptions",
- "optionsValues": [
- {"decode": "Today", "code": "last_0_hours"},
- {"decode": "Since Yesterday", "code": "last_1_days"},
- {"decode": "Since Last Week", "code": "last_1_weeks"},
- {"decode": "Since Last Month", "code": "last_1_months"},
- {"decode": "Since Last Year", "code": "last_1_years"},
- {"decode": "Custom Range", "code": "custom_range"}
- ]
- },
- {
- "filterId": "7",
- "filterName": "NF-Type",
- "displayName": "Network Function Type",
- "dataType": "dropDown",
- "multiSelect": "false",
- "watermark": "Any Network Function Type",
- "optionsType": "options",
- "dataSource": {
- "indexName": "aggregate_generic-vnf_index",
- "docType": "default",
- "fieldName": "nf-type"
- }
- },
- {
- "filterId": "8",
- "filterName": "NF-Role",
- "displayName": "Network Function Role",
- "dataType": "dropDown",
- "multiSelect": "false",
- "watermark": "Any Network Function Role",
- "optionsType": "options",
- "dataSource": {
- "indexName": "aggregate_generic-vnf_index",
- "docType": "default",
- "fieldName": "nf-role"
- }
- }
-
- ]
-}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json deleted file mode 100644 index 963c4618e2..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json +++ /dev/null @@ -1,21 +0,0 @@ -{
- "views": [
- {
- "viewName" : "vnfSearch",
- "filters" : [
- {
- "filterId": "1"
- },
- {
- "filterId": "2"
- },
- {
- "filterId": "7"
- },
- {
- "filterId": "8"
- }
- ]
- }
- ]
-}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json deleted file mode 100644 index 10fe3c05d5..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json +++ /dev/null @@ -1,16 +0,0 @@ -{
- "target": "",
- "origin": "",
- "messageType": "",
- "topic": "",
- "message": {
- "applicationName": "",
- "payload": {
- "action": "",
- "params": {
- "objectName": "",
- "externalClassId": ""
- }
- }
- }
-}
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml deleted file mode 100644 index d844cd8618..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml +++ /dev/null @@ -1,188 +0,0 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, 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. ---> - -<configuration scan="true" scanPeriod="3 seconds" debug="false"> - <!--<jmxConfigurator /> --> - <!-- directory path for all other type logs --> - - <property name="logDir" value="/var/log/onap" /> - - <!-- <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" - | "SDNC" | "AC" --> - <property name="componentName" value="AAI-UI"></property> - - <!-- default eelf log file names --> - <property name="generalLogName" value="error" /> - <property name="metricsLogName" value="metrics" /> - <property name="auditLogName" value="audit" /> - <property name="debugLogName" value="debug" /> - - <property name="errorLogPattern" - value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|AAIUI|%mdc{PartnerName}|%logger|%.-5level|%msg%n" /> - <property name="auditMetricPattern" value="%m%n" /> - - <property name="logDirectory" value="${logDir}/${componentName}" /> - - - <!-- Example evaluator filter applied against console appender --> - <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>${errorLogPattern}</pattern> - </encoder> - </appender> - - <!-- ============================================================================ --> - <!-- EELF Appenders --> - <!-- ============================================================================ --> - - <!-- The EELFAppender is used to record events to the general application - log --> - - <appender name="EELF" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${generalLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip - </fileNamePattern> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${errorLogPattern}</pattern> - </encoder> - </appender> - <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender"> - <!-- deny all events with a level below INFO, that is TRACE and DEBUG --> - <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> - <level>INFO</level> - </filter> - <queueSize>256</queueSize> - <appender-ref ref="EELF" /> - </appender> - - - <!-- EELF Audit Appender. This appender is used to record audit engine related - logging events. The audit logger and appender are specializations of the - EELF application root logger and appender. This can be used to segregate - Policy engine events from other components, or it can be eliminated to record - these events as part of the application root log. --> - - <appender name="EELFAudit" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${auditLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip - </fileNamePattern> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${auditMetricPattern}</pattern> - </encoder> - </appender> - <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFAudit" /> - </appender> - - <appender name="EELFMetrics" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${metricsLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip - </fileNamePattern> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> --> - <pattern>${auditMetricPattern}</pattern> - </encoder> - </appender> - - - <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFMetrics" /> - </appender> - - <appender name="EELFDebug" - class="ch.qos.logback.core.rolling.RollingFileAppender"> - <file>${logDirectory}/${debugLogName}.log</file> - <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> - <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip - </fileNamePattern> - <maxHistory>60</maxHistory> - </rollingPolicy> - <encoder> - <pattern>${errorLogPattern}</pattern> - </encoder> - </appender> - - <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> - <queueSize>256</queueSize> - <appender-ref ref="EELFDebug" /> - <includeCallerData>false</includeCallerData> - </appender> - - <!-- ============================================================================ --> - <!-- EELF loggers --> - <!-- ============================================================================ --> - <logger name="com.att.eelf" level="info" additivity="false"> - <appender-ref ref="asyncEELF" /> - <appender-ref ref="asyncEELFDebug" /> - </logger> - - <logger name="com.att.eelf.audit" level="info" additivity="false"> - <appender-ref ref="asyncEELFAudit" /> - </logger> - <logger name="com.att.eelf.metrics" level="info" additivity="false"> - <appender-ref ref="asyncEELFMetrics" /> - </logger> - - <!-- Spring related loggers --> - <logger name="org.springframework" level="WARN" /> - <logger name="org.springframework.beans" level="WARN" /> - <logger name="org.springframework.web" level="WARN" /> - <logger name="com.blog.spring.jms" level="WARN" /> - - <!-- Sparky loggers --> - <logger name="org.onap" level="INFO" /> - - <!-- Other Loggers that may help troubleshoot --> - <logger name="net.sf" level="WARN" /> - <logger name="org.apache.commons.httpclient" level="WARN" /> - <logger name="org.apache.commons" level="WARN" /> - <logger name="org.apache.coyote" level="WARN" /> - <logger name="org.apache.jasper" level="WARN" /> - - <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. - May aid in troubleshooting) --> - <logger name="org.apache.camel" level="WARN" /> - <logger name="org.apache.cxf" level="WARN" /> - <logger name="org.apache.camel.processor.interceptor" level="WARN" /> - <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> - <logger name="org.apache.cxf.service" level="WARN" /> - <logger name="org.restlet" level="WARN" /> - <logger name="org.apache.camel.component.restlet" level="WARN" /> - - <!-- logback internals logging --> - <logger name="ch.qos.logback.classic" level="WARN" /> - <logger name="ch.qos.logback.core" level="WARN" /> - - <root> - <appender-ref ref="asyncEELF" /> - <!-- <appender-ref ref="asyncEELFDebug" /> --> - </root> - -</configuration> diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json deleted file mode 100644 index 8e886cd33d..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json +++ /dev/null @@ -1,10 +0,0 @@ -{
- "properties" : {
- "entity_suggest" : {
- "type" : "completion",
- "payloads" : true,
- "analyzer" : "custom_analyzer",
- "preserve_position_increments": false
- }
- }
-}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json deleted file mode 100644 index 97549f09ea..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json +++ /dev/null @@ -1,21 +0,0 @@ -{
- "analysis": {
- "filter": {
- "eng_stop": {
- "type": "stop",
- "stopwords": "_english_"
- }
- },
- "analyzer": {
- "custom_analyzer": {
- "type": "custom",
- "tokenizer": "standard",
- "filter": [
- "lowercase",
- "asciifolding",
- "eng_stop"
- ]
- }
- }
- }
- }
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json deleted file mode 100644 index 38f4ebc606..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json +++ /dev/null @@ -1,14 +0,0 @@ -{
- "dynamic_templates": [
- {
- "strings": {
- "match_mapping_type": "string",
- "match": "*",
- "mapping": {
- "type": "string",
- "index": "not_analyzed"
- }
- }
- }
- ]
-}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json deleted file mode 100644 index 43dc68f409..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json +++ /dev/null @@ -1,16 +0,0 @@ -{
- "properties": {
- "count": {
- "type": "long"
- },
- "entityType": {
- "type": "string",
- "index": "not_analyzed"
- },
- "timestamp": {
- "type": "date",
- "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
- }
- }
-}
-
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json deleted file mode 100644 index 39fecb56e4..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json +++ /dev/null @@ -1,32 +0,0 @@ -{
- "properties": {
- "entityType": {
- "type": "string",
- "analyzer": "ngram_analyzer",
- "search_analyzer": "ngram_analyzer"
- },
- "entityPrimaryKeyValue": {
- "type": "string",
- "index": "not_analyzed"
- },
- "searchTagIDs": {
- "type": "string"
- },
- "searchTags": {
- "type": "string",
- "analyzer": "ngram_analyzer"
- },
- "crossEntityReferenceValues": {
- "type": "string",
- "analyzer": "ngram_analyzer"
- },
- "link": {
- "type": "string",
- "index": "not_analyzed"
- },
- "lastmodTimestamp": {
- "type": "date",
- "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||yyyy-MM-dd HH:mm:ss||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
- }
- }
-}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json deleted file mode 100644 index 6e857681ff..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json +++ /dev/null @@ -1,36 +0,0 @@ -{
- "analysis": {
- "filter": {
- "ngram_filter": {
- "type": "nGram",
- "min_gram": 1,
- "max_gram": 50,
- "token_chars": [
- "letter",
- "digit",
- "punctuation",
- "symbol"
- ]
- }
- },
- "analyzer": {
- "ngram_analyzer": {
- "type": "custom",
- "tokenizer": "whitespace",
- "filter": [
- "lowercase",
- "asciifolding",
- "ngram_filter"
- ]
- },
- "whitespace_analyzer": {
- "type": "custom",
- "tokenizer": "whitespace",
- "filter": [
- "lowercase",
- "asciifolding"
- ]
- }
- }
- }
-}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml deleted file mode 100644 index e829773f4b..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml +++ /dev/null @@ -1,50 +0,0 @@ -<!-- - -# Copyright © 2018 Amdocs, Bell Canada, 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. ---> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="aggregateVnfSearchProvider" - class="org.onap.aai.sparky.aggregatevnf.search.AggregateVnfSearchProvider"> - <constructor-arg ref="searchServiceAdapter"/> - <constructor-arg name="autoSuggestIndexName" value="entityautosuggestindex"/> - <constructor-arg name="vnfSearchSuggestionRoute" value="vnfSearch"/> - </bean> - - <bean id="aggregateSummaryProcessor" - class="org.onap.aai.sparky.aggregatevnf.search.AggregateSummaryProcessor"> - <constructor-arg ref="elasticSearchAdapter"/> - <constructor-arg ref="filtersConfig"/> - <property name="vnfAggregationIndexName" value="aggregate_generic-vnf_index"/> - </bean> - - <bean id="registerAggregateVnfSearchProvider" - class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> - <property name="targetObject" ref="searchProviderRegistry"/> - <property name="targetMethod"> - <value>addSearchProviders</value> - </property> - <property name="arguments"> - <list value-type="org.onap.aai.sparky.search.api.SearchProvider"> - <ref bean="aggregateVnfSearchProvider"/> - </list> - </property> - </bean> -</beans> diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml deleted file mode 100644 index 85b6c46d3f..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml +++ /dev/null @@ -1,48 +0,0 @@ -<!-- - -# Copyright © 2018 Amdocs, Bell Canada, 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. ---> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="synapseRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig"> - <property name="endpointIpAddress" value="aai.synapse.simpledemo.openecomp.org" /> - <property name="endpointServerPort" value="9502" /> - <property name="numRequestRetries" value="5" /> - <property name="restAuthenticationMode" value="SSL_CERT" /> - <property name="connectTimeoutInMs" value="60000" /> - <property name="readTimeoutInMs" value="30000" /> - <property name="certFileName" value="/auth/client-cert-onap.p12" /> - <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" /> - <property name="truststoreFileName" value="/auth/inventory-ui-keystore" /> - <property name="validateServerCertChain" value="false" /> - <property name="validateServerHostname" value="false" /> - <property name="resourceLoader" ref="sparkyResourceLoader" /> - - </bean> - - <bean id="aaiuiProxyProcessor" - class="org.onap.aai.sparky.dal.proxy.processor.AaiUiProxyProcessor"> - <constructor-arg ref="synapseRestEndpointConfig" /> - <constructor-arg name="apiGatewayEndpoint" value="ui-request" /> - </bean> - -</beans> - - diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml deleted file mode 100644 index 4b0011613a..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml +++ /dev/null @@ -1,45 +0,0 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, 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. ---> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="gizmoRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig"> - <property name="endpointIpAddress" value="{{.Values.global.gizmo.serviceName}}.{{.Release.Namespace}}" /> - <property name="endpointServerPort" value="9520" /> - <property name="numRequestRetries" value="5" /> - <property name="restAuthenticationMode" value="SSL_CERT" /> - <property name="connectTimeoutInMs" value="60000" /> - <property name="readTimeoutInMs" value="30000" /> - <property name="certFileName" value="/auth/client-cert-onap.p12" /> - <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" /> - <property name="truststoreFileName" value="/auth/inventory-ui-keystore" /> - <property name="validateServerCertChain" value="false" /> - <property name="validateServerHostname" value="false" /> - <property name="resourceLoader" ref="sparkyResourceLoader" /> - </bean> - - <bean id="gizmoAdapter" class="org.onap.aai.sparky.dal.GizmoAdapter"> - <constructor-arg ref="oxmModelLoader" /> - <constructor-arg ref="gizmoRestEndpointConfig" /> - <property name="relationshipsBasePath" value="/services/inventory/relationships/v13/" /> - <property name="inventoryBasePath" value="/services/inventory/v13/" /> - </bean> - -</beans> diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml deleted file mode 100644 index 5b4e4fa243..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml +++ /dev/null @@ -1,390 +0,0 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, 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. - ---> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="elasticSearchSchemaFactory" class="org.onap.aai.sparky.sync.ElasticSearchSchemaFactory"> - <property name="resourceLoader" ref="sparkyResourceLoader" /> - </bean> - - - <bean id="elasticSearchRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig"> - <property name="endpointIpAddress" value="{{.Values.global.aaiElasticsearch.serviceName}}.{{.Release.Namespace}}" /> - <property name="endpointServerPort" value="9200" /> - <property name="numRequestRetries" value="5" /> - <property name="restAuthenticationMode" value="HTTP_NOAUTH" /> - <property name="connectTimeoutInMs" value="60000" /> - <property name="readTimeoutInMs" value="30000" /> - </bean> - - <bean id="elasticSearchAdapter" class="org.onap.aai.sparky.dal.ElasticSearchAdapter"> - <constructor-arg ref="elasticSearchRestEndpointConfig" /> - </bean> - - <bean id="elasticSearchNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig"> - <property name="numSamplesPerThreadForRunningAverage" value="100" /> - <property name="bytesHistogramLabel" value="[Response Size In Bytes]" /> - <property name="bytesHistogramMaxYAxis" value="1000000" /> - <property name="bytesHistogramNumBins" value="20" /> - <property name="bytesHistogramNumDecimalPoints" value="2" /> - <property name="queueLengthHistogramLabel" value="[Queue Item Length]" /> - <property name="queueLengthHistogramMaxYAxis" value="20000" /> - <property name="queueLengthHistogramNumBins" value="20" /> - <property name="queueLengthHistogramNumDecimalPoints" value="2" /> - <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" /> - <property name="taskAgeHistogramMaxYAxis" value="600000" /> - <property name="taskAgeHistogramNumBins" value="20" /> - <property name="taskAgeHistogramNumDecimalPoints" value="2" /> - <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" /> - <property name="responseTimeHistogramMaxYAxis" value="1000" /> - <property name="responseTimeHistogramNumBins" value="20" /> - <property name="responseTimeHistogramNumDecimalPoints" value="2" /> - <property name="tpsHistogramLabel" value="[Transactions Per Second]" /> - <property name="tpsHistogramMaxYAxis" value="100" /> - <property name="tpsHistogramNumBins" value="20" /> - <property name="tpsHistogramNumDecimalPoints" value="2" /> - </bean> - - <bean id="aaiNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig"> - <property name="numSamplesPerThreadForRunningAverage" value="100" /> - <property name="bytesHistogramLabel" value="[Response Size In Bytes]" /> - <property name="bytesHistogramMaxYAxis" value="1000000" /> - <property name="bytesHistogramNumBins" value="20" /> - <property name="bytesHistogramNumDecimalPoints" value="2" /> - <property name="queueLengthHistogramLabel" value="[Queue Item Length]" /> - <property name="queueLengthHistogramMaxYAxis" value="20000" /> - <property name="queueLengthHistogramNumBins" value="20" /> - <property name="queueLengthHistogramNumDecimalPoints" value="2" /> - <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" /> - <property name="taskAgeHistogramMaxYAxis" value="600000" /> - <property name="taskAgeHistogramNumBins" value="20" /> - <property name="taskAgeHistogramNumDecimalPoints" value="2" /> - <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" /> - <property name="responseTimeHistogramMaxYAxis" value="10000" /> - <property name="responseTimeHistogramNumBins" value="20" /> - <property name="responseTimeHistogramNumDecimalPoints" value="2" /> - <property name="tpsHistogramLabel" value="[Transactions Per Second]" /> - <property name="tpsHistogramMaxYAxis" value="100" /> - <property name="tpsHistogramNumBins" value="20" /> - <property name="tpsHistogramNumDecimalPoints" value="2" /> - </bean> - - <bean id="aaiRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig"> - <property name="endpointIpAddress" value="{{.Values.global.aai.serviceName}}" /> - <property name="endpointServerPort" value="8443" /> - <property name="numRequestRetries" value="5" /> - <property name="restAuthenticationMode" value="SSL_BASIC" /> - <property name="connectTimeoutInMs" value="60000" /> - <property name="readTimeoutInMs" value="30000" /> - <property name="basicAuthUserName" value="AaiUI" /> - <property name="basicAuthPassword" value="OBF:1gfr1p571unz1p4j1gg7" /> - <property name="truststoreFileName" value="/auth/inventory-ui-keystore" /> - <property name="validateServerCertChain" value="false" /> - <property name="validateServerHostname" value="false" /> - <property name="resourceLoader" ref="sparkyResourceLoader" /> - </bean> - - <bean id="activeInventoryAdapter" class="org.onap.aai.sparky.dal.ActiveInventoryAdapter"> - <constructor-arg ref="oxmModelLoader" /> - <constructor-arg ref="oxmEntityLookup" /> - <constructor-arg ref="aaiRestEndpointConfig" /> - </bean> - - <bean id="syncControllerRegistry" class="org.onap.aai.sparky.sync.SyncControllerRegistry" /> - - <bean id="elasticSearchEndpointConfig" - class="org.onap.aai.sparky.sync.config.ElasticSearchEndpointConfig"> - <property name="esIpAddress" value="{{.Values.global.aaiElasticsearch.serviceName}}.{{.Release.Namespace}}" /> - <property name="esServerPort" value="9200" /> - <property name="scrollContextTimeToLiveInMinutes" value="5" /> - <property name="scrollContextBatchRequestSize" value="5000" /> - </bean> - - <bean id="aggregationSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig"> - <property name="controllerName" value="Aggregation-Sync-Controller" /> - <property name="enabled" value="true" /> - <property name="syncTaskDelayInMs" value="5000" /> - <property name="syncTaskFrequencyInDays" value="1" /> - <property name="numSyncControllerWorkers" value="2" /> - <property name="runOnceSyncEnabled" value="true" /> - <property name="periodicSyncEnabled" value="false" /> - <property name="numInternalSyncWorkers" value="2" /> - <property name="numSyncElasticWorkers" value="5" /> - <property name="numSyncActiveInventoryWorkers" value="5" /> - <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" /> - </bean> - - <bean id="aggregationSyncControllerFactory" - class="org.onap.aai.sparky.aggregation.sync.AggregationSyncControllerFactory" - init-method="registerController"> - - <constructor-arg ref="elasticSearchEndpointConfig" /> - <constructor-arg ref="aggregationSyncControllerConfig" /> - <constructor-arg ref="syncControllerRegistry" /> - <constructor-arg ref="suggestionEntityLookup" /> - <constructor-arg ref="oxmEntityLookup" /> - <constructor-arg ref="elasticSearchSchemaFactory" /> - - <property name="esAdapter" ref="elasticSearchAdapter" /> - <property name="esStatConfig" ref="elasticSearchNetworkStatConfig" /> - - <property name="aaiAdapter" ref="activeInventoryAdapter" /> - <property name="aaiStatConfig" ref="aaiNetworkStatConfig" /> - - <property name="aggregationEntityToIndexMap"> - <map> - <entry key="generic-vnf" value="aggregate_generic-vnf_index" /> - </map> - </property> - - <property name="indexNameToSchemaConfigMap"> - <map> - <entry key="aggregate_generic-vnf_index"> - <bean class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig"> - <property name="indexName" value="aggregate-vnf-index" /> - <property name="indexDocType" value="default" /> - <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" /> - </bean> - </entry> - </map> - </property> - - </bean> - - - <bean id="historicalEntitySyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig"> - - <property name="controllerName" value="Historical-Entity-Sync-Controller" /> - <property name="enabled" value="true" /> - <property name="syncTaskDelayInMs" value="5000" /> - <property name="syncTaskFrequencyInDays" value="1" /> - <property name="numSyncControllerWorkers" value="2" /> - <property name="runOnceSyncEnabled" value="true" /> - <property name="periodicSyncEnabled" value="false" /> - <property name="numInternalSyncWorkers" value="2" /> - <property name="numSyncElasticWorkers" value="5" /> - <property name="numSyncActiveInventoryWorkers" value="5" /> - <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" /> - </bean> - - <bean id="historicalEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig"> - <property name="indexName" value="entitycounthistoryindex" /> - <property name="indexDocType" value="default" /> - <property name="indexMappingsFileName" value="/schemas/entityCountHistoryMappings.json" /> - <property name="indexSettingsFileName" value="/schemas/es_settings.json" /> - </bean> - - <bean id="historicalEntitySyncController" - class="org.onap.aai.sparky.aggregation.sync.HistoricalEntitySyncController" - init-method="registerController"> - - <constructor-arg ref="historicalEntitySyncControllerConfig" /> - <constructor-arg ref="activeInventoryAdapter" /> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg ref="historicalEntitySchemaConfig" /> - <constructor-arg ref="elasticSearchEndpointConfig" /> - <constructor-arg value="60" /> - <constructor-arg ref="aaiNetworkStatConfig" /> - <constructor-arg ref="elasticSearchNetworkStatConfig" /> - <constructor-arg ref="searchableEntityLookup" /> - <constructor-arg ref="elasticSearchSchemaFactory" /> - - <property name="syncControllerRegistry" ref="syncControllerRegistry" /> - - </bean> - - - - <bean id="autoSuggestionSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig"> - - <property name="controllerName" value="Auto-Suggestion-Sync-Controller" /> - <property name="enabled" value="true" /> - <property name="syncTaskDelayInMs" value="5000" /> - <property name="syncTaskFrequencyInDays" value="1" /> - <property name="numSyncControllerWorkers" value="2" /> - <property name="runOnceSyncEnabled" value="true" /> - <property name="periodicSyncEnabled" value="false" /> - <property name="numInternalSyncWorkers" value="2" /> - <property name="numSyncElasticWorkers" value="5" /> - <property name="numSyncActiveInventoryWorkers" value="5" /> - <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" /> - </bean> - - <bean id="autoSuggestionEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig"> - <property name="indexName" value="entity-autosuggest-index" /> - <property name="indexDocType" value="default" /> - <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" /> - <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" /> - </bean> - - <bean id="autoSuggestionEntitySyncController" - class="org.onap.aai.sparky.autosuggestion.sync.AutoSuggestionSyncController" - init-method="registerController"> - - <constructor-arg ref="autoSuggestionSyncControllerConfig" /> - <constructor-arg ref="activeInventoryAdapter" /> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg ref="autoSuggestionEntitySchemaConfig" /> - <constructor-arg ref="elasticSearchEndpointConfig" /> - <constructor-arg ref="aaiNetworkStatConfig" /> - <constructor-arg ref="elasticSearchNetworkStatConfig" /> - <constructor-arg ref="oxmEntityLookup" /> - <constructor-arg ref="suggestionEntityLookup" /> - <constructor-arg ref="filtersConfig" /> - <constructor-arg ref="elasticSearchSchemaFactory" /> - - <property name="syncControllerRegistry" ref="syncControllerRegistry" /> - - </bean> - - - - <bean id="vnfAliasSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig"> - - <property name="controllerName" value="Vnf-Alias-Sync-Controller" /> - <property name="enabled" value="true" /> - <property name="syncTaskDelayInMs" value="5000" /> - <property name="syncTaskFrequencyInDays" value="1" /> - <property name="numSyncControllerWorkers" value="2" /> - <property name="runOnceSyncEnabled" value="true" /> - <property name="periodicSyncEnabled" value="false" /> - <property name="numInternalSyncWorkers" value="2" /> - <property name="numSyncElasticWorkers" value="5" /> - <property name="numSyncActiveInventoryWorkers" value="5" /> - <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" /> - </bean> - - <bean id="vnfAliasEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig"> - <property name="indexName" value="entityautosuggestindex" /> - <property name="indexDocType" value="default" /> - <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" /> - <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" /> - </bean> - - <bean id="vnfAliasSyncController" - class="org.onap.aai.sparky.autosuggestion.sync.VnfAliasSyncController" - init-method="registerController"> - - <constructor-arg ref="vnfAliasSyncControllerConfig" /> - <constructor-arg ref="activeInventoryAdapter" /> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg ref="vnfAliasEntitySchemaConfig" /> - <constructor-arg ref="elasticSearchEndpointConfig" /> - <constructor-arg ref="aaiNetworkStatConfig" /> - <constructor-arg ref="elasticSearchNetworkStatConfig" /> - <constructor-arg ref="filtersConfig" /> - <constructor-arg ref="elasticSearchSchemaFactory" /> - - <property name="syncControllerRegistry" ref="syncControllerRegistry" /> - - </bean> - - <bean id="geoSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig"> - - <property name="controllerName" value="Geo-Sync-Controller" /> - <property name="enabled" value="true" /> - <property name="syncTaskDelayInMs" value="5000" /> - <property name="syncTaskFrequencyInDays" value="1" /> - <property name="numSyncControllerWorkers" value="2" /> - <property name="runOnceSyncEnabled" value="true" /> - <property name="periodicSyncEnabled" value="false" /> - <property name="numInternalSyncWorkers" value="2" /> - <property name="numSyncElasticWorkers" value="5" /> - <property name="numSyncActiveInventoryWorkers" value="5" /> - <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" /> - </bean> - - <bean id="geoEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig"> - <property name="indexName" value="topography-search-index" /> - <property name="indexDocType" value="default" /> - <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" /> - </bean> - - <bean id="geoSyncController" - class="org.onap.aai.sparky.topology.sync.GeoSyncController" - init-method="registerController"> - - <constructor-arg ref="geoSyncControllerConfig" /> - <constructor-arg ref="activeInventoryAdapter" /> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg ref="geoEntitySchemaConfig" /> - <constructor-arg ref="elasticSearchEndpointConfig" /> - <constructor-arg ref="aaiNetworkStatConfig" /> - <constructor-arg ref="elasticSearchNetworkStatConfig" /> - <constructor-arg ref="geoEntityLookup" /> - <constructor-arg ref="oxmEntityLookup" /> - <constructor-arg ref="elasticSearchSchemaFactory" /> - - <property name="syncControllerRegistry" ref="syncControllerRegistry" /> - - </bean> - - <bean id="viewInspectControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig"> - - <property name="controllerName" value="View-Inspect-Sync-Controller" /> - <property name="enabled" value="true" /> - <property name="syncTaskDelayInMs" value="5000" /> - <property name="syncTaskFrequencyInDays" value="1" /> - <property name="numSyncControllerWorkers" value="2" /> - <property name="runOnceSyncEnabled" value="true" /> - <property name="periodicSyncEnabled" value="false" /> - <property name="numInternalSyncWorkers" value="2" /> - <property name="numSyncElasticWorkers" value="5" /> - <property name="numSyncActiveInventoryWorkers" value="5" /> - <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" /> - </bean> - - <bean id="viewInspectySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig"> - <property name="indexName" value="entity-search-index" /> - <property name="indexDocType" value="default" /> - <property name="indexMappingsFileName" value="/schemas/es_mappings.json" /> - <property name="indexSettingsFileName" value="/schemas/es_settings.json" /> - </bean> - - - <bean id="viewInspectSyncController" - class="org.onap.aai.sparky.viewinspect.sync.ViewInspectSyncController" - init-method="registerController"> - - <constructor-arg ref="viewInspectControllerConfig" /> - <constructor-arg ref="activeInventoryAdapter" /> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg ref="viewInspectySchemaConfig" /> - <constructor-arg ref="elasticSearchEndpointConfig" /> - <constructor-arg ref="aaiNetworkStatConfig" /> - <constructor-arg ref="elasticSearchNetworkStatConfig" /> - <constructor-arg ref="crossEntityReferenceLookup" /> - <constructor-arg ref="oxmEntityLookup" /> - <constructor-arg ref="searchableEntityLookup" /> - <constructor-arg ref="elasticSearchSchemaFactory" /> - - <property name="syncControllerRegistry" ref="syncControllerRegistry" /> - - </bean> - - <bean id="syncControllerService" class="org.onap.aai.sparky.sync.SyncControllerService" - destroy-method="shutdown"> - <constructor-arg ref="syncControllerRegistry" /> - <constructor-arg value="5" /> - <constructor-arg value="5" /> - </bean> - -</beans> diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml deleted file mode 100644 index 175d130a8c..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml +++ /dev/null @@ -1,71 +0,0 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, 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. ---> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="visualizationConfigurations" - class="org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs"> - <property name="maxSelfLinkTraversalDepth" value="2" /> - <property name="visualizationDebugEnabled" value="false" /> - <property name="aaiEntityNodeDescriptors" value="/descriptors/aaiEntityNodeDescriptors.json" /> - <property name="generalNodeClassName" value="generalNodeClass" /> - <property name="searchNodeClassName" value="searchedNodeClass" /> - <property name="selectedSearchedNodeClassName" value="selectedSearchedNodeClass" /> - <property name="numOfThreadsToFetchNodeIntegrity" value="20" /> - <property name="makeAllNeighborsBidirectional" value="false" /> - <property name="gizmoEnabled" value="false" /> - <property name="resourceLoader" ref="sparkyResourceLoader" /> - - <property name="shallowEntities"> - <list value-type="java.lang.String"> - <value>cloud-region</value> - <value>complex</value> - <value>vnf-image</value> - <value>image</value> - <value>flavor</value> - <value>availability-zone</value> - <value>tenant</value> - <value>network-profile</value> - <value>l-interface</value> - </list> - </property> - - </bean> - - <bean id="baseVisualizationService" - class="org.onap.aai.sparky.viewandinspect.services.BaseVisualizationService"> - <constructor-arg ref="oxmModelLoader"/> - <constructor-arg ref="visualizationConfigurations"/> - <constructor-arg ref="activeInventoryAdapter" /> - <constructor-arg ref="gizmoAdapter" /> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg ref="elasticSearchEndpointConfig" /> - <constructor-arg ref="viewInspectySchemaConfig" /> - <constructor-arg name="numActiveInventoryWorkers" value="50" /> - <constructor-arg ref="oxmEntityLookup" /> - <constructor-arg ref="subscriptionConfig" /> - </bean> - - <bean id="schemaVisualizationProcessor" - class="org.onap.aai.sparky.viewandinspect.SchemaVisualizationProcessor"> - <property name="visualizationService" ref="baseVisualizationService" /> - </bean> - -</beans> diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml deleted file mode 100644 index a67ab8cb28..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml +++ /dev/null @@ -1,50 +0,0 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, 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. ---> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="viewInspectSearchProvider" - class="org.onap.aai.sparky.viewandinspect.search.ViewInspectSearchProvider"> - <constructor-arg ref="searchServiceAdapter" /> - <constructor-arg ref="suggestiveSearchConfigs" /> - <constructor-arg name="viewInspectIndexName" value="entitysearchindex" /> - <constructor-arg name="viewInspectSuggestionRoute" value="schema" /> - <constructor-arg ref="oxmEntityLookup" /> - - <property name="additionalSearchSuggestionText"> - <value>Schema</value> - </property> - - </bean> - - <bean id="registerViewInspectSearchProvider" - class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> - <property name="targetObject" ref="searchProviderRegistry" /> - <property name="targetMethod"> - <value>addSearchProviders</value> - </property> - <property name="arguments"> - <list value-type="org.onap.aai.sparky.search.api.SearchProvider"> - <ref bean="viewInspectSearchProvider" /> - </list> - </property> - </bean> - -</beans> diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml deleted file mode 100644 index a401d9b248..0000000000 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml +++ /dev/null @@ -1,257 +0,0 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, 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. ---> - -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation=" - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> - - <bean id="searchServiceRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig"> - <property name="endpointIpAddress" value="{{.Values.global.searchData.serviceName}}.{{.Release.Namespace}}" /> - <property name="endpointServerPort" value="9509" /> - <property name="numRequestRetries" value="5" /> - <property name="restAuthenticationMode" value="SSL_CERT" /> - <property name="connectTimeoutInMs" value="60000" /> - <property name="readTimeoutInMs" value="30000" /> - <property name="certFileName" value="/auth/client-cert-onap.p12" /> - <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" /> - <property name="truststoreFileName" value="/auth/inventory-ui-keystore" /> - <property name="validateServerCertChain" value="false" /> - <property name="validateServerHostname" value="false" /> - <property name="resourceLoader" ref="sparkyResourceLoader" /> - </bean> - - <bean id="searchServiceAdapter" class="org.onap.aai.sparky.search.SearchServiceAdapter"> - <constructor-arg ref="searchServiceRestEndpointConfig" /> - <constructor-arg name="serviceApiVersion" value="v1" /> - </bean> - - <bean id="filtersConfig" class="org.onap.aai.sparky.search.filters.config.FiltersConfig"> - <constructor-arg name="filtersFileName" value="/filters/aaiui_filters.json" /> - <constructor-arg name="viewsFileName" value="/filters/aaiui_views.json" /> - <constructor-arg name="resourceLoader" ref="sparkyResourceLoader" /> - </bean> - - <bean id="crossEntityReferenceLookup" - class="org.onap.aai.sparky.config.oxm.CrossEntityReferenceLookup" /> - - <bean id="geoEntityLookup" class="org.onap.aai.sparky.config.oxm.GeoEntityLookup" /> - - <bean id="oxmEntityLookup" class="org.onap.aai.sparky.config.oxm.OxmEntityLookup" /> - - <bean id="searchableEntityLookup" class="org.onap.aai.sparky.config.oxm.SearchableEntityLookup" /> - - <bean id="suggestionEntityLookup" class="org.onap.aai.sparky.config.oxm.SuggestionEntityLookup"> - <constructor-arg ref="filtersConfig" /> - </bean> - - <bean id="oxmModelProcessorSet" class="org.springframework.beans.factory.config.SetFactoryBean"> - <property name="targetSetClass" value="java.util.HashSet" /> - <property name="sourceSet"> - <set> - <ref bean="crossEntityReferenceLookup" /> - <ref bean="geoEntityLookup" /> - <ref bean="oxmEntityLookup" /> - <ref bean="searchableEntityLookup" /> - <ref bean="suggestionEntityLookup" /> - </set> - </property> - </bean> - - <bean id="oxmModelLoader" class="org.onap.aai.sparky.config.oxm.OxmModelLoader" init-method="loadLatestOxmModel"> - <!-- the int argument is the latestVersionOverride. -1 disables the override --> - <constructor-arg type="int" value="-1" /> - <constructor-arg ref="oxmModelProcessorSet" /> - </bean> - - <bean id="searchProviderRegistry" - class="org.onap.aai.sparky.search.registry.SearchProviderRegistry" /> - - <bean id="sparkyResourceLoader" class="org.onap.aai.sparky.config.SparkyResourceLoader"> - <property name="configHomeEnvVar" value="CONFIG_HOME" /> - </bean> - - <bean id="filterElasticSearchAdapter" - class="org.onap.aai.sparky.search.filters.FilterElasticSearchAdapter"> - <constructor-arg ref="elasticSearchAdapter" /> - </bean> - - <bean id="filteredSearchHelper" class="org.onap.aai.sparky.search.filters.FilteredSearchHelper" > - <constructor-arg ref="filtersConfig" /> - <constructor-arg ref="filterElasticSearchAdapter" /> - </bean> - - <bean id="filterProcessor" class="org.onap.aai.sparky.search.filters.FilterProcessor" > - <property name="filteredSearchHelper" ref="filteredSearchHelper" /> - </bean> - - <bean id="unifiedSearchProcessor" class="org.onap.aai.sparky.search.UnifiedSearchProcessor"> - <property name="searchProviderRegistry" ref="searchProviderRegistry" /> - </bean> - - <bean id="entityCountHistoryProcessor" class="org.onap.aai.sparky.search.EntityCountHistoryProcessor"> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg name="entityTypesToSummarizeDelimitedList" - value="customer,service-instance,complex,pserver,vserver,vnf" /> - <constructor-arg name="vnfEntityTypesDelimitedList" - value="vnf,newvce,vce,vpe" /> - <constructor-arg name="entityCountHistoryIndexName" - value="entitycounthistoryindex" /> - </bean> - - <bean id="attributeUpdater" - class="org.onap.aai.sparky.editattributes.AttributeUpdater"> - <constructor-arg ref="oxmModelLoader" /> - <constructor-arg ref="oxmEntityLookup" /> - <constructor-arg ref="activeInventoryAdapter" /> - </bean> - - <bean id="attributeEditProcessor" - class="org.onap.aai.sparky.editattributes.AttributeEditProcessor"> - <constructor-arg ref="attributeUpdater" /> - </bean> - - <bean id="geoVisualizationProcessor" class="org.onap.aai.sparky.inventory.GeoVisualizationProcessor"> - <constructor-arg ref="elasticSearchAdapter" /> - <constructor-arg name="topographicalSearchIndexName" - value="topographicalsearchindex" /> - </bean> - - <bean id = "pairingHashMap" class="org.springframework.beans.factory.config.MapFactoryBean"> - <property name="targetMapClass"> - <value>java.util.HashMap</value> - </property> - <property name="sourceMap"> - <map key-type="java.lang.String" value-type="java.lang.String" > - <entry key="volume-group-id" value="called" /> - <entry key="volume-group-name" value="called" /> - <entry key="physical-location-id" value="called" /> - <entry key="data-center-code" value="called" /> - <entry key="complex-name" value="called" /> - <entry key="tenant-id" value="called" /> - <entry key="tenant-name" value="called" /> - <entry key="vserver-id" value="called" /> - <entry key="vserver-name" value="called" /> - <entry key="vserver-name2" value="called" /> - <entry key="hostname" value="called" /> - <entry key="pserver-name2" value="called" /> - <entry key="pserver-id" value="called" /> - <entry key="global-customer-id" value="called" /> - <entry key="subscriber-name" value="called" /> - <entry key="service-instance-id" value="called" /> - <entry key="service-instance-name" value="called" /> - <entry key="link-name" value="called" /> - <entry key="vpn-id" value="called" /> - <entry key="vpn-name" value="called" /> - <entry key="vpe-id" value="called" /> - <entry key="vnf-id" value="called" /> - <entry key="vnf-name" value="called" /> - <entry key="vnf-name2" value="called" /> - <entry key="vnfc-name" value="called" /> - <entry key="network-id" value="called" /> - <entry key="network-name" value="called" /> - <entry key="network-policy-id" value="called" /> - <entry key="vf-module-id" value="called" /> - <entry key="vf-module-name" value="called" /> - <entry key="vnf-id2" value="called" /> - <entry key="pnf-name" value="called" /> - <entry key="circuit-id" value="called" /> - <entry key="id" value="called" /> - <entry key="group-id" value="called" /> - <entry key="group-name" value="called" /> - <entry key="street1" value="at" /> - <entry key="street2" value="at" /> - <entry key="code" value="at" /> - <entry key="ipv4-oam-address" value="at" /> - <entry key="network-policy-fqdn" value="at" /> - </map> - </property> - </bean> - - <bean id="suggestiveSearchConfigs" class="org.onap.aai.sparky.search.config.SuggestionConfig"> - <property name="defaultPairingValue" value="with" /> - <property name="pairingList" ref="pairingHashMap"></property> - <property name="stopWords"> - <list value-type="java.lang.String"> - <value>a</value> - <value>an</value> - <value>and</value> - <value>are</value> - <value>as</value> - <value>at</value> - <value>be</value> - <value>but</value> - <value>by</value> - <value>called</value> - <value>for</value> - <value>if</value> - <value>in</value> - <value>into</value> - <value>is</value> - <value>it</value> - <value>no</value> - <value>not</value> - <value>of</value> - <value>on</value> - <value>or</value> - <value>such</value> - <value>that</value> - <value>the</value> - <value>their</value> - <value>then</value> - <value>there</value> - <value>these</value> - <value>they</value> - <value>this</value> - <value>to</value> - <value>was</value> - <value>will</value> - <value>with</value> - </list> - </property> - - </bean> - - <bean id="subscriptionConfig" - class="org.onap.aai.sparky.subscription.config.SubscriptionConfig"> - <property name="subscriptionTarget" value="" /> - <property name="subscriptionOrigin" value="" /> - <property name="subscriptionMessageType" value="" /> - <property name="subscriptionTopic" value="" /> - <property name="launchOITarget" value="" /> - <property name="launchOIOrigin" value="" /> - <property name="launchOIMessageType" value="" /> - <property name="launchOITopic" value="" /> - <property name="annEntitiyTypes"> - <list value-type="java.lang.String"> - <value>pserver</value> - <value>pnf</value> - </list> - </property> - <property name="isLaunchOIEnabled" value="false" /> - </bean> - - <bean id="subscriptionService" - class="org.onap.aai.sparky.subscription.services.SubscriptionService"> - <constructor-arg ref="subscriptionConfig" /> - </bean> - - <bean id="subscriptionServiceProcessor" - class="org.onap.aai.sparky.subscription.SubscriptionServiceProcessor"> - <constructor-arg ref="subscriptionService" /> - </bean> -</beans> diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml index fcda4c2f58..6a00fe740e 100644 --- a/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml +++ b/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml @@ -15,72 +15,36 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }} - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-portal - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/config/portal/*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-log + name: {{ include "common.fullname" . }}-prop namespace: {{ include "common.namespace" . }} data: -{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/application-resources.properties").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/application-ssl.properties").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/application-oxm-default.properties").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/application-oxm-override.properties").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/application-oxm-schema-prod.properties").AsConfig . | indent 2 }} --- apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-camel-rests - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/config/camel-rests/*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-descriptors - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/config/descriptors/*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-filters - namespace: {{ include "common.namespace" . }} -data: -{{ tpl (.Files.Glob "resources/config/filters/*").AsConfig . | indent 2 }} ---- -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "common.fullname" . }}-schemas + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} data: -{{ tpl (.Files.Glob "resources/config/schemas/*").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} --- apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-spring-beans + name: {{ include "common.fullname" . }}-portal namespace: {{ include "common.namespace" . }} data: -{{ tpl (.Files.Glob "resources/config/spring-beans/*").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/portal/*").AsConfig . | indent 2 }} --- apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-boot-inf + name: {{ include "common.fullname" . }}-portal-props namespace: {{ include "common.namespace" . }} data: -{{ tpl (.Files.Glob "resources/config/portal/BOOT-INF/classes/*").AsConfig . | indent 2 }} - +{{ tpl (.Files.Glob "resources/config/portal/BOOT-INF/classes/*").AsConfig . | indent 2 }}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml index 9bc055ae4c..48235bcd02 100644 --- a/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml @@ -58,43 +58,47 @@ spec: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - env: - - name: CONFIG_HOME - value: /opt/app/sparky/appconfig/ - - name: KEYSTORE_ALIAS_PASSWORD - value: {{ .Values.config.keystoreAliasPassword }} - - name: KEYSTORE_PASSWORD - value: {{ .Values.config.keyStorePassword }} - - name: SPARKY_SSL_ENABLED - value: 'false' - - name: SPARKY_PORTAL_ENABLED - value: 'false' + volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true - - mountPath: /opt/app/sparky/appconfig/auth/ + - mountPath: /opt/app/sparky/config/auth/ name: {{ include "common.fullname" . }}-auth-config - - mountPath: /opt/app/sparky/appconfig/camel-rests/ - name: {{ include "common.fullname" . }}-camel-rests-config - - mountPath: /opt/app/sparky/appconfig/descriptors/ - name: {{ include "common.fullname" . }}-descriptors-config - - mountPath: /opt/app/sparky/appconfig/filters/ - name: {{ include "common.fullname" . }}-filters-config - - mountPath: /opt/app/sparky/appconfig/ - name: {{ include "common.fullname" . }}-config - - mountPath: /opt/app/sparky/appconfig/portal + + - mountPath: /opt/app/sparky/config/portal/ name: {{ include "common.fullname" . }}-portal-config - - mountPath: /opt/app/sparky/appconfig/portal/BOOT-INF/classes - name: {{ include "common.fullname" . }}-portal-boot-inf-config - - mountPath: /opt/app/sparky/appconfig/schemas - name: {{ include "common.fullname" . }}-schemas-config - - mountPath: /opt/app/sparky/appconfig/spring-beans/ - name: {{ include "common.fullname" . }}-spring-beans-config + + - mountPath: /opt/app/sparky/config/portal/BOOT-INF/classes/ + name: {{ include "common.fullname" . }}-portal-config-props + - mountPath: /var/log/onap name: {{ include "common.fullname" . }}-logs - - mountPath: /opt/app/sparky/appconfig/logging/ - name: {{ include "common.fullname" . }}-log-conf + + - mountPath: /opt/app/sparky/config/application.properties + name: {{ include "common.fullname" . }}-properties + subPath: application.properties + + - mountPath: /opt/app/sparky/config/application-resources.properties + name: {{ include "common.fullname" . }}-properties + subPath: application-resources.properties + + - mountPath: /opt/app/sparky/config/application-ssl.properties + name: {{ include "common.fullname" . }}-properties + subPath: application-ssl.properties + + - mountPath: /opt/app/sparky/config/application-oxm-default.properties + name: {{ include "common.fullname" . }}-properties + subPath: application-oxm-default.properties + + - mountPath: /opt/app/sparky/config/application-oxm-override.properties + name: {{ include "common.fullname" . }}-properties + subPath: application-oxm-override.properties + + - mountPath: /opt/app/sparky/config/application-oxm-schema-prod.properties + name: {{ include "common.fullname" . }}-properties + subPath: application-oxm-schema-prod.properties + ports: - containerPort: {{ .Values.service.internalPort }} - containerPort: {{ .Values.service.internalPort2 }} @@ -140,33 +144,26 @@ spec: - name: localtime hostPath: path: /etc/localtime + + - name: {{ include "common.fullname" . }}-properties + configMap: + name: {{ include "common.fullname" . }}-prop + - name: {{ include "common.fullname" . }}-config configMap: name: {{ include "common.fullname" . }} - - name: {{ include "common.fullname" . }}-auth-config - secret: - secretName: {{ include "common.fullname" . }} - - name: {{ include "common.fullname" . }}-camel-rests-config - configMap: - name: {{ include "common.fullname" . }}-camel-rests - - name: {{ include "common.fullname" . }}-descriptors-config - configMap: - name: {{ include "common.fullname" . }}-descriptors - - name: {{ include "common.fullname" . }}-filters-config - configMap: - name: {{ include "common.fullname" . }}-filters + - name: {{ include "common.fullname" . }}-portal-config configMap: name: {{ include "common.fullname" . }}-portal - - name: {{ include "common.fullname" . }}-portal-boot-inf-config - configMap: - name: {{ include "common.fullname" . }}-boot-inf - - name: {{ include "common.fullname" . }}-schemas-config - configMap: - name: {{ include "common.fullname" . }}-schemas - - name: {{ include "common.fullname" . }}-spring-beans-config + + - name: {{ include "common.fullname" . }}-portal-config-props configMap: - name: {{ include "common.fullname" . }}-spring-beans + name: {{ include "common.fullname" . }}-portal-props + + - name: {{ include "common.fullname" . }}-auth-config + secret: + secretName: {{ include "common.fullname" . }} - name: filebeat-conf configMap: name: aai-filebeat @@ -174,9 +171,8 @@ spec: emptyDir: {} - name: aai-sparky-filebeat emptyDir: {} - - name: {{ include "common.fullname" . }}-log-conf - configMap: - name: {{ include "common.fullname" . }}-log + - name: modeldir + emptyDir: {} restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aai/charts/aai-sparky-be/values.yaml b/kubernetes/aai/charts/aai-sparky-be/values.yaml index df3f5cfd7c..6004d6d0b4 100644 --- a/kubernetes/aai/charts/aai-sparky-be/values.yaml +++ b/kubernetes/aai/charts/aai-sparky-be/values.yaml @@ -28,7 +28,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/sparky-be:1.2.1 +image: onap/sparky-be:1.3-STAGING-latest pullPolicy: Always restartPolicy: Always diff --git a/kubernetes/aai/charts/aai-spike/Chart.yaml b/kubernetes/aai/charts/aai-spike/Chart.yaml new file mode 100644 index 0000000000..b9fd7b0fe0 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 Amdocs, 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. + +apiVersion: v1 +description: ONAP AAI Spike microservice +name: aai-spike +version: 2.0.0
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unified-search.xml b/kubernetes/aai/charts/aai-spike/requirements.yaml index a14514ce48..9552dfd9e0 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unified-search.xml +++ b/kubernetes/aai/charts/aai-spike/requirements.yaml @@ -1,5 +1,4 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, AT&T +# Copyright © 2018 Amdocs, 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,12 +11,11 @@ # 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. ---> -<rests xmlns="http://camel.apache.org/schema/spring"> - <rest> - <post uri="/search/querysearch"> - <to uri="bean:unifiedSearchProcessor?method=search"/> - </post> - </rest> -</rests> +dependencies: + - name: common + version: ~2.0.0 + # local reference to common chart, as it is + # a part of this chart's package and will not + # be published independently to a repo (at this point) + repository: '@local' 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 differnew file mode 100644 index 0000000000..025f3c49da --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore diff --git a/kubernetes/aai/charts/aai-spike/resources/config/logback.xml b/kubernetes/aai/charts/aai-spike/resources/config/logback.xml new file mode 100644 index 0000000000..e40ba13d04 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/logback.xml @@ -0,0 +1,194 @@ +<!-- + ============LICENSE_START======================================================= + org.onap.aai + ================================================================================ + Copyright © 2018 AT&T Intellectual Property. All rights reserved. + Copyright © 2018 Amdocs + ================================================================================ + 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========================================================= +--> +<configuration scan="true" scanPeriod="3 seconds" debug="false"> + <!--<jmxConfigurator /> --> + <!-- directory path for all other type logs --> + + <property name="logDir" value="/var/log/onap" /> + + <!-- specify the component name + <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" --> + <property name="componentName" value="AAI-SPK" /> + + <!-- default eelf log file names --> + <property name="generalLogName" value="error" /> + <property name="metricsLogName" value="metrics" /> + <property name="auditLogName" value="audit" /> + <property name="debugLogName" value="debug" /> + + <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|Spike|%mdc{PartnerName}|%logger||%.-5level|%msg%n" /> + <property name="auditMetricPattern" value="%m%n" /> + + <property name="logDirectory" value="${logDir}/${componentName}" /> + + <!-- Example evaluator filter applied against console appender --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + + <!-- ============================================================================ --> + <!-- EELF Appenders --> + <!-- ============================================================================ --> + + <!-- The EELFAppender is used to record events to the general application + log --> + + <appender name="EELF" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${generalLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender"> + <!-- deny all events with a level below INFO, that is TRACE and DEBUG --> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>INFO</level> + </filter> + <queueSize>256</queueSize> + <appender-ref ref="EELF" /> + </appender> + + <!-- EELF Audit Appender. This appender is used to record audit engine + related logging events. The audit logger and appender are specializations + of the EELF application root logger and appender. This can be used to segregate + Policy engine events from other components, or it can be eliminated to record + these events as part of the application root log. --> + + <appender name="EELFAudit" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${auditLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${auditMetricPattern}</pattern> + </encoder> + </appender> + <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFAudit" /> + </appender> + + <appender name="EELFMetrics" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${metricsLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - + %msg%n"</pattern> --> + <pattern>${auditMetricPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFMetrics"/> + </appender> + + <appender name="EELFDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${debugLogName}.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip + </fileNamePattern> + <maxHistory>60</maxHistory> + </rollingPolicy> + <encoder> + <pattern>${errorLogPattern}</pattern> + </encoder> + </appender> + + <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="EELFDebug" /> + <includeCallerData>false</includeCallerData> + </appender> + + <!-- ============================================================================ --> + <!-- EELF loggers --> + <!-- ============================================================================ --> + <logger name="com.att.eelf" level="info" additivity="false"> + <appender-ref ref="asyncEELF" /> + <appender-ref ref="asyncEELFDebug" /> + </logger> + + <logger name="com.att.eelf.audit" level="info" additivity="false"> + <appender-ref ref="asyncEELFAudit" /> + </logger> + <logger name="com.att.eelf.metrics" level="info" additivity="false"> + <appender-ref ref="asyncEELFMetrics" /> + </logger> + + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + <logger name="com.blog.spring.jms" level="WARN" /> + + <!-- Spike service loggers --> + <logger name="org.onap.aai.spike" level="INFO" /> + + <!-- Other Loggers that may help troubleshoot --> + <logger name="net.sf" level="WARN" /> + <logger name="org.apache" level="WARN" /> + <logger name="org.apache.commons.httpclient" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="org.apache.coyote" level="WARN" /> + <logger name="org.apache.jasper" level="WARN" /> + + <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. + May aid in troubleshooting) --> + <logger name="org.apache.camel" level="WARN" /> + <logger name="org.apache.cxf" level="WARN" /> + <logger name="org.apache.camel.processor.interceptor" level="WARN" /> + <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> + <logger name="org.apache.cxf.service" level="WARN" /> + <logger name="org.restlet" level="WARN" /> + <logger name="org.apache.camel.component.restlet" level="WARN" /> + + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="WARN" /> + <logger name="ch.qos.logback.core" level="WARN" /> + + <root> + <appender-ref ref="asyncEELF" /> + <!-- <appender-ref ref="asyncEELFDebug" /> --> + </root> + +</configuration> diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v10.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v10.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v10.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v11.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v11.json new file mode 100644 index 0000000000..8d00636d27 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v11.json @@ -0,0 +1,6 @@ +{ + "contains-other-v": "java.lang.String", + "delete-other-v": "java.lang.String", + "SVC-INFRA": "java.lang.String", + "prevent-delete": "java.lang.String" +}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v12.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v12.json new file mode 100644 index 0000000000..8d00636d27 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v12.json @@ -0,0 +1,6 @@ +{ + "contains-other-v": "java.lang.String", + "delete-other-v": "java.lang.String", + "SVC-INFRA": "java.lang.String", + "prevent-delete": "java.lang.String" +}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v13.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v13.json new file mode 100644 index 0000000000..8d00636d27 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v13.json @@ -0,0 +1,6 @@ +{ + "contains-other-v": "java.lang.String", + "delete-other-v": "java.lang.String", + "SVC-INFRA": "java.lang.String", + "prevent-delete": "java.lang.String" +}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v14.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v14.json new file mode 100644 index 0000000000..8d00636d27 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v14.json @@ -0,0 +1,6 @@ +{ + "contains-other-v": "java.lang.String", + "delete-other-v": "java.lang.String", + "SVC-INFRA": "java.lang.String", + "prevent-delete": "java.lang.String" +}
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v7.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v7.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v7.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v8.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v8.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v8.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v9.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v9.json new file mode 100644 index 0000000000..7cbddae375 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v9.json @@ -0,0 +1,10 @@ +{ + "isParent":"java.lang.Boolean", + "isParent-REV":"java.lang.Boolean", + "usesResource":"java.lang.Boolean", + "usesResource-REV":"java.lang.Boolean", + "SVC-INFRA":"java.lang.Boolean", + "SVC-INFRA-REV":"java.lang.Boolean", + "hasDelTarget":"java.lang.Boolean", + "hasDelTarget-REV":"java.lang.Boolean" +} diff --git a/kubernetes/aai/charts/aai-spike/resources/config/schemaIngest.properties b/kubernetes/aai/charts/aai-spike/resources/config/schemaIngest.properties new file mode 100644 index 0000000000..cc51f179dd --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/schemaIngest.properties @@ -0,0 +1,30 @@ +# +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 AT&T Intellectual Property. All rights reserved. +# Copyright © 2018 Amdocs +# ================================================================================ +# 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========================================================= +# + +# Properties for the SchemaLocationsBean +# The AAI Schema jar will be unpacked to bundleconfig/etc +schemaConfig=NA +# Files named aai_oxm_v*.xml are unpacked here: +nodeDir=/opt/app/spike/bundleconfig/etc/oxm +# DB Edge Rules are unpacked here: +edgeDir=/opt/app/spike/bundleconfig/etc/dbedgerules +# DB Edge Property files are copied here: +edgePropsDir=/opt/app/spike/config/model/edge_props
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml b/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml new file mode 100644 index 0000000000..50be8cb0f8 --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml @@ -0,0 +1,62 @@ +<!-- + ============LICENSE_START======================================================= + org.onap.aai + ================================================================================ + Copyright © 2018 AT&T Intellectual Property. All rights reserved. + Copyright © 2018 Amdocs + ================================================================================ + 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========================================================= +--> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:util="http://www.springframework.org/schema/util" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans + http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/util + http://www.springframework.org/schema/util/spring-util.xsd"> + + <bean id="eventConsumer" class="org.onap.aai.event.client.DMaaPEventConsumer"> + <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:{{.Values.event.port.dmaap}}" /> + <constructor-arg name="topic" value="{{.Values.event.consumer.topic}}" /> + <constructor-arg name="username" value="" /> + <constructor-arg name="password" value="" /> + <constructor-arg name="consumerGroup" value="spike" /> + <constructor-arg name="consumerId" value="spike" /> + <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" > + <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> + + <bean id="spikeService" class="org.onap.aai.spike.service.SpikeService" init-method="startup"> + <constructor-arg ref="eventConsumer" /> + <constructor-arg ref="eventPublisher" /> + </bean> + +</beans> diff --git a/TOSCA/Helm/helminstall.sh b/kubernetes/aai/charts/aai-spike/resources/config/spike.properties index f108825621..c3ba4a3d5f 100644 --- a/TOSCA/Helm/helminstall.sh +++ b/kubernetes/aai/charts/aai-spike/resources/config/spike.properties @@ -1,23 +1,28 @@ -#!/bin/bash -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017 AT&T # +# ============LICENSE_START======================================================= +# org.onap.aai +# ================================================================================ +# Copyright © 2018 AT&T Intellectual Property. All rights reserved. +# Copyright © 2018 Amdocs +# ================================================================================ # 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============================================ +# ============LICENSE_END========================================================= +# -printf "%s" "$*" -printf `pwd` -printf "%s" "---------------" +# Spike configuration -helm install local/$2 --name $2 --namespace $1
\ No newline at end of file +spike.event.poll.interval=30000 +spike.event.offset.period= 10000 +spike.event.queue.capacity=10000 +spike.event.queue.delay=10000 +spike.props.reserved=source-of-truth,last-mod-source-of-truth,aai-created-ts,aai-last-mod-ts diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-filter-aggregation.xml b/kubernetes/aai/charts/aai-spike/templates/configmap.yaml index aec24bd654..8a517481d1 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-filter-aggregation.xml +++ b/kubernetes/aai/charts/aai-spike/templates/configmap.yaml @@ -1,5 +1,4 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, AT&T +# Copyright © 2018 Amdocs, AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,12 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. ---> - -<rests xmlns="http://camel.apache.org/schema/spring"> - <rest> - <post uri="/search/filterAggregation"> - <to uri="bean:aggregateSummaryProcessor?method=getFilteredAggregation"/> - </post> - </rest> -</rests> +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-edge-props-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/model/edge_props/*").AsConfig . | indent 2 }} diff --git a/kubernetes/aai/charts/aai-spike/templates/deployment.yaml b/kubernetes/aai/charts/aai-spike/templates/deployment.yaml new file mode 100644 index 0000000000..edf6ce84fe --- /dev/null +++ b/kubernetes/aai/charts/aai-spike/templates/deployment.yaml @@ -0,0 +1,159 @@ +# Copyright © 2018 Amdocs, 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. + +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: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + initContainers: + - command: + - /root/ready.py + args: + - --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: {{ .Chart.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 .Values.liveness.enabled }} + 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 }} + env: + - name: CONFIG_HOME + value: /opt/app/spike/config + - name: KEY_STORE_PASSWORD + valueFrom: + secretKeyRef: + name: {{ template "common.fullname" . }}-pass + key: KEY_STORE_PASSWORD + - name: KEY_MANAGER_PASSWORD + valueFrom: + secretKeyRef: + name: {{ template "common.fullname" . }}-pass + key: KEY_MANAGER_PASSWORD + - name: SERVICE_BEANS + value: /opt/app/spike/dynamic/conf + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - mountPath: /opt/app/spike/config/auth + name: {{ include "common.fullname" . }}-secrets + - mountPath: /opt/app/spike/dynamic/conf/spike-beans.xml + name: {{ include "common.fullname" . }}-config + subPath: spike-beans.xml + - mountPath: /opt/app/spike/config/spike.properties + subPath: spike.properties + name: {{ include "common.fullname" . }}-config + - mountPath: /opt/app/spike/config/schemaIngest.properties + subPath: schemaIngest.properties + name: {{ include "common.fullname" . }}-config + - mountPath: /opt/app/spike/config/model/edge_props + name: {{ include "common.fullname" . }}-edge-props-config + - mountPath: /opt/app/spike/bundleconfig/etc/logback.xml + name: {{ include "common.fullname" . }}-config + subPath: logback.xml + - mountPath: /var/log/onap + name: {{ include "common.fullname" . }}-logs + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 10 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ 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: + path: /etc/localtime + - name: {{ include "common.fullname" . }}-secrets + secret: + secretName: {{ include "common.fullname" . }}-spike-secrets + - name: {{ include "common.fullname" . }}-config + configMap: + name: {{ include "common.fullname" . }}-configmap + items: + - key: spike.properties + path: spike.properties + - key: spike-beans.xml + path: spike-beans.xml + - key: schemaIngest.properties + path: schemaIngest.properties + - key: logback.xml + path: logback.xml + - name: {{ include "common.fullname" . }}-edge-props-config + configMap: + name: {{ include "common.fullname" . }}-edge-props-configmap + - name: filebeat-conf + configMap: + name: aai-filebeat + - name: {{ include "common.fullname" . }}-logs + emptyDir: {} + - name: aai-filebeat + emptyDir: {} + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/deployment.yaml b/kubernetes/aai/charts/aai-spike/templates/secrets.yaml index 88d6238f35..6a9810bd15 100644 --- a/kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-spike/templates/secrets.yaml @@ -1,4 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada +# Copyright © 2018 Amdocs, 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,33 +12,26 @@ # See the License for the specific language governing permissions and # limitations under the License. -apiVersion: extensions/v1beta1 -kind: Deployment +apiVersion: v1 +kind: Secret metadata: - name: {{ include "common.fullname" . }} + name: {{ include "common.fullname" . }}-spike-secrets + namespace: {{ include "common.namespace" . }} +type: Opaque +data: +{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.fullname" . }}-pass namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - app: {{ include "common.name" . }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ .Release.Name }} - name: {{ include "common.name" . }} - spec: - hostname: {{ include "common.name" . }} - containers: - - args: - image: "{{ include "common.repository" . }}/{{ .Values.image }}" - imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }} - name: {{ include "common.name" . }} - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" +type: Opaque +data: + KEY_STORE_PASSWORD: {{ .Values.config.keyStorePassword | b64enc | quote }} + KEY_MANAGER_PASSWORD: {{ .Values.config.keyManagerPassword | b64enc | quote }} diff --git a/kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/service.yaml b/kubernetes/aai/charts/aai-spike/templates/service.yaml index f6208cf965..745c73b0e1 100644 --- a/kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/service.yaml +++ b/kubernetes/aai/charts/aai-spike/templates/service.yaml @@ -1,4 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada +# Copyright © 2018 Amdocs, AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -26,13 +26,14 @@ spec: type: {{ .Values.service.type }} ports: {{if eq .Values.service.type "NodePort" -}} - - port: {{ .Values.service.internalPort }} - nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }} + - port: {{ .Values.service.internalPort}} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort}} + name: {{ .Values.service.portName }} {{- else -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} + name: {{ .Values.service.portName }} {{- end}} - name: {{ .Values.service.portName | default "http" }} selector: app: {{ include "common.name" . }} release: {{ .Release.Name }} diff --git a/kubernetes/vnfsdk/charts/vnfsdk-postgres/values.yaml b/kubernetes/aai/charts/aai-spike/values.yaml index 8582593c62..6429d3f119 100644 --- a/kubernetes/vnfsdk/charts/vnfsdk-postgres/values.yaml +++ b/kubernetes/aai/charts/aai-spike/values.yaml @@ -1,5 +1,5 @@ -# Copyright © 2018 ZTE -# Modifications Copyright © 2018 AT&T, Amdocs, Bell Canada +# Copyright © 2018 Amdocs, 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 @@ -16,24 +16,22 @@ # Global configuration defaults. ################################################################# global: - nodePortPrefix: 302 - repository: nexus3.onap.org:10001 - readinessRepository: oomk8s readinessImage: readiness-check:2.0.0 - loggingRepository: docker.elastic.co loggingImage: beats/filebeat:5.5.0 ################################################################# # Application configuration defaults. ################################################################# + # application image -repository: nexus3.onap.org:10001 -image: onap/vnfsdk/refrepo/postgres:1.1.1 -pullPolicy: Always +image: onap/spike:1.0-STAGING-latest -# flag to enable debugging - application support required -debugEnabled: false +# application configuration +config: + keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 + keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10 +# default number of instances replicaCount: 1 nodeSelector: {} @@ -46,18 +44,30 @@ liveness: periodSeconds: 10 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container - enabled: true + enabled: false readiness: initialDelaySeconds: 10 periodSeconds: 10 service: - type: ClusterIP - name: vnfsdk-postgres - portName: vnfsdk-postgres - internalPort: 5432 - externalPort: 5432 + type: NodePort + portName: spike + externalPort: 9518 + internalPort: 9518 + nodePort: 39 ingress: enabled: false + +resources: {} + +# XML bean configuration +event: + port: + dmaap: 3905 + protocol: https + consumer: + topic: champRawEvents + publisher: + topic: spikeEvents diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/cadi.properties b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/cadi.properties new file mode 100644 index 0000000000..9523367f27 --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/cadi.properties @@ -0,0 +1,8 @@ + +cadi_loglevel=INFO +cadi_prop_files=/opt/app/aai-traversal/resources/aaf/org.osaaf.location.props:/opt/app/aai-traversal/resources/aaf/org.onap.aai.props + +# OAuth2 +aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect + diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile new file mode 100644 index 0000000000..3416d4a737 --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile @@ -0,0 +1,27 @@ +2otP92kNFHdexroZxvgYY7ffslFiwCD3CiVYMIfUF2edqZK7972NwkvE_mbaBo6jh8lByLIqrWAf +jyzoiVsvQ_kCa0cS1xaRLpcxv3bx1b7o3hGPBqpd6vmSG4y2JLzNlCBZWuTJz827wr8p_fWrYuUm +4L1WoaEe8W5PRnXjl4hDqbJBAlEoRIBXugUDt_7O5wgx2Rl3HVoOczZtf0RzONZ1F0BmKf3QlAUe +moSbARitYRgIPt5sLbT7qPyoEpGDhQ1XBowR744-wsjBc-14yO62Ajp5xWKTp15uWn3_HHuw1SAf +GWSBRGlSlEVkXQqi9Hw5jDttKVzHX1ckwR0SQOirbtHPHplxPX3WKjKhSdSeMzw6LOAHIQYRMKBT +74oGnULAfPtV7TaGwOKriT3P49CoPdt9On89-LGyCZSxDWKH0K-rgB6I2_hPT2Uzr3jmXiMa-sfh +iMvyQ7ABBVx0OFsUuNb5mcU2O6dWiQreL5RerrloV_X3ZtnNjxENXKjQ5KBR1A5ISPjFFK-kf4Rb +p6FSII8LcsiqgdWuZ4GX_C6x8HX4A-vD0x3Uc9CfoXY-k23cNIy-R-W-oB-P2OgdWDNgZ7VaOLNt +3L-NwWpNblfYvs93cNmkbVAwCZ3r0OP7RFeuON84TRaynK_Fh2S3rypRyJcUmM1pvpZqJ5_-umSW +hUs1OqkdLv3xjlVzzK-3nMr0q3Zcyp4XdyLYtcX5I3Xqk9ZcsyAT7ghmHhV8KjUjue7OcfAWg0m7 +RJLGq6VC8HeK4HEMa4lF677Qh7DRufghIDEmQSIDfGA790WGSA8HqcOvAL4hURCHyCWiPa5i8ksX +xX4HyqF8PCVCLJ_ZhzcuIlc0jStAexWbJU_vcyX7XgUaHCkF-M-zv1FP6Z3DHBMD2QqSWjmyNCCk +8sIuwzs62P_j2o9jG33kssedCrUWOwZancU107-5H0Zw-UWvtCqUfmRZ7TsEbWY7lk_SKfLfAN5q +ncOQgU_VxDXUFDST4LN_WVECRafK3UtwWomxWSji25Lbf6NVni3ok-yLMDZR-wrE-54jLPES9j0i +5N0xrk9CfsvGUpUZ1_XQcgaxI6m27DtCCJXb5ywenPBiUIJCMCTq88CqNZxGpju2i4BJcUH2hUHe +GKhO8pgslwhtEVot9EDwdzSrJkWFCfb6ud4zMxrqdi7-mLWMOydg6lhpEFEX5wu2BLIujGsZlEGE +_K9jGfBypjXuJCKDZIuPfEnf_7idjKis_JcFB7x4Hx2HHDcBjlWWFZN_VIEnPkQSyZEC26RTFP3k +zkY3GwUfA36a4XW2pu3gE9wz-W6fkONfzOZ6YiyCm_dRFUVuGSdJG02Hh5iXYlMOGJltPzWH2jVf +S-QTOmXQTKSOheXoJO6O-9uQbsRf-kq-6w1pvIOp4ms35w4_0Xj0Xr2a9y-L9PdBZvrUsa-jxsZU +LyA-YY4Ej6QwDBDTD2MGjF1E5_ekYgjoNlltM9rJjofruM4ym0n7LPHC7YXXQSEFOZYeTKi6wUDw +hQ1DoWHgu4PQ2lexada8sxQdConbPe2iW16h-PrO5D12E4XbT00fqaMlBmjQwzdNRdCC2NRPIQ5W +nwaO8dZ9yjxsjT7ZVHb9-DRblb3XDocponzxVXqUGtJAie4WXQnerX0ApTWGaHEr5y56JJVS_3LP +bKrbXBXcs4jTUX4ECXRrOs8JQDQNysXhvTPCu0XUxNZpjx6KLxDs93k2OcESHjl5J6n6OKKJqqoN +JEyFO5LGXpnmUJbn0-CaHHPRI1mHwEu4brY8wDZd9A0PD1KGXDoCHMfEk1lGblQdyOcVrXZ6uSBk +Z6zHDnwSCHO1mPYqtelJQehZoFuPSv9PIgKLxs_qJOtZFnXII5YO1mGXgiIBWBjUFDR5HG4ENS6y +J4MCF-JLMp-PVMAkOaCIQRRDpRnMm_fT1sc_P562Diu_pcdt-r55pMFQYGoGfjRmxQBKk0-SsdnP +mlZIiis9DfQEN0q3QQdNRYBJD7tmhUwhAPZdLgXqJA8sZf8UyFQhhpsky79NT343YL9smUlF
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 Binary files differnew file mode 100644 index 0000000000..023e2eaac6 --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props new file mode 100644 index 0000000000..4596d91cfe --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props @@ -0,0 +1,13 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# @copyright 2016, AT&T +############################################################ +cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US +cadi_keyfile=/opt/app/aai-traversal/resources/aaf/org.onap.aai.keyfile +cadi_keystore=/opt/app/aai-traversal/resources/aaf/org.onap.aai.p12 +cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5INQjrea7GTV +#cadi_key_password=enc:<KEY PASSWORD (optional if the same as KEYSTORE PASSWORD)> +cadi_alias=aai@aai.onap.org +cadi_truststore=/opt/app/aai-traversal/resources/aaf/truststoreONAPall.jks +cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2 +cadi_loglevel=INFO
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.osaaf.location.props b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.osaaf.location.props new file mode 100644 index 0000000000..132fb242f4 --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.osaaf.location.props @@ -0,0 +1,23 @@ +## +## org.osaaf.location.props +## +## Localized Machine Information +## +# Almeda California ? +cadi_latitude=37.78187 +cadi_longitude=-122.26147 + +# Locate URL (which AAF Env) +aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095 + +# AAF URL +aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0 + +# AAF Environment Designation +aaf_env=DEV + +# OAuth2 Endpoints +aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect + + diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/permissions.properties b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/permissions.properties new file mode 100644 index 0000000000..d4956f577c --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/permissions.properties @@ -0,0 +1,2 @@ +permission.type=org.onap.aai.traversal +permission.instance=*
\ No newline at end of file diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks Binary files differnew file mode 100644 index 0000000000..2da1dcc4b4 --- /dev/null +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties index 32225553dc..3859590aaf 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties @@ -20,64 +20,44 @@ # ECOMP is a trademark and service mark of AT&T Intellectual Property. # -#################################################################### -# REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE -# TEMPLATE AND *ALL* DATAFILES -#################################################################### - -#################################################################### -# REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE -# TEMPLATE AND *ALL* DATAFILES -#################################################################### - aai.config.checktime=1000 # this could come from siteconfig.pl? aai.config.nodename=AutomaticallyOverwritten - - -aai.auth.cspcookies_on=false -aai.dbmodel.filename=ex5.json - aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/ -aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/v11/ +aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/{{ .Values.global.config.schema.version.api.default }}/ aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/ +{{ if .Values.global.config.basic.auth.enabled }} aai.tools.enableBasicAuth=true -aai.tools.username=AAI -aai.tools.password=AAI +aai.tools.username={{ .Values.global.config.basic.auth.username }} +aai.tools.password={{ .Values.global.config.basic.auth.passwd }} +{{ end }} -aai.truststore.filename=aai_keystore -aai.truststore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 -aai.keystore.filename=aai_keystore -aai.keystore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 +aai.truststore.filename={{ .Values.global.config.truststore.filename }} +aai.truststore.passwd.x={{ .Values.global.config.truststore.passwd }} +aai.keystore.filename={{ .Values.global.config.keystore.filename }} +aai.keystore.passwd.x={{ .Values.global.config.keystore.passwd }} - -aai.notification.current.version=v11 +aai.notification.current.version={{ .Values.global.config.schema.version.api.default }} aai.notificationEvent.default.status=UNPROCESSED -aai.notificationEvent.default.eventType=AAI-EVENT -aai.notificationEvent.default.domain=dev +aai.notificationEvent.default.eventType={{ .Values.global.config.notification.eventType }} +aai.notificationEvent.default.domain={{ .Values.global.config.notification.domain }} aai.notificationEvent.default.sourceName=aai aai.notificationEvent.default.sequenceNumber=0 aai.notificationEvent.default.severity=NORMAL -aai.notificationEvent.default.version=v11 +aai.notificationEvent.default.version={{ .Values.global.config.schema.version.api.default }} # This one lets us enable/disable resource-version checking on updates/deletes aai.resourceversion.enableflag=true aai.logging.maxStackTraceEntries=10 -aai.default.api.version=v11 - - +aai.default.api.version={{ .Values.global.config.schema.version.api.default }} # Used by Model-processing code aai.model.delete.sleep.per.vtx.msec=500 aai.model.query.resultset.maxcount=50 aai.model.query.timeout.sec=90 -# Used by Data Grooming -aai.grooming.default.max.file=150 -aai.grooming.default.sleep.minutes=7 - aai.model.proc.max.levels=50 aai.edgeTag.proc.max.levels=50 @@ -89,13 +69,13 @@ aai.transaction.logging=true aai.transaction.logging.get=false aai.transaction.logging.post=false -aai.realtime.clients=SDNC,MSO,SO,robot-ete +aai.realtime.clients={{ .Values.global.config.realtime.clients }} #timeout for traversal enabled flag -aai.traversal.timeoutenabled=true +aai.traversal.timeoutenabled={{ .Values.config.timeout.enabled }} #timeout app specific -aai.traversal.timeout.appspecific=JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1 +aai.traversal.timeout.appspecific={{ .Values.config.timeout.appspecific }} #default timeout limit added for traversal if not overridden (in ms) -aai.traversal.timeoutlimit=180000 +aai.traversal.timeoutlimit={{ .Values.config.timeout.limit | int }} diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/application.properties b/kubernetes/aai/charts/aai-traversal/resources/config/application.properties index ca02055abe..1ad208fd86 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/application.properties +++ b/kubernetes/aai/charts/aai-traversal/resources/config/application.properties @@ -16,7 +16,7 @@ info.build.artifact=aai-traversal info.build.name=traversal info.build.description=Traversal Microservice -info.build.version=1.2.0 +info.build.version=1.3.0 spring.application.name=aai-traversal spring.jersey.type=filter @@ -24,7 +24,8 @@ spring.jersey.type=filter server.contextPath=/ spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration -spring.profiles.active=production,dmaap +spring.profiles.active={{ .Values.global.config.profiles.active }} +spring.jersey.application-path=${schema.uri.base.path} #The max number of active threads in this pool server.tomcat.max-threads=200 #The minimum number of threads always kept alive @@ -32,15 +33,6 @@ server.tomcat.min-Spare-Threads=25 #The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads server.tomcat.max-idle-time=60000 - -#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept -#com.att.ajsc.common.interceptors.PreInterceptor.url=/** -#com.att.ajsc.common.interceptors.PostInterceptor.url=/** - -#Servlet context parameters -server.context_parameters.p-name=value #context parameter with p-name as key and value as value. -kubernetes.namespace={{ include "common.namespace" . }} - # If you get an application startup failure that the port is already taken # If thats not it, please check if the key-store file path makes sense server.local.startpath=aai-traversal/src/main/resources/ @@ -48,39 +40,45 @@ server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties server.port=8446 server.ssl.enabled-protocols=TLSv1.1,TLSv1.2 -server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore -server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) -server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore -server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0) +server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }} +server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }}) +server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }} +server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }}) server.ssl.client-auth=want server.ssl.key-store-type=JKS # JMS bind address host port jms.bind.address=tcp://localhost:61647 -dmaap.ribbon.eureka.enabled=false -dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3904 -# Number of milliseconds to wait before making ping requests again -dmaap.ribbon.ServerListRefreshInterval=75000 -dmaap.ribbon.NFLoadBalancerPingInterval=75000 -dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule -dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl -dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true -dmaap.ribbon.ServerDownFailureLimit=1 -# This needs to be verified but it seems that adding this property should automatically -# Make the dmaap client change the url from http to https depending on the server -dmaap.ribbon.securePorts=3905 +dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3905 + +# Schema related attributes for the oxm and edges +# Any additional schema related attributes should start with prefix schema +schema.configuration.location=N/A +schema.source.name={{ .Values.global.config.schema.source.name }} +schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/ +schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/ +# Location of where the stored queries are +schema.queries.location=${server.local.startpath}/schema/${schema.source.name}/query/ + +schema.ingest.file=${server.local.startpath}/application.properties + +# Schema Version Related Attributes + +schema.uri.base.path={{ .Values.global.config.schema.uri.base.path }} +# Lists all of the versions in the schema +schema.version.list={{ .Values.global.config.schema.version.list }} +# Specifies from which version should the depth parameter to default to zero +schema.version.depth.start={{ .Values.global.config.schema.version.depth }} +# Specifies from which version should the related link be displayed in response payload +schema.version.related.link.start={{ .Values.global.config.schema.version.related.link }} -# Custom Dmaap Specific Configuration -dmaap.ribbon.username= -dmaap.ribbon.password= -dmaap.ribbon.health.endpoint=/topics/AAI-EVENT -# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing -dmaap.ribbon.pingport.timeout=3 +# Specifies from which version should the client see only the uri excluding host info +# Before this version server base will also be included +schema.version.app.root.start={{ .Values.global.config.schema.version.app.root }} +# Specifies from which version should the namespace be changed +schema.version.namespace.change.start={{ .Values.global.config.schema.version.namespace.change }} +# Specifies from which version should the client start seeing the edge label in payload +schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.label }} +# Specifies the version that the application should default to +schema.version.api.default={{ .Values.global.config.schema.version.api.default }} -niws.loadbalancer.dmaap.filterCircuitTripped=true -niws.loadbalancer.dmaap.connectionFailureCountThreshold=3 -niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180 -#dmaap.ribbon.retryableStatusCodes=404,503 -#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2 -#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2 -#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties index b9216bf8e0..2c22d14a41 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties +++ b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties @@ -23,6 +23,8 @@ query.fast-property=true query.smart-limit=false +{{ if .Values.global.config.cluster.cassandra.dynamic }} + {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}} {{- $global := . }} @@ -35,9 +37,60 @@ storage.cassandra.read-consistency-level=LOCAL_QUORUM storage.cassandra.write-consistency-level=LOCAL_QUORUM storage.cassandra.replication-factor=3 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy -#storage.cassandra.replication-strategy-options=MTA1cass,3 -#schema.default=none +{{ else }} + +{{ if .Values.global.config.storage }} + +storage.backend={{ .Values.global.config.storage.backend }} + +{{ if eq .Values.global.config.storage.backend "cassandra" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cassandra.keyspace={{ .Values.global.config.storage.name }} + +storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }} +storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }} +storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }} +storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }} +storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "cql" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cql.keyspace={{ .Values.global.config.storage.name }} + +storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }} + +storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }} +storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }} +storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "hbase" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.hbase.table={{ .Values.global.config.storage.name }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ end }} + +{{ end }} + +{{ end }} + storage.lock.wait-time=300 #caching on cache.db-cache = true diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties index a8504dc1c4..b19c9b6df6 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties +++ b/kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.properties @@ -21,10 +21,11 @@ query.fast-property=true query.smart-limit=false +{{ if .Values.global.config.cluster.cassandra.dynamic }} + {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}} {{- $global := . }} -# the following parameters are not reloaded automatically and require a manual bounce storage.backend=cassandra storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }} @@ -34,12 +35,62 @@ storage.cassandra.read-consistency-level=LOCAL_QUORUM storage.cassandra.write-consistency-level=LOCAL_QUORUM storage.cassandra.replication-factor=3 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy -#storage.cassandra.replication-strategy-options=MTA1cass,3 -#schema.default=none +{{ else }} + +{{ if .Values.global.config.storage }} + +storage.backend={{ .Values.global.config.storage.backend }} + +{{ if eq .Values.global.config.storage.backend "cassandra" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cassandra.keyspace={{ .Values.global.config.storage.name }} + +storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }} +storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }} +storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }} +storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }} +storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "cql" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.cql.keyspace={{ .Values.global.config.storage.name }} + +storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }} +storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }} + +storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }} +storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }} +storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ else if eq .Values.global.config.storage.backend "hbase" }} + +storage.hostname={{ .Values.global.config.storage.hostname }} +storage.hbase.table={{ .Values.global.config.storage.name }} + +storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }} +cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }} +log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }} + +{{ end }} + +{{ end }} + +{{ end }} + storage.lock.wait-time=300 # Setting db-cache to false ensure the fastest propagation of changes across servers cache.db-cache = false - #load graphson file on startup load.snapshot.file=false diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/logback.xml b/kubernetes/aai/charts/aai-traversal/resources/config/logback.xml index 84ec4f15a0..96fe00567d 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/logback.xml +++ b/kubernetes/aai/charts/aai-traversal/resources/config/logback.xml @@ -1,366 +1,369 @@ -<!--
- ============LICENSE_START=======================================================
- org.onap.aai
- ================================================================================
- Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- Modifications 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.
- ============LICENSE_END=========================================================
- ECOMP is a trademark and service mark of AT&T Intellectual Property.
--->
-<configuration scan="true" scanPeriod="60 seconds" debug="false">
- <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
- <property resource="application.properties" />
- <property name="namespace" value="aai-traversal"/>
- <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
- <jmxConfigurator />
- <property name="logDirectory" value="${AJSC_HOME}/logs" />
- <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <!-- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
- <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
- <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
- <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
- <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>
- %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
- </pattern>
- </encoder>
- </appender>
- <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/rest/sane.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
- </rollingPolicy>
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
- </pattern>
- </encoder>
- </appender>
- <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="SANE" />
- </appender>
- <appender name="METRIC"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <file>${logDirectory}/rest/metrics.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfMetricLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="METRIC" />
- </appender>
- <appender name="DEBUG"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <file>${logDirectory}/rest/debug.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="DEBUG" />
- </appender>
- <appender name="ERROR"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <file>${logDirectory}/rest/error.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfErrorLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="ERROR" />
- </appender>
- <appender name="AUDIT"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/rest/audit.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfAuditLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="AUDIT" />
- </appender>
- <appender name="translog"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <file>${logDirectory}/rest/translog.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfTransLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>1000</queueSize>
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="translog" />
- </appender>
- <appender name="dmaapAAIEventConsumer"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="dmaapAAIEventConsumerDebug"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="dmaapAAIEventConsumerMetric"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfMetricLogPattern}</pattern>
- </encoder>
- </appender>
- <appender name="external"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <level>WARN</level>
- </filter>
- <file>${logDirectory}/external/external.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
- </fileNamePattern>
- </rollingPolicy>
- <encoder class="org.onap.aai.logging.EcompEncoder">
- <pattern>${eelfLogPattern}</pattern>
- </encoder>
- </appender>
- <logger name="org.onap.aai" level="DEBUG" additivity="false">
- <appender-ref ref="asyncDEBUG" />
- <appender-ref ref="asyncERROR" />
- <appender-ref ref="asyncMETRIC" />
- <appender-ref ref="asyncSANE" />
- </logger>
- <!-- Spring related loggers -->
- <logger name="org.springframework" level="WARN" />
- <logger name="org.springframework.beans" level="WARN" />
- <logger name="org.springframework.web" level="WARN" />
- <logger name="com.blog.spring.jms" level="WARN" />
- <logger name="com.jayway.jsonpath" level="WARN" />
- <!-- AJSC Services (bootstrap services) -->
- <logger name="ajsc" level="WARN" />
- <logger name="ajsc.RouteMgmtService" level="WARN" />
- <logger name="ajsc.ComputeService" level="WARN" />
- <logger name="ajsc.VandelayService" level="WARN" />
- <logger name="ajsc.FilePersistenceService" level="WARN" />
- <logger name="ajsc.UserDefinedJarService" level="WARN" />
- <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
- <logger name="ajsc.LoggingConfigurationService" level="WARN" />
- <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
- logging) -->
- <logger name="org.codehaus.groovy" level="WARN" />
- <logger name="com.att.scamper" level="WARN" />
- <logger name="ajsc.utils" level="WARN" />
- <logger name="ajsc.utils.DME2Helper" level="WARN" />
- <logger name="ajsc.filters" level="WARN" />
- <logger name="ajsc.beans.interceptors" level="WARN" />
- <logger name="ajsc.restlet" level="WARN" />
- <logger name="ajsc.servlet" level="WARN" />
- <logger name="com.att.ajsc" level="WARN" />
- <logger name="com.att.ajsc.csi.logging" level="WARN" />
- <logger name="com.att.ajsc.filemonitor" level="WARN" />
- <logger name="com.netflix.loadbalancer" level="WARN" />
- <logger name="org.apache.zookeeper" level="OFF" />
- <!-- Other Loggers that may help troubleshoot -->
- <logger name="net.sf" level="WARN" />
- <logger name="org.apache.commons.httpclient" level="WARN" />
- <logger name="org.apache.commons" level="WARN" />
- <logger name="org.apache.coyote" level="WARN" />
- <logger name="org.apache.jasper" level="WARN" />
- <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
- May aid in troubleshooting) -->
- <logger name="org.apache.camel" level="WARN" />
- <logger name="org.apache.cxf" level="WARN" />
- <logger name="org.apache.camel.processor.interceptor" level="WARN" />
- <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
- <logger name="org.apache.cxf.service" level="WARN" />
- <logger name="org.restlet" level="WARN" />
- <logger name="org.apache.camel.component.restlet" level="WARN" />
- <logger name="org.hibernate.validator" level="WARN" />
- <logger name="org.hibernate" level="WARN" />
- <logger name="org.hibernate.ejb" level="OFF" />
- <!-- logback internals logging -->
- <logger name="ch.qos.logback.classic" level="WARN" />
- <logger name="ch.qos.logback.core" level="WARN" />
- <logger name="org.eclipse.jetty" level="WARN" />
- <!-- logback jms appenders & loggers definition starts here -->
- <appender name="auditLogs"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
- <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
- </file>
- <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
- </encoder>
- </appender>
- <appender name="perfLogs"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
- <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
- </file>
- <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
- </encoder>
- </appender>
- <appender name="miscLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/misc/misc.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${logDirectory}/misc/misc.log.%d{yyyy-MM-dd}</fileNamePattern>
- </rollingPolicy>
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
- </pattern>
- </encoder>
- </appender>
- <logger name="AuditRecord" level="INFO" additivity="false">
- <appender-ref ref="auditLogs" />
- </logger>
- <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
- <appender-ref ref="auditLogs" />
- </logger>
- <logger name="PerfTrackerRecord" level="INFO" additivity="false">
- <appender-ref ref="perfLogs" />
- </logger>
- <logger name="MiscRecord" level="INFO" additivity="false">
- <appender-ref ref="miscLogs" />
- </logger>
- <!-- logback jms appenders & loggers definition ends here -->
- <logger name="org.onap.aai.interceptors.post" level="DEBUG"
- additivity="false">
- <appender-ref ref="asynctranslog" />
- </logger>
- <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
- <appender-ref ref="asyncAUDIT"/>
- </logger>
- <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
- <appender-ref ref="asyncAUDIT"/>
- </logger>
- <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
- <appender-ref ref="dmaapAAIEventConsumer" />
- <appender-ref ref="dmaapAAIEventConsumerDebug" />
- <appender-ref ref="dmaapAAIEventConsumerMetric" />
- </logger>
- <logger name="org.apache" level="OFF" />
- <logger name="org.zookeeper" level="OFF" />
- <logger name="com.thinkaurelius" level="WARN" />
- <logger name="com.att.aft.dme2" level="WARN" />
- <!-- ============================================================================ -->
- <!-- General EELF logger -->
- <!-- ============================================================================ -->
- <logger name="com.att.eelf" level="WARN" additivity="false">
- <appender-ref ref="asyncDEBUG" />
- <appender-ref ref="asyncERROR" />
- <appender-ref ref="asyncMETRIC" />
- </logger>
- <root level="DEBUG">
- <appender-ref ref="external" />
- </root>
-</configuration>
+<!-- + ============LICENSE_START======================================================= + org.onap.aai + ================================================================================ + Copyright © 2017 AT&T Intellectual Property. All rights reserved. + Modifications 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. + ============LICENSE_END========================================================= + ECOMP is a trademark and service mark of AT&T Intellectual Property. +--> +<configuration scan="true" scanPeriod="60 seconds" debug="false"> + <statusListener class="ch.qos.logback.core.status.NopStatusListener" /> + <property resource="application.properties" /> + <property name="namespace" value="aai-traversal"/> + <property name="AJSC_HOME" value="${AJSC_HOME:-.}" /> + <jmxConfigurator /> + <property name="logDirectory" value="${AJSC_HOME}/logs" /> + <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <!-- <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> --> + <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> + <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/> + <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> + <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> + <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern> + %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx} + </pattern> + </encoder> + </appender> + <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/sane.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + </pattern> + </encoder> + </appender> + <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="SANE" /> + </appender> + <appender name="METRIC" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/metrics.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="METRIC" /> + </appender> + <appender name="DEBUG" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/debug.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="DEBUG" /> + </appender> + <appender name="ERROR" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/rest/error.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfErrorLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="ERROR" /> + </appender> + <appender name="AUDIT" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/rest/audit.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfAuditLogPattern}</pattern> + </encoder> + </appender> + <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="AUDIT" /> + </appender> + <appender name="translog" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <file>${logDirectory}/rest/translog.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfTransLogPattern}</pattern> + </encoder> + </appender> + <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>1000</queueSize> + <includeCallerData>true</includeCallerData> + <appender-ref ref="translog" /> + </appender> + <appender name="dmaapAAIEventConsumer" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="dmaapAAIEventConsumerDebug" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>DEBUG</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <appender name="dmaapAAIEventConsumerMetric" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.LevelFilter"> + <level>INFO</level> + <onMatch>ACCEPT</onMatch> + <onMismatch>DENY</onMismatch> + </filter> + <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfMetricLogPattern}</pattern> + </encoder> + </appender> + <appender name="external" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>WARN</level> + </filter> + <file>${logDirectory}/external/external.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd} + </fileNamePattern> + </rollingPolicy> + <encoder class="org.onap.aai.logging.EcompEncoder"> + <pattern>${eelfLogPattern}</pattern> + </encoder> + </appender> + <logger name="org.onap.aai" level="DEBUG" additivity="false"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + <appender-ref ref="asyncSANE" /> + </logger> + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + <logger name="com.blog.spring.jms" level="WARN" /> + <logger name="com.jayway.jsonpath" level="WARN" /> + <!-- AJSC Services (bootstrap services) --> + <logger name="ajsc" level="WARN" /> + <logger name="ajsc.RouteMgmtService" level="WARN" /> + <logger name="ajsc.ComputeService" level="WARN" /> + <logger name="ajsc.VandelayService" level="WARN" /> + <logger name="ajsc.FilePersistenceService" level="WARN" /> + <logger name="ajsc.UserDefinedJarService" level="WARN" /> + <logger name="ajsc.UserDefinedBeansDefService" level="WARN" /> + <logger name="ajsc.LoggingConfigurationService" level="WARN" /> + <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet + logging) --> + <logger name="org.codehaus.groovy" level="WARN" /> + <logger name="com.att.scamper" level="WARN" /> + <logger name="ajsc.utils" level="WARN" /> + <logger name="ajsc.utils.DME2Helper" level="WARN" /> + <logger name="ajsc.filters" level="WARN" /> + <logger name="ajsc.beans.interceptors" level="WARN" /> + <logger name="ajsc.restlet" level="WARN" /> + <logger name="ajsc.servlet" level="WARN" /> + <logger name="com.att.ajsc" level="WARN" /> + <logger name="com.att.ajsc.csi.logging" level="WARN" /> + <logger name="com.att.ajsc.filemonitor" level="WARN" /> + <logger name="com.netflix.loadbalancer" level="WARN" /> + <logger name="org.apache.zookeeper" level="OFF" /> + <!-- Other Loggers that may help troubleshoot --> + <logger name="net.sf" level="WARN" /> + <logger name="org.apache.commons.httpclient" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="org.apache.coyote" level="WARN" /> + <logger name="org.apache.jasper" level="WARN" /> + <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. + May aid in troubleshooting) --> + <logger name="org.apache.camel" level="WARN" /> + <logger name="org.apache.cxf" level="WARN" /> + <logger name="org.apache.camel.processor.interceptor" level="WARN" /> + <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> + <logger name="org.apache.cxf.service" level="WARN" /> + <logger name="org.restlet" level="WARN" /> + <logger name="org.apache.camel.component.restlet" level="WARN" /> + <logger name="org.hibernate.validator" level="WARN" /> + <logger name="org.hibernate" level="WARN" /> + <logger name="org.hibernate.ejb" level="OFF" /> + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="WARN" /> + <logger name="ch.qos.logback.core" level="WARN" /> + <logger name="org.eclipse.jetty" level="WARN" /> + <!-- logback jms appenders & loggers definition starts here --> + <appender name="auditLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <appender name="perfLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter" /> + <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log + </file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <appender name="miscLogs" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/misc/misc.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/misc/misc.log.%d{yyyy-MM-dd}</fileNamePattern> + </rollingPolicy> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + </pattern> + </encoder> + </appender> + <logger name="AuditRecord" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="AuditRecord_DirectCall" level="INFO" additivity="false"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="PerfTrackerRecord" level="INFO" additivity="false"> + <appender-ref ref="perfLogs" /> + </logger> + <logger name="MiscRecord" level="INFO" additivity="false"> + <appender-ref ref="miscLogs" /> + </logger> + <!-- logback jms appenders & loggers definition ends here --> + <logger name="org.onap.aai.interceptors.post" level="DEBUG" + additivity="false"> + <appender-ref ref="asynctranslog" /> + </logger> + <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG"> + <appender-ref ref="asyncAUDIT"/> + </logger> + <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false"> + <appender-ref ref="dmaapAAIEventConsumer" /> + <appender-ref ref="dmaapAAIEventConsumerDebug" /> + <appender-ref ref="dmaapAAIEventConsumerMetric" /> + </logger> + <logger name="org.apache" level="OFF" /> + <logger name="org.zookeeper" level="OFF" /> + <logger name="com.thinkaurelius" level="WARN" /> + <logger name="com.att.aft.dme2" level="WARN" /> + <!-- ============================================================================ --> + <!-- General EELF logger --> + <!-- ============================================================================ --> + <logger name="com.att.eelf" level="WARN" additivity="false"> + <appender-ref ref="asyncDEBUG" /> + <appender-ref ref="asyncERROR" /> + <appender-ref ref="asyncMETRIC" /> + </logger> + <root level="DEBUG"> + <appender-ref ref="external" /> + {{if .Values.global.config.logback.console.enabled}} + <appender-ref ref="STDOUT" /> + {{ end }} + </root> +</configuration> diff --git a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml index 9d89505121..80983695a4 100644 --- a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml +++ b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml @@ -67,3 +67,25 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-aaf-props + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/aaf/org.osaaf.location.props").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/permissions.properties").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.props").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/cadi.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: Secret +metadata: + name: {{ include "common.fullname" . }}-aaf-keys + namespace: {{ include "common.namespace" . }} +type: Opaque +data: +{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }} diff --git a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml index a571e42b3d..3cedaecc9b 100644 --- a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml +++ b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml @@ -248,14 +248,20 @@ spec: ]' spec: hostname: aai-traversal + {{ if .Values.global.initContainers.enabled }} initContainers: - command: + {{ if .Values.global.jobs.createSchema.enabled }} + - /root/job_complete.py + args: + - --job-name + - {{ .Release.Name }}-aai-graphadmin-create-db-schema + {{ else }} - /root/ready.py args: - --container-name - aai-cassandra - - --container-name - - aai-resources + {{ end }} env: - name: NAMESPACE valueFrom: @@ -265,6 +271,7 @@ spec: image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }}-readiness + {{ end }} containers: - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" @@ -273,9 +280,9 @@ spec: - name: DISABLE_UPDATE_QUERY value: {{ .Values.config.disableUpdateQuery | quote }} - name: LOCAL_USER_ID - value: {{ .Values.config.userId | quote }} + value: {{ .Values.global.config.userId | quote }} - name: LOCAL_GROUP_ID - value: {{ .Values.config.groupId | quote }} + value: {{ .Values.global.config.groupId | quote }} volumeMounts: - mountPath: /etc/localtime name: localtime @@ -297,12 +304,36 @@ spec: - mountPath: /opt/app/aai-traversal/resources/localhost-access-logback.xml name: {{ include "common.fullname" . }}-localhost-access-log-conf subPath: localhost-access-logback.xml + - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.keyfile + name: {{ include "common.fullname" . }}-aaf-certs + subPath: org.onap.aai.keyfile + - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.props + name: {{ include "common.fullname" . }}-aaf-properties + subPath: org.onap.aai.props + - mountPath: /opt/app/aai-traversal/resources/aaf/org.osaaf.location.props + name: {{ include "common.fullname" . }}-aaf-properties + subPath: org.osaaf.location.props + - mountPath: /opt/app/aai-traversal/resources/aaf/permissions.properties + name: {{ include "common.fullname" . }}-aaf-properties + subPath: permissions.properties + - mountPath: /opt/app/aai-traversal/resources/cadi.properties + name: {{ include "common.fullname" . }}-aaf-properties + subPath: cadi.properties + - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.p12 + name: {{ include "common.fullname" . }}-aaf-certs + subPath: org.onap.aai.p12 + - mountPath: /opt/app/aai-traversal/resources/aaf/truststoreONAPall.jks + name: {{ include "common.fullname" . }}-aaf-certs + subPath: truststoreONAPall.jks - mountPath: /opt/app/aai-traversal/resources/application.properties name: {{ include "common.fullname" . }}-springapp-conf subPath: application.properties - - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore - name: {{ include "common.fullname" . }}-auth-sec - subPath: aai_keystore + {{ $global := . }} + {{ range $job := .Values.global.config.auth.files }} + - mountPath: /opt/app/aai-traversal/resources/etc/auth/{{ . }} + name: {{ include "common.fullname" $global }}-auth-truststore-sec + subPath: {{ . }} + {{ end }} ports: - containerPort: {{ .Values.service.internalPort }} - containerPort: {{ .Values.service.internalPort2 }} @@ -369,15 +400,26 @@ spec: - name: {{ include "common.fullname" . }}-aaiconfig-conf configMap: name: {{ include "common.fullname" . }}-aaiconfig-configmap + - name: {{ include "common.fullname" . }}-aaf-properties + configMap: + name: {{ include "common.fullname" . }}-aaf-props + - name: {{ include "common.fullname" . }}-aaf-certs + secret: + secretName: {{ include "common.fullname" . }}-aaf-keys - name: {{ include "common.fullname" . }}-springapp-conf configMap: name: {{ include "common.fullname" . }}-springapp-configmap - name: {{ include "common.fullname" . }}-realm-conf configMap: name: {{ include "common.fullname" . }}-realm-configmap - - name: {{ include "common.fullname" . }}-auth-sec + - name: {{ include "common.fullname" . }}-auth-truststore-sec secret: - secretName: aai-auth-secret + secretName: aai-auth-truststore-secret + items: + {{ range $job := .Values.global.config.auth.files }} + - key: {{ . }} + path: {{ . }} + {{ end }} restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aai/charts/aai-traversal/templates/job.yaml b/kubernetes/aai/charts/aai-traversal/templates/job.yaml index 41c26db6e2..a018ede1a3 100644 --- a/kubernetes/aai/charts/aai-traversal/templates/job.yaml +++ b/kubernetes/aai/charts/aai-traversal/templates/job.yaml @@ -13,6 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +{{ if .Values.global.jobs.updateQueryData.enabled }} + apiVersion: batch/v1 kind: Job metadata: @@ -59,9 +61,9 @@ spec: bash -x /opt/app/aai-traversal/docker-entrypoint.sh install/updateQueryData.sh env: - name: LOCAL_USER_ID - value: "1000" + value: {{ .Values.global.config.userId | quote }} - name: LOCAL_GROUP_ID - value: "1000" + value: {{ .Values.global.config.groupId | quote }} volumeMounts: - mountPath: /etc/localtime name: localtime @@ -86,9 +88,12 @@ spec: - mountPath: /opt/app/aai-traversal/resources/application.properties name: {{ include "common.fullname" . }}-springapp-conf subPath: application.properties - - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore - name: {{ include "common.fullname" . }}-auth-sec - subPath: aai_keystore + {{ $global := . }} + {{ range $job := .Values.global.config.auth.files }} + - mountPath: /opt/app/aai-traversal/resources/etc/auth/{{ . }} + name: {{ include "common.fullname" $global }}-auth-truststore-sec + subPath: {{ . }} + {{ end }} # disable liveness probe when breakpoints set in debugger # so K8s doesn't restart unresponsive container volumes: @@ -124,9 +129,15 @@ spec: - name: {{ include "common.fullname" . }}-realm-conf configMap: name: {{ include "common.fullname" . }}-realm-configmap - - name: {{ include "common.fullname" . }}-auth-sec + - name: {{ include "common.fullname" . }}-auth-truststore-sec secret: - secretName: aai-auth-secret + secretName: aai-auth-truststore-secret + items: + {{ range $job := .Values.global.config.auth.files }} + - key: {{ . }} + path: {{ . }} + {{ end }} restartPolicy: OnFailure imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" +{{ end }} diff --git a/kubernetes/aai/charts/aai-traversal/values.yaml b/kubernetes/aai/charts/aai-traversal/values.yaml index d5b4b84d1e..a3410adacc 100644 --- a/kubernetes/aai/charts/aai-traversal/values.yaml +++ b/kubernetes/aai/charts/aai-traversal/values.yaml @@ -23,15 +23,23 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/aai-traversal:1.2.2 +image: onap/aai-traversal:1.3-STAGING-latest pullPolicy: Always restartPolicy: Always # application configuration config: - aaicoreversion: 1.1.0-SNAPSHOT - userId: 1000 - groupId: 1000 + + # Specifies timeout information such as application specific and limits + timeout: + # If set to true application will timeout for queries taking longer than limit + enabled: true + # Specifies which apps (X-FromAppId) header should get overridden and (-1) no timeout + appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1 + # Specifies how long should it wait before timing out the REST request + limit: 180000 + + # Disables the updateQueryData script to run as part of traversal disableUpdateQuery: true persistence: diff --git a/kubernetes/aai/templates/configmap.yaml b/kubernetes/aai/templates/configmap.yaml index 627f8b94c6..bd5f9b91f9 100644 --- a/kubernetes/aai/templates/configmap.yaml +++ b/kubernetes/aai/templates/configmap.yaml @@ -42,10 +42,10 @@ data: apiVersion: v1 kind: Secret metadata: - name: aai-auth-secret + name: aai-auth-truststore-secret namespace: {{ include "common.namespace" . }} type: Opaque data: -{{ tpl (.Files.Glob "resources/config/aai/aai_keystore").AsSecrets . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/aai/*").AsSecrets . | indent 2 }} diff --git a/kubernetes/aai/templates/deployment.yaml b/kubernetes/aai/templates/deployment.yaml index 84f6997639..dc65cef187 100644 --- a/kubernetes/aai/templates/deployment.yaml +++ b/kubernetes/aai/templates/deployment.yaml @@ -31,6 +31,8 @@ spec: app: {{ include "common.name" . }} release: {{ .Release.Name }} name: {{ .Release.Name }} + annotations: + checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }} spec: initContainers: - command: diff --git a/kubernetes/aai/values.yaml b/kubernetes/aai/values.yaml index 0cd7ae315d..99699a0031 100644 --- a/kubernetes/aai/values.yaml +++ b/kubernetes/aai/values.yaml @@ -21,14 +21,19 @@ global: # global defaults repository: nexus3.onap.org:10001 dockerhubRepository: docker.io busyboxImage: busybox + readinessRepository: oomk8s readinessImage: readiness-check:2.0.0 + loggingRepository: docker.elastic.co loggingImage: beats/filebeat:5.5.0 + restartPolicy: Always + cassandra: serviceName: aai-cassandra replicas: 3 + aai: serviceName: aai babel: @@ -51,7 +56,140 @@ global: # global defaults serviceName: aai-search-data traversal: serviceName: aai-traversal + graphadmin: + serviceName: aai-graphadmin + spike: + serviceName: aai-spike + + initContainers: + enabled: true + # Specifies a list of jobs to be run + jobs: + # When enabled, it will create the schema based on oxm and edge rules + createSchema: + enabled: true + # When enabled, it will create the widget models via REST API to haproxy + updateQueryData: + enabled: true + + # Common configuration for resources traversal and graphadmin + config: + # User information for the admin user in container + userId: 1000 + groupId: 1000 + + # Specifies that the cluster connected to a dynamic + # cluster being spinned up by kubernetes deployment + cluster: + cassandra: + dynamic: true + + # If cluster.cassandra.dynamic is set to false + # Then the following configuration should be uncommented + # This is if you are planning to connect to a existing + # Cassandra cluster instead of doing the deployment + #storage: + # backend: cassandra + # hostname: somehost1,somehost2,somehost3 + # connectionTimeout: 100000 + # cacheSize: 1000000 + # clusterName: someClusterName + # localDataCenter: someDataCenter + # keyConsistent: true + # # If backend is cql or cassandra it should be keyspace name + # # else backend is hbase it should be hbase table name + # name: your_hbase_table_or_keyspace_name + + # # CQL driver specific properties for janusgraph + # cql: + # # Name of the Cassandra Cluster + # cluster: someclustername + # readConsistency: QUORUM + # writeConsistency: QUORUM + # replicationFactor: 3 + # localConsistencyForSysOps: true + # # Cassandra driver specific properties for janusgraph + # cassandra: + # # Name of the Cassandra Cluster + # cluster: someclustername + # readConsistency: LOCAL_QUORUM + # writeConsistency: LOCAL_QUORUM + # replicationFactor: 3 + + # Specifies if the basic authorization is enabled + basic: + auth: + enabled: true + username: AAI + passwd: AAI + + # Active spring profiles for the resources microservice + profiles: + active: production,dmaap,one-way-ssl + + # Notification event specific properties + notification: + eventType: AAI-EVENT + domain: dev + + # Schema specific properties that include supported versions of api + schema: + source: + # Specifies which folder to take a look at + name: onap + uri: + # Base URI Path of the application + base: + path: /aai + version: + # Current version of the REST API + api: + default: v14 + # Specifies which version the depth parameter is configurable + depth: v9 + # List of all the supported versions of the API + list: v8,v9,v10,v11,v12,v13,v14 + # Specifies from which version related link should appear + related: + link: v10 + # Specifies from which version the app root change happened + app: + root: v11 + # Specifies from which version the xml namespace changed + namespace: + change: v12 + # Specifies from which version the edge label appeared in API + edge: + label: v12 + + # Keystore configuration password and filename + keystore: + filename: aai_keystore + passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 + + # Truststore configuration password and filename + truststore: + filename: aai_keystore + passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0 + + # Specifies a list of files to be included in auth volume + auth: + files: + - aai_keystore + + # Specifies which clients should always default to realtime graph connection + realtime: + clients: SDNC,MSO,SO,robot-ete + + # Logback debug enabled + logback: + console: + # If enabled, container will print all logback to standard output + # This will make debugging much easier but it should only be done + # when debugging the issue and changed back as it can affect performance + # since when this is enabled, it prints a lot of information to console + enabled: false # application image dockerhubRepository: registry.hub.docker.com @@ -119,4 +257,4 @@ resources: {} # memory: 4Gi # requests: # cpu: 2 -# memory: 4Gi +# memory: 4Gi
\ No newline at end of file diff --git a/kubernetes/appc/charts/appc-ansible-server/templates/configmap.yaml b/kubernetes/appc/charts/appc-ansible-server/templates/configmap.yaml index 1afb957ec9..783c814002 100644 --- a/kubernetes/appc/charts/appc-ansible-server/templates/configmap.yaml +++ b/kubernetes/appc/charts/appc-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/appc/requirements.yaml b/kubernetes/appc/requirements.yaml index 28d64027fa..67e33ba6eb 100644 --- a/kubernetes/appc/requirements.yaml +++ b/kubernetes/appc/requirements.yaml @@ -16,7 +16,7 @@ dependencies: - name: common version: ~2.0.0 repository: '@local' - - name: mysql + - name: mariadb-galera version: ~2.0.0 repository: '@local' - name: dgbuilder diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh index 5f8b869594..b3cf868731 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh @@ -21,7 +21,7 @@ SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk} APPC_HOME=${APPC_HOME:-/opt/onap/appc} -MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}} +MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}} APPC_DB_USER=${APPC_DB_USER:-appcctl} APPC_DB_PASSWD=${APPC_DB_PASSWD:-appcctl} @@ -29,7 +29,7 @@ APPC_DB_DATABASE=${SDN_DB_DATABASE:-appcctl} # Create tablespace and user account -mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END +mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END CREATE DATABASE ${APPC_DB_DATABASE}; CREATE USER '${APPC_DB_USER}'@'localhost' IDENTIFIED BY '${APPC_DB_PASSWD}'; CREATE USER '${APPC_DB_USER}'@'%' IDENTIFIED BY '${APPC_DB_PASSWD}'; @@ -40,16 +40,16 @@ END if [ -f ${APPC_HOME}/data/appcctl.dump ] then - mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} appcctl < ${APPC_HOME}/data/appcctl.dump + mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} appcctl < ${APPC_HOME}/data/appcctl.dump fi if [ -f ${APPC_HOME}/data/sdnctl.dump ] then - mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sdnctl.dump + mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sdnctl.dump fi if [ -f ${APPC_HOME}/data/sqlData.dump ] then - mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sqlData.dump + mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sqlData.dump fi diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh index d304a43f51..3cbee8db5f 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh @@ -54,7 +54,7 @@ ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-admin} SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk} APPC_HOME=${APPC_HOME:-/opt/onap/appc} SLEEP_TIME=${SLEEP_TIME:-120} -MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}} +MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}} ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false} ENABLE_AAF=${ENABLE_AAF:-false} AAF_EXT_IP=${AAF_EXT_IP:-{{.Values.config.aafExtIP}}} @@ -83,13 +83,13 @@ echo "" >> $APPC_HOME/data/properties/appc.properties # # Wait for database to init properly # -echo "Waiting for mysql" -until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null +echo "Waiting for mariadbgalera" +until mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql &> /dev/null do printf "." sleep 1 done -echo -e "\nmysql ready" +echo -e "\nmariadbgalera ready" if [ ! -f ${SDNC_HOME}/.installed ] then diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties index c7feef2b28..47c6788f9f 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties @@ -32,9 +32,9 @@ appc.demo.threads.queuesize.max=1000 appc.demo.threads.poolsize.min=1 appc.demo.threads.poolsize.max=2 appc.demo.provider.user=admin -appc.demo.provider.pass=admin +appc.demo.provider.pass={{.Values.config.odlPassword}} appc.demo.provider.url=http://localhost:8181/restconf/operations/appc-provider -appc.provider.vfodl.url=http://admin:admin@{{.Values.service.name}}:{{.Values.service.externalPort}}/restconf/config/network-topology:network-topology/topology/topology-netconf/node/NODE_NAME/yang-ext:mount/sample-plugin:sample-plugin/pg-streams/ +appc.provider.vfodl.url=http://admin:{{.Values.config.odlPassword}}@{{.Values.service.name}}:{{.Values.service.externalPort}}/restconf/config/network-topology:network-topology/topology/topology-netconf/node/NODE_NAME/yang-ext:mount/sample-plugin:sample-plugin/pg-streams/ # The properties right below are needed to properly call the Master DG to serve demo purposes appc.service.logic.module.name=APPC @@ -42,11 +42,11 @@ appc.topology.dg.method=topology-operation-all appc.topology.dg.version=2.0.0 # TEMP - Properties that might be needed to make the AAI-APPC connection -org.onap.appc.db.url.appcctl=jdbc:mysql://{{.Values.mysql.service.name}}:3306/appcctl +org.onap.appc.db.url.appcctl=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}:3306/appcctl org.onap.appc.db.user.appcctl=appcctl org.onap.appc.db.pass.appcctl=appcctl -org.onap.appc.db.url.sdnctl=jdbc:mysql://{{.Values.mysql.service.name}}:3306/sdnctl +org.onap.appc.db.url.sdnctl=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}:3306/sdnctl org.onap.appc.db.user.sdnctl=sdnctl org.onap.appc.db.pass.sdnctl=gamma @@ -80,7 +80,7 @@ appc.LCM.topic.read=APPC-LCM-READ appc.LCM.topic.write=APPC-LCM-WRITE appc.LCM.client.name=APPC-EVENT-LISTENER-TEST appc.LCM.provider.user=admin -appc.LCM.provider.pass=admin +appc.LCM.provider.pass={{.Values.config.odlPassword}} appc.LCM.provider.url=http://localhost:8181/restconf/operations/appc-provider-lcm appc.LCM.scopeOverlap.endpoint=http://localhost:8181/restconf/operations/interfaces-service:execute-service @@ -88,7 +88,7 @@ appc.LCM.scopeOverlap.endpoint=http://localhost:8181/restconf/operations/interfa poolMembers=message-router.{{.Release.Namespace}}:3904 event.pool.members=message-router.{{.Release.Namespace}}:3904 restconf.user=admin -restconf.pass=admin +restconf.pass={{.Values.config.odlPassword}} # properties found in appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle) @@ -127,4 +127,4 @@ appc.OAM.topic.read=testOAM appc.OAM.topic.write=testOAM appc.OAM.client.name=testOAM appc.OAM.provider.user=admin -appc.OAM.provider.pass=admin +appc.OAM.provider.pass={{.Values.config.odlPassword}} diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties index 6089ae4a95..a5660522af 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties @@ -22,8 +22,8 @@ # dblib.properrties org.onap.ccsdk.sli.dbtype=jdbc -org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01 -org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl +org.onap.ccsdk.sli.jdbc.hosts=dbhost +org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver org.onap.ccsdk.sli.jdbc.database=sdnctl org.onap.ccsdk.sli.jdbc.user=sdnctl diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties index dd6265ca11..5b22ccbba6 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties @@ -21,7 +21,7 @@ org.onap.ccsdk.sli.dbtype = dblib #Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc -org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl +org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl org.onap.ccsdk.sli.jdbc.database=sdnctl org.onap.ccsdk.sli.jdbc.user=sdnctl org.onap.ccsdk.sli.jdbc.password=gamma diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh index e7b1333631..92e8a36f3d 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh @@ -23,7 +23,7 @@ MYSQL_USER=${MYSQL_USER:-sdnctl} MYSQL_PWD=${MYSQL_PWD:-gamma} MYSQL_DB=${MYSQL_DB:-sdnctl} -MYSQL_HOST=${MYSQL_HOST:-{{.Values.mysql.service.name}}.{{.Release.Namespace}}} +MYSQL_HOST=${MYSQL_HOST:-{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}} mysql --user=${MYSQL_USER} --password=${MYSQL_PWD} --host=${MYSQL_HOST} ${MYSQL_DB} <<-END SELECT module, rpc, version, mode from SVC_LOGIC where active='Y'; diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties index adb38d97bd..247e1ac7c6 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties @@ -21,7 +21,7 @@ ### org.onap.ccsdk.sli.dbtype = jdbc -org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl +org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl org.onap.ccsdk.sli.jdbc.database = sdnctl org.onap.ccsdk.sli.jdbc.user = sdnctl org.onap.ccsdk.sli.jdbc.password = gamma diff --git a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh index 8de2af283e..da16d394af 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh @@ -23,7 +23,7 @@ ### SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk} -MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}} +MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}} SDNC_DB_USER=${SDNC_DB_USER:-sdnctl} SDNC_DB_PASSWD=${SDNC_DB_PASSWD:-gamma} @@ -31,7 +31,7 @@ SDNC_DB_DATABASE=${SDN_DB_DATABASE:-sdnctl} # Create tablespace and user account -mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END +mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END CREATE DATABASE ${SDNC_DB_DATABASE}; CREATE USER '${SDNC_DB_USER}'@'localhost' IDENTIFIED BY '${SDNC_DB_PASSWD}'; CREATE USER '${SDNC_DB_USER}'@'%' IDENTIFIED BY '${SDNC_DB_PASSWD}'; @@ -42,6 +42,6 @@ END if [ -f ${SDNC_HOME}/data/odlsli.dump ] then -mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/odlsli.dump +mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/odlsli.dump fi diff --git a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh index 84ad577c32..231fd0a24e 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh @@ -29,18 +29,18 @@ ODL_HOME=${ODL_HOME:-/opt/opendaylight/current} ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc} SLEEP_TIME=${SLEEP_TIME:-120} -MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}} +MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}} # # Wait for database # -echo "Waiting for mysql" -until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null +echo "Waiting for mariadbgalera" +until mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql &> /dev/null do printf "." sleep 1 done -echo -e "\nmysql ready" +echo -e "\nmariadbgalera ready" if [ ! -f ${SDNC_HOME}/.installed ] then diff --git a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties index 2833f82677..6142032642 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties @@ -23,8 +23,8 @@ # dblib.properrties org.onap.ccsdk.sli.dbtype=jdbc -org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01 -org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl +org.onap.ccsdk.sli.jdbc.hosts=dbhost +org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver org.onap.ccsdk.sli.jdbc.database=sdnctl org.onap.ccsdk.sli.jdbc.user=sdnctl diff --git a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties index e4ac685ed4..ed35d5b4d0 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties @@ -22,7 +22,7 @@ org.onap.ccsdk.sli.dbtype = dblib #Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc -org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl +org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl org.onap.ccsdk.sli.jdbc.database=sdnctl org.onap.ccsdk.sli.jdbc.user=sdnctl org.onap.ccsdk.sli.jdbc.password=gamma diff --git a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh index f14c5846a2..698bbb19ed 100755 --- a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh +++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh @@ -23,7 +23,7 @@ MYSQL_USER=${MYSQL_USER:-sdnctl} MYSQL_PWD=${MYSQL_PWD:-gamma} MYSQL_DB=${MYSQL_DB:-sdnctl} -MYSQL_HOST=${MYSQL_HOST:-{{.Values.mysql.service.name}}.{{.Release.Namespace}}} +MYSQL_HOST=${MYSQL_HOST:-{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}} mysql --user=${MYSQL_USER} --password=${MYSQL_PWD} --host=${MYSQL_HOST} ${MYSQL_DB} <<-END SELECT module, rpc, version, mode from SVC_LOGIC where active='Y'; diff --git a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties index fae5b55ad8..914a4a1813 100644 --- a/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties +++ b/kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties @@ -21,7 +21,7 @@ ### org.onap.ccsdk.sli.dbtype = jdbc -org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl +org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl org.onap.ccsdk.sli.jdbc.database = sdnctl org.onap.ccsdk.sli.jdbc.user = sdnctl org.onap.ccsdk.sli.jdbc.password = gamma diff --git a/kubernetes/appc/templates/configmap.yaml b/kubernetes/appc/templates/configmap.yaml index ae36f82568..0ce605d056 100644 --- a/kubernetes/appc/templates/configmap.yaml +++ b/kubernetes/appc/templates/configmap.yaml @@ -17,6 +17,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-sdnc-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/appc/opt/onap/ccsdk/bin/*").AsConfig . | indent 2 }} --- @@ -25,6 +30,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-sdnc-data-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/appc/opt/onap/ccsdk/data/properties/*").AsConfig . | indent 2 }} --- @@ -33,6 +43,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-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/appc/opt/onap/ccsdk/svclogic/bin/*").AsConfig . | indent 2 }} --- @@ -41,6 +56,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config 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/appc/opt/onap/ccsdk/svclogic/config/*").AsConfig . | indent 2 }} --- @@ -49,6 +69,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-appc-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/appc/opt/onap/appc/bin/*").AsConfig . | indent 2 }} --- @@ -57,6 +82,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-appc-data-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/appc/opt/onap/appc/data/properties/*").AsConfig . | indent 2 }} --- @@ -65,6 +95,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-appc-svclogic-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/appc/opt/onap/appc/svclogic/bin/*").AsConfig . | indent 2 }} --- @@ -73,6 +108,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onap-appc-svclogic-config 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/appc/opt/onap/appc/svclogic/config/*").AsConfig . | indent 2 }} --- @@ -81,6 +121,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-filebeat 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 }} --- @@ -89,5 +134,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-logging-cfg 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 }} diff --git a/kubernetes/appc/templates/pv.yaml b/kubernetes/appc/templates/pv.yaml index 10214097e3..25257eaeaf 100644 --- a/kubernetes/appc/templates/pv.yaml +++ b/kubernetes/appc/templates/pv.yaml @@ -13,118 +13,29 @@ # # See the License for the specific language governing permissions and # # limitations under the License. */}} -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} -{{ $pvNum := default 1 .Values.replicaCount | int }} +{{- $global := . }} +{{- if and $global.Values.persistence.enabled (not $global.Values.persistence.existingClaim) -}} +{{- range $i, $t := until (int $global.Values.replicaCount)}} kind: PersistentVolume apiVersion: v1 metadata: - name: {{ include "common.fullname" . }}-data0 - namespace: {{ include "common.namespace" . }} + name: {{ include "common.fullname" $global }}-data{{$i}} + namespace: {{ include "common.namespace" $global }} labels: - app: {{ include "common.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} + app: {{ include "common.fullname" $global }} + chart: "{{ $global.Chart.Name }}-{{ $global.Chart.Version | replace "+" "_" }}" + release: "{{ $global.Release.Name }}" + heritage: "{{ $global.Release.Service }}" + name: {{ include "common.fullname" $global }} spec: capacity: - storage: {{ .Values.persistence.size}} + storage: {{ $global.Values.persistence.size}} accessModes: - - {{ .Values.persistence.accessMode }} - storageClassName: "{{ include "common.fullname" . }}-data" - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} + - {{ $global.Values.persistence.accessMode }} + storageClassName: "{{ include "common.fullname" $global }}-data" + persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }} hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}0 -{{ if gt $pvNum 1 }} + path: {{ $global.Values.global.persistence.mountPath | default $global.Values.persistence.mountPath }}/{{ $global.Release.Name }}/{{ $global.Values.persistence.mountSubPath }}{{$i}} --- -kind: PersistentVolume -apiVersion: v1 -metadata: - name: {{ include "common.fullname" . }}-data1 - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} -spec: - capacity: - storage: {{ .Values.persistence.size}} - accessModes: - - {{ .Values.persistence.accessMode }} - storageClassName: "{{ include "common.fullname" . }}-data" - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} - hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}1 -{{ end }} -{{ if gt $pvNum 2 }} ---- -kind: PersistentVolume -apiVersion: v1 -metadata: - name: {{ include "common.fullname" . }}-data2 - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} -spec: - capacity: - storage: {{ .Values.persistence.size}} - accessModes: - - {{ .Values.persistence.accessMode }} - storageClassName: "{{ include "common.fullname" . }}-data" - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} - hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}2 -{{ end }} -{{ if gt $pvNum 3 }} ---- -kind: PersistentVolume -apiVersion: v1 -metadata: - name: {{ include "common.fullname" . }}-data3 - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} -spec: - capacity: - storage: {{ .Values.persistence.size}} - accessModes: - - {{ .Values.persistence.accessMode }} - storageClassName: "{{ include "common.fullname" . }}-data" - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} - hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}3 -{{ end }} -{{ if gt $pvNum 4 }} ---- -kind: PersistentVolume -apiVersion: v1 -metadata: - name: {{ include "common.fullname" . }}-data4 - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.fullname" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} -spec: - capacity: - storage: {{ .Values.persistence.size}} - accessModes: - - {{ .Values.persistence.accessMode }} - storageClassName: "{{ include "common.fullname" . }}-data" - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} - hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}4 -{{ end }} +{{- end -}} {{- end -}} diff --git a/kubernetes/appc/templates/secrets.yaml b/kubernetes/appc/templates/secrets.yaml index d2dbdef7dc..57311a0077 100644 --- a/kubernetes/appc/templates/secrets.yaml +++ b/kubernetes/appc/templates/secrets.yaml @@ -24,4 +24,4 @@ metadata: heritage: {{ .Release.Service }} type: Opaque data: - db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }} + db-root-password: {{ .Values.config.mariadbRootPassword | b64enc | quote }} diff --git a/kubernetes/appc/templates/statefulset.yaml b/kubernetes/appc/templates/statefulset.yaml index 6dde017e2e..32ff95241b 100644 --- a/kubernetes/appc/templates/statefulset.yaml +++ b/kubernetes/appc/templates/statefulset.yaml @@ -39,7 +39,7 @@ spec: - /root/ready.py args: - --container-name - - {{ .Values.mysql.nameOverride }} + - {{.Values.config.mariadbGaleraContName}} env: - name: NAMESPACE valueFrom: diff --git a/kubernetes/appc/values.yaml b/kubernetes/appc/values.yaml index a972533117..0325275e89 100644 --- a/kubernetes/appc/values.yaml +++ b/kubernetes/appc/values.yaml @@ -42,13 +42,19 @@ config: aafExtFQDN: aaf-onap-beijing-test.osaaf.org ansibleServiceName: appc-ansible-server ansiblePort: 8000 - dbRootPassword: openECOMP1.0 + mariadbRootPassword: secretpassword + userName: my-user + userPassword: my-password + mysqlDatabase: my-database + mariadbGaleraSVCName: appc-dbhost + mariadbGaleraContName: appc-db enableAAF: false enableClustering: true configDir: /opt/onap/appc/data/properties dmaapTopic: SUCCESS logstashServiceName: log-ls logstashPort: 5044 + odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U openStackType: OpenStackProvider openStackName: OpenStack openStackKeyStoneUrl: http://localhost:8181/apidoc/explorer/index.html @@ -64,10 +70,11 @@ appc-ansible-server: config: mysqlServiceName: appc-dbhost -mysql: +mariadb-galera: nameOverride: appc-db service: name: appc-dbhost + portName: appc-dbhost nfsprovisionerPrefix: appc sdnctlPrefix: appc persistence: diff --git a/kubernetes/cli/templates/deployment.yaml b/kubernetes/cli/templates/deployment.yaml index 09e0e7f167..94d475bcb5 100644 --- a/kubernetes/cli/templates/deployment.yaml +++ b/kubernetes/cli/templates/deployment.yaml @@ -55,7 +55,7 @@ spec: - name: OPEN_CLI_MODE value: "{{ .Values.config.climode }}" resources: -{{ toYaml .Values.resources | indent 12 }} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} diff --git a/kubernetes/cli/values.yaml b/kubernetes/cli/values.yaml index 6bfd793979..5766c810e4 100644 --- a/kubernetes/cli/values.yaml +++ b/kubernetes/cli/values.yaml @@ -19,7 +19,6 @@ global: nodePortPrefix: 302 readinessRepository: oomk8s readinessImage: readiness-check:2.0.0 - ################################################################# # Application configuration defaults. ################################################################# @@ -27,6 +26,7 @@ global: repository: nexus3.onap.org:10001 image: onap/cli:2.0.2 pullPolicy: Always +flavor: small # application configuration config: diff --git a/kubernetes/common/mariadb-galera/templates/pv.yaml b/kubernetes/common/mariadb-galera/templates/pv.yaml index 184728f8ad..a2096fdef3 100644 --- a/kubernetes/common/mariadb-galera/templates/pv.yaml +++ b/kubernetes/common/mariadb-galera/templates/pv.yaml @@ -13,25 +13,29 @@ # See the License for the specific language governing permissions and # limitations under the License. */}} - -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}} +{{- $global := . }} +{{- if and $global.Values.persistence.enabled (not $global.Values.persistence.existingClaim) -}} +{{- range $i, $t := until (int $global.Values.replicaCount)}} kind: PersistentVolume apiVersion: v1 metadata: - name: {{ include "common.fullname" . }} - namespace: {{ include "common.namespace" . }} + name: {{ include "common.fullname" $global }}-data{{$i}} + namespace: {{ include "common.namespace" $global }} labels: - app: {{ include "common.name" . }} - chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}" - release: "{{ .Release.Name }}" - heritage: "{{ .Release.Service }}" - name: {{ include "common.fullname" . }} + app: {{ include "common.fullname" $global }} + chart: "{{ $global.Chart.Name }}-{{ $global.Chart.Version | replace "+" "_" }}" + release: "{{ $global.Release.Name }}" + heritage: "{{ $global.Release.Service }}" + name: {{ include "common.fullname" $global }} spec: capacity: - storage: {{ .Values.persistence.size}} + storage: {{ $global.Values.persistence.size}} accessModes: - - {{ .Values.persistence.accessMode }} - persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }} + - {{ $global.Values.persistence.accessMode }} + persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }} + storageClassName: "{{ include "common.fullname" $global }}-data" hostPath: - path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }} + path: {{ $global.Values.global.persistence.mountPath | default $global.Values.persistence.mountPath }}/{{ $global.Release.Name }}/{{ $global.Values.persistence.mountSubPath }}{{$i}} +--- +{{- end -}} {{- end -}} diff --git a/kubernetes/common/mariadb-galera/templates/service.yaml b/kubernetes/common/mariadb-galera/templates/service.yaml index a025441a44..ae11a26629 100644 --- a/kubernetes/common/mariadb-galera/templates/service.yaml +++ b/kubernetes/common/mariadb-galera/templates/service.yaml @@ -17,7 +17,8 @@ kind: Service metadata: annotations: service.alpha.kubernetes.io/tolerate-unready-endpoints: "true" - name: {{ include "common.servicename" . }} +# name: {{ include "common.servicename" . }} + name: {{ .Values.service.name }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.fullname" . }} diff --git a/kubernetes/common/mariadb-galera/templates/statefulset.yaml b/kubernetes/common/mariadb-galera/templates/statefulset.yaml index 5f96ee658e..8b2aafbd49 100644 --- a/kubernetes/common/mariadb-galera/templates/statefulset.yaml +++ b/kubernetes/common/mariadb-galera/templates/statefulset.yaml @@ -23,7 +23,7 @@ metadata: release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" spec: - serviceName: {{ include "common.fullname" . }} + serviceName: {{ .Values.service.name }} replicas: {{ .Values.replicaCount }} template: metadata: @@ -48,7 +48,7 @@ spec: imagePullSecrets: - name: {{ include "common.namespace" . }}-docker-registry-key containers: - - name: {{ include "common.fullname" . }} + - name: {{ include "common.name" . }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy | quote}} env: @@ -73,13 +73,13 @@ spec: key: db-root-password ports: - containerPort: {{ .Values.service.internalPort }} - name: {{ .Values.service.name }} + name: {{ .Values.service.portName }} - containerPort: {{ .Values.service.sstPort }} - name: {{ .Values.service.sstName }} + name: {{ .Values.service.sstPortName }} - containerPort: {{ .Values.service.replicationPort }} name: {{ .Values.service.replicationName }} - containerPort: {{ .Values.service.istPort }} - name: {{ .Values.service.istName }} + name: {{ .Values.service.istPortName }} readinessProbe: exec: command: @@ -107,7 +107,6 @@ spec: {{- if .Values.persistence.enabled }} - mountPath: /var/lib/mysql name: {{ include "common.fullname" . }}-data - subPath: data initContainers: - name: mariadb-galera-prepare image: "{{ include "common.repository" . }}/{{ .Values.imageInit }}" @@ -118,15 +117,12 @@ spec: volumeClaimTemplates: - metadata: name: {{ include "common.fullname" . }}-data - annotations: - {{- if .Values.persistence.storageClass }} - volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }} - {{- else }} - volume.alpha.kubernetes.io/storage-class: default - {{- end }} + labels: + name: {{ include "common.fullname" . }} spec: accessModes: - {{ .Values.persistence.accessMode | quote }} + storageClassName: {{ include "common.fullname" . }}-data resources: requests: storage: {{ .Values.persistence.size | quote }} diff --git a/kubernetes/common/mariadb-galera/values.yaml b/kubernetes/common/mariadb-galera/values.yaml index b2ff4c0d4a..51f446fd68 100644 --- a/kubernetes/common/mariadb-galera/values.yaml +++ b/kubernetes/common/mariadb-galera/values.yaml @@ -60,7 +60,7 @@ readiness: ## Persist data to a persitent volume persistence: - enabled: false + enabled: true ## A manually managed Persistent Volume and Claim ## Requires persistence.enabled: true @@ -76,20 +76,22 @@ persistence: ## GKE, AWS & OpenStack) ## # storageClass: "-" - accessMode: ReadWriteOnce + accessMode: ReadWriteMany size: 2Gi - + mountPath: /dockerdata-nfs + mountSubPath: "mariadb-galera/data" + mysqlPath: /var/lib/mysql service: internalPort: 3306 name: mariadb-galera portName: mariadb-galera sstPort: 4444 - sstName: sst + sstPortName: sst replicationPort: 4567 replicationName: replication istPort: 4568 - istName: ist + istPortName: ist ingress: enabled: false diff --git a/kubernetes/vnfsdk/charts/vnfsdk-postgres/Chart.yaml b/kubernetes/common/pgpool/Chart.yaml index db7201d7c6..d4f7c50f3a 100644 --- a/kubernetes/vnfsdk/charts/vnfsdk-postgres/Chart.yaml +++ b/kubernetes/common/pgpool/Chart.yaml @@ -1,4 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada +# 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. @@ -13,6 +13,6 @@ # limitations under the License. apiVersion: v1 -description: ONAP VNFSDK Postgres Database -name: vnfsdk-postgres +description: ONAP Postgres Server +name: pgpool version: 2.0.0 diff --git a/kubernetes/common/pgpool/configs/pgpool.conf b/kubernetes/common/pgpool/configs/pgpool.conf new file mode 100644 index 0000000000..9dd979ac6b --- /dev/null +++ b/kubernetes/common/pgpool/configs/pgpool.conf @@ -0,0 +1,677 @@ +# ---------------------------- +# pgPool-II configuration file a custom version +# ---------------------------- +# +# This file consists of lines of the form: +# +# name = value +# +# Whitespace may be used. Comments are introduced with "#" anywhere on a line. +# The complete list of parameter names and allowed values can be found in the +# pgPool-II documentation. +# +# This file is read on server startup and when the server receives a SIGHUP +# signal. If you edit the file on a running system, you have to SIGHUP the +# server for the changes to take effect, or use "pgpool reload". Some +# parameters, which are marked below, require a server shutdown and restart to +# take effect. +# + + +#------------------------------------------------------------------------------ +# CONNECTIONS +#------------------------------------------------------------------------------ + +# - pgpool Connection Settings - + +listen_addresses = '*' + # Host name or IP address to listen on: + # '*' for all, '' for no TCP/IP connections + # (change requires restart) +#port = 9999 +port = 5432 + # Port number + # (change requires restart) +socket_dir = '/tmp' + # Unix domain socket path + # The Debian package defaults to + # /var/run/postgresql + # (change requires restart) + + +# - pgpool Communication Manager Connection Settings - + +pcp_port = 9898 + # Port number for pcp + # (change requires restart) +pcp_socket_dir = '/tmp' + # Unix domain socket path for pcp + # The Debian package defaults to + # /var/run/postgresql + # (change requires restart) + +# - Backend Connection Settings - + +backend_hostname0 = '{{.Values.container.primary}}' +backend_port0 = 5432 +backend_weight0= 1 +backend_flag0= 'DISALLOW_TO_FAILOVER' + +backend_hostname1 = '{{.Values.container.replica}}' +backend_port1 = 5432 +backend_weight1= 1 +backend_flag1= 'DISALLOW_TO_FAILOVER' + +#backend_hostname0 = 'master' + # Host name or IP address to connect to for backend 0 +#backend_port0 = 5432 + # Port number for backend 0 +#backend_weight0 = 1 + # Weight for backend 0 (only in load balancing mode) +#backend_data_directory0 = '/data' + # Data directory for backend 0 +#backend_flag0 = 'ALLOW_TO_FAILOVER' + # Controls various backend behavior + # ALLOW_TO_FAILOVER or DISALLOW_TO_FAILOVER +#backend_hostname1 = 'standby' +#backend_port1 = 5432 +#backend_weight1 = 1 +#backend_data_directory1 = '/data1' +#backend_flag1 = 'ALLOW_TO_FAILOVER' + +# - Authentication - + +enable_pool_hba = on + # Use pool_hba.conf for client authentication +pool_passwd = 'pool_passwd' + # File name of pool_passwd for md5 authentication. + # "" disables pool_passwd. + # (change requires restart) +authentication_timeout = 60 + # Delay in seconds to complete client authentication + # 0 means no timeout. + +# - SSL Connections - + +ssl = off + # Enable SSL support + # (change requires restart) +#ssl_key = './server.key' + # Path to the SSL private key file + # (change requires restart) +#ssl_cert = './server.cert' + # Path to the SSL public certificate file + # (change requires restart) +#ssl_ca_cert = '' + # Path to a single PEM format file + # containing CA root certificate(s) + # (change requires restart) +#ssl_ca_cert_dir = '' + # Directory containing CA root certificate(s) + # (change requires restart) + + +#------------------------------------------------------------------------------ +# POOLS +#------------------------------------------------------------------------------ + +# - Pool size - + +num_init_children = 5 + # Number of pools + # (change requires restart) +max_pool = 1 + # Number of connections per pool + # (change requires restart) + +# - Life time - + +child_life_time = 300 + # Pool exits after being idle for this many seconds +child_max_connections = 0 + # Pool exits after receiving that many connections + # 0 means no exit +connection_life_time = 0 + # Connection to backend closes after being idle for this many seconds + # 0 means no close +client_idle_limit = 0 + # Client is disconnected after being idle for that many seconds + # (even inside an explicit transactions!) + # 0 means no disconnection + + +#------------------------------------------------------------------------------ +# LOGS +#------------------------------------------------------------------------------ + +# - Where to log - + +log_destination = 'stderr' + # Where to log + # Valid values are combinations of stderr, + # and syslog. Default to stderr. + +# - What to log - + +print_timestamp = on + # Print timestamp on each line + # (change requires restart) + +log_connections = on + # Log connections +log_hostname = on + # Hostname will be shown in ps status + # and in logs if connections are logged +log_statement = on + # Log all statements +log_per_node_statement = off + # Log all statements + # with node and backend informations +log_standby_delay = 'if_over_threshold' + # Log standby delay + # Valid values are combinations of always, + # if_over_threshold, none + +# - Syslog specific - + +syslog_facility = 'LOCAL0' + # Syslog local facility. Default to LOCAL0 +syslog_ident = 'pgpool' + # Syslog program identification string + # Default to 'pgpool' + +# - Debug - + +debug_level = 1 + # Debug message verbosity level + # 0 means no message, 1 or more mean verbose + + +#------------------------------------------------------------------------------ +# FILE LOCATIONS +#------------------------------------------------------------------------------ + +pid_file_name = '/tmp/pgpool.pid' + # PID file name + # (change requires restart) +logdir = '/tmp' + # Directory of pgPool status file + # (change requires restart) + + +#------------------------------------------------------------------------------ +# CONNECTION POOLING +#------------------------------------------------------------------------------ + +connection_cache = off + # Activate connection pools + # (change requires restart) + + # Semicolon separated list of queries + # to be issued at the end of a session + # The default is for 8.3 and later +reset_query_list = 'ABORT; DISCARD ALL' + # The following one is for 8.2 and before +#reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT' + + +#------------------------------------------------------------------------------ +# REPLICATION MODE +#------------------------------------------------------------------------------ + +replication_mode = off + # Activate replication mode + # (change requires restart) +replicate_select = off + # Replicate SELECT statements + # when in replication or parallel mode + # replicate_select is higher priority than + # load_balance_mode. + +insert_lock = off + # Automatically locks a dummy row or a table + # with INSERT statements to keep SERIAL data + # consistency + # Without SERIAL, no lock will be issued +lobj_lock_table = '' + # When rewriting lo_creat command in + # replication mode, specify table name to + # lock + +# - Degenerate handling - + +replication_stop_on_mismatch = off + # On disagreement with the packet kind + # sent from backend, degenerate the node + # which is most likely "minority" + # If off, just force to exit this session + +failover_if_affected_tuples_mismatch = off + # On disagreement with the number of affected + # tuples in UPDATE/DELETE queries, then + # degenerate the node which is most likely + # "minority". + # If off, just abort the transaction to + # keep the consistency + + +#------------------------------------------------------------------------------ +# LOAD BALANCING MODE +#------------------------------------------------------------------------------ + +load_balance_mode = off + # Activate load balancing mode + # (change requires restart) +ignore_leading_white_space = on + # Ignore leading white spaces of each query +white_function_list = '' + # Comma separated list of function names + # that don't write to database + # Regexp are accepted +black_function_list = 'currval,lastval,nextval,setval' + # Comma separated list of function names + # that write to database + # Regexp are accepted + + +#------------------------------------------------------------------------------ +# MASTER/SLAVE MODE +#------------------------------------------------------------------------------ + +master_slave_mode = on + # Activate master/slave mode + # (change requires restart) +master_slave_sub_mode = 'stream' + # Master/slave sub mode + # Valid values are combinations slony or + # stream. Default is slony. + # (change requires restart) + +# - Streaming - + +sr_check_period = 10 + # Streaming replication check period + # Disabled (0) by default +sr_check_user = '{{.Values.credentials.pgusername}}' + # Streaming replication check user + # This is neccessary even if you disable streaming + # replication delay check by sr_check_period = 0 +sr_check_password = '{{.Values.credentials.pgpassword}}' + # Password for streaming replication check user +delay_threshold = 10000000 + # Threshold before not dispatching query to standby node + # Unit is in bytes + # Disabled (0) by default + +# - Special commands - + +follow_master_command = '' + # Executes this command after master failover + # Special values: + # %d = node id + # %h = host name + # %p = port number + # %D = database cluster path + # %m = new master node id + # %H = hostname of the new master node + # %M = old master node id + # %P = old primary node id + # %r = new master port number + # %R = new master database cluster path + # %% = '%' character + + +#------------------------------------------------------------------------------ +# PARALLEL MODE +#------------------------------------------------------------------------------ + +parallel_mode = off + # Activates parallel query mode + # (change requires restart) +pgpool2_hostname = '' + # Set pgpool2 hostname + # (change requires restart) + +# - System DB info - + +#system_db_hostname = 'localhost' + # (change requires restart) +#system_db_port = 5432 + # (change requires restart) +#system_db_dbname = 'pgpool' + # (change requires restart) +#system_db_schema = 'pgpool_catalog' + # (change requires restart) +#system_db_user = 'pgpool' + # (change requires restart) +#system_db_password = '' + # (change requires restart) + + +#------------------------------------------------------------------------------ +# HEALTH CHECK +#------------------------------------------------------------------------------ + +health_check_period = 20 + # Health check period + # Disabled (0) by default +health_check_timeout = 10 + # Health check timeout + # 0 means no timeout +health_check_user = '{{.Values.credentials.pguser}}' + # Health check user +health_check_password = '{{.Values.credentials.pgpassword}}' + # Password for health check user +health_check_max_retries = 3 +connect_timeout = 10000 # Timeout value in milliseconds before giving up to connect to backend. + + # Maximum number of times to retry a failed health check before giving up. +health_check_retry_delay = 1 + # Amount of time to wait (in seconds) between retries. + + +#------------------------------------------------------------------------------ +# FAILOVER AND FAILBACK +#------------------------------------------------------------------------------ + +failover_command = '' + # Executes this command at failover + # Special values: + # %d = node id + # %h = host name + # %p = port number + # %D = database cluster path + # %m = new master node id + # %H = hostname of the new master node + # %M = old master node id + # %P = old primary node id + # %r = new master port number + # %R = new master database cluster path + # %% = '%' character +failback_command = '' + # Executes this command at failback. + # Special values: + # %d = node id + # %h = host name + # %p = port number + # %D = database cluster path + # %m = new master node id + # %H = hostname of the new master node + # %M = old master node id + # %P = old primary node id + # %r = new master port number + # %R = new master database cluster path + # %% = '%' character + +fail_over_on_backend_error = off + # Initiates failover when reading/writing to the + # backend communication socket fails + # If set to off, pgpool will report an + # error and disconnect the session. + +search_primary_node_timeout = 10 + # Timeout in seconds to search for the + # primary node when a failover occurs. + # 0 means no timeout, keep searching + # for a primary node forever. + +#------------------------------------------------------------------------------ +# ONLINE RECOVERY +#------------------------------------------------------------------------------ + +recovery_user = '{{.Values.credentials.pguser}}' + # Online recovery user +recovery_password = '{{.Values.credentials.pgpassword}}' + # Online recovery password +recovery_1st_stage_command = '' + # Executes a command in first stage +recovery_2nd_stage_command = '' + # Executes a command in second stage +recovery_timeout = 90 + # Timeout in seconds to wait for the + # recovering node's postmaster to start up + # 0 means no wait +client_idle_limit_in_recovery = 0 + # Client is disconnected after being idle + # for that many seconds in the second stage + # of online recovery + # 0 means no disconnection + # -1 means immediate disconnection + + +#------------------------------------------------------------------------------ +# WATCHDOG +#------------------------------------------------------------------------------ + +# - Enabling - + +use_watchdog = off + # Activates watchdog + # (change requires restart) + +# -Connection to up stream servers - + +trusted_servers = '' + # trusted server list which are used + # to confirm network connection + # (hostA,hostB,hostC,...) + # (change requires restart) +ping_path = '/bin' + # ping command path + # (change requires restart) + +# - Watchdog communication Settings - + +wd_hostname = '' + # Host name or IP address of this watchdog + # (change requires restart) +wd_port = 9000 + # port number for watchdog service + # (change requires restart) +wd_authkey = '' + # Authentication key for watchdog communication + # (change requires restart) + +# - Virtual IP control Setting - + +delegate_IP = '' + # delegate IP address + # If this is empty, virtual IP never bring up. + # (change requires restart) +ifconfig_path = '/sbin' + # ifconfig command path + # (change requires restart) +if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0' + # startup delegate IP command + # (change requires restart) +if_down_cmd = 'ifconfig eth0:0 down' + # shutdown delegate IP command + # (change requires restart) + +arping_path = '/usr/sbin' # arping command path + # (change requires restart) + +arping_cmd = 'arping -U $_IP_$ -w 1' + # arping command + # (change requires restart) + +# - Behaivor on escalation Setting - + +clear_memqcache_on_escalation = on + # Clear all the query cache on shared memory + # when standby pgpool escalate to active pgpool + # (= virtual IP holder). + # This should be off if client connects to pgpool + # not using virtual IP. + # (change requires restart) +wd_escalation_command = '' + # Executes this command at escalation on new active pgpool. + # (change requires restart) + +# - Lifecheck Setting - + +# -- common -- + +wd_lifecheck_method = 'heartbeat' + # Method of watchdog lifecheck ('heartbeat' or 'query') + # (change requires restart) +wd_interval = 10 + # lifecheck interval (sec) > 0 + # (change requires restart) + +# -- heartbeat mode -- + +wd_heartbeat_port = 9694 + # Port number for receiving heartbeat signal + # (change requires restart) +wd_heartbeat_keepalive = 2 + # Interval time of sending heartbeat signal (sec) + # (change requires restart) +wd_heartbeat_deadtime = 30 + # Deadtime interval for heartbeat signal (sec) + # (change requires restart) +heartbeat_destination0 = 'host0_ip1' + # Host name or IP address of destination 0 + # for sending heartbeat signal. + # (change requires restart) +heartbeat_destination_port0 = 9694 + # Port number of destination 0 for sending + # heartbeat signal. Usually this is the + # same as wd_heartbeat_port. + # (change requires restart) +heartbeat_device0 = '' + # Name of NIC device (such like 'eth0') + # used for sending/receiving heartbeat + # signal to/from destination 0. + # This works only when this is not empty + # and pgpool has root privilege. + # (change requires restart) + +#heartbeat_destination1 = 'host0_ip2' +#heartbeat_destination_port1 = 9694 +#heartbeat_device1 = '' + +# -- query mode -- + +wd_life_point = 3 + # lifecheck retry times + # (change requires restart) +wd_lifecheck_query = 'SELECT 1' + # lifecheck query to pgpool from watchdog + # (change requires restart) +wd_lifecheck_dbname = 'template1' + # Database name connected for lifecheck + # (change requires restart) +wd_lifecheck_user = 'nobody' + # watchdog user monitoring pgpools in lifecheck + # (change requires restart) +wd_lifecheck_password = '' + # Password for watchdog user in lifecheck + # (change requires restart) + +# - Other pgpool Connection Settings - + +#other_pgpool_hostname0 = 'host0' + # Host name or IP address to connect to for other pgpool 0 + # (change requires restart) +#other_pgpool_port0 = 5432 + # Port number for othet pgpool 0 + # (change requires restart) +#other_wd_port0 = 9000 + # Port number for othet watchdog 0 + # (change requires restart) +#other_pgpool_hostname1 = 'host1' +#other_pgpool_port1 = 5432 +#other_wd_port1 = 9000 + + +#------------------------------------------------------------------------------ +# OTHERS +#------------------------------------------------------------------------------ +relcache_expire = 0 + # Life time of relation cache in seconds. + # 0 means no cache expiration(the default). + # The relation cache is used for cache the + # query result against PostgreSQL system + # catalog to obtain various information + # including table structures or if it's a + # temporary table or not. The cache is + # maintained in a pgpool child local memory + # and being kept as long as it survives. + # If someone modify the table by using + # ALTER TABLE or some such, the relcache is + # not consistent anymore. + # For this purpose, cache_expiration + # controls the life time of the cache. +relcache_size = 256 + # Number of relation cache + # entry. If you see frequently: + # "pool_search_relcache: cache replacement happend" + # in the pgpool log, you might want to increate this number. + +check_temp_table = on + # If on, enable temporary table check in SELECT statements. + # This initiates queries against system catalog of primary/master + # thus increases load of master. + # If you are absolutely sure that your system never uses temporary tables + # and you want to save access to primary/master, you could turn this off. + # Default is on. + + +#------------------------------------------------------------------------------ +# ON MEMORY QUERY MEMORY CACHE +#------------------------------------------------------------------------------ +memory_cache_enabled = off + # If on, use the memory cache functionality, off by default +memqcache_method = 'shmem' + # Cache storage method. either 'shmem'(shared memory) or + # 'memcached'. 'shmem' by default + # (change requires restart) +memqcache_memcached_host = 'localhost' + # Memcached host name or IP address. Mandatory if + # memqcache_method = 'memcached'. + # Defaults to localhost. + # (change requires restart) +memqcache_memcached_port = 11211 + # Memcached port number. Mondatory if memqcache_method = 'memcached'. + # Defaults to 11211. + # (change requires restart) +memqcache_total_size = 67108864 + # Total memory size in bytes for storing memory cache. + # Mandatory if memqcache_method = 'shmem'. + # Defaults to 64MB. + # (change requires restart) +memqcache_max_num_cache = 1000000 + # Total number of cache entries. Mandatory + # if memqcache_method = 'shmem'. + # Each cache entry consumes 48 bytes on shared memory. + # Defaults to 1,000,000(45.8MB). + # (change requires restart) +memqcache_expire = 0 + # Memory cache entry life time specified in seconds. + # 0 means infinite life time. 0 by default. + # (change requires restart) +memqcache_auto_cache_invalidation = on + # If on, invalidation of query cache is triggered by corresponding + # DDL/DML/DCL(and memqcache_expire). If off, it is only triggered + # by memqcache_expire. on by default. + # (change requires restart) +memqcache_maxcache = 409600 + # Maximum SELECT result size in bytes. + # Must be smaller than memqcache_cache_block_size. Defaults to 400KB. + # (change requires restart) +memqcache_cache_block_size = 1048576 + # Cache block size in bytes. Mandatory if memqcache_method = 'shmem'. + # Defaults to 1MB. + # (change requires restart) +memqcache_oiddir = '/var/log/pgpool/oiddir' + # Temporary work directory to record table oids + # (change requires restart) +white_memqcache_table_list = '' + # Comma separated list of table names to memcache + # that don't write to database + # Regexp are accepted +black_memqcache_table_list = '' + # Comma separated list of table names not to memcache + # that don't write to database + # Regexp are accepted diff --git a/kubernetes/common/pgpool/configs/pool_hba.conf b/kubernetes/common/pgpool/configs/pool_hba.conf new file mode 100644 index 0000000000..d8918409e8 --- /dev/null +++ b/kubernetes/common/pgpool/configs/pool_hba.conf @@ -0,0 +1,67 @@ +# pgpool Client Authentication Configuration File a custom version +# =============================================== +# +# The format rule in this file follows the rules in the PostgreSQL +# Administrator's Guide. Refer to chapter "Client Authentication" for a +# complete description. A short synopsis follows. +# +# This file controls: which hosts are allowed to connect, how clients +# are authenticated, which user names they can use, which databases they +# can access. Records take one of these forms: +# +# local DATABASE USER METHOD [OPTION] +# host DATABASE USER CIDR-ADDRESS METHOD [OPTION] +# +# (The uppercase items must be replaced by actual values.) +# +# The first field is the connection type: "local" is a Unix-domain +# socket, "host" is either a plain or SSL-encrypted TCP/IP socket. +# +# DATABASE can be "all", "sameuser", a database name, or a comma-separated +# list thereof. Note that "samegroup" like in PostgreSQL's pg_hba.conf +# file is not supported, since pgpool does not know which group a user +# belongs to. Also note that the database specified here may not exist in +# the backend PostgreSQL. pgpool will authenticate based on the database's +# name, not based on whether it exists or not. +# +# USER can be "all", a user name, or a comma-separated list thereof. In +# both the DATABASE and USER fields you can also write a file name prefixed +# with "@" to include names from a separate file. Note that a group name +# prefixed with "+" like in PostgreSQL's pg_hba.conf file is not supported +# because of the same reason as "samegroup" token. Also note that a user +# name specified here may not exist in the backend PostgreSQL. pgpool will +# authenticate based on the user's name, not based on whether he/she exists. +# +# CIDR-ADDRESS specifies the set of hosts the record matches. +# It is made up of an IP address and a CIDR mask that is an integer +# (between 0 and 32 (IPv4) that specifies the number of significant bits in +# the mask. Alternatively, you can write an IP address and netmask in +# separate columns to specify the set of hosts. +# +# METHOD can be "trust", "reject", "md5" or "pam". Note that "pam" sends passwords +# in clear text. +# +# OPTION is the name of the PAM service. Default service name is "pgpool" +# +# Database and user names containing spaces, commas, quotes and other special +# characters must be quoted. Quoting one of the keywords "all" or "sameuser" +# makes the name lose its special character, and just match a database or +# username with that name. +# +# This file is read on pgpool startup. If you edit the file on a running +# system, you have to restart the pgpool for the changes to take effect. + +# Put your actual configuration here +# ---------------------------------- +# +# If you want to allow non-local connections, you need to add more +# "host" records. In that case you will also need to make pgpool listen +# on a non-local interface via the listen_addresses configuration parameter. +# + +# TYPE DATABASE USER CIDR-ADDRESS METHOD + +# "local" is for Unix domain socket connections only +#local all all trust +# IPv4 local connections: +host all all 0.0.0.0/0 md5 diff --git a/kubernetes/common/pgpool/configs/pool_passwd b/kubernetes/common/pgpool/configs/pool_passwd new file mode 100644 index 0000000000..d8e09a2afa --- /dev/null +++ b/kubernetes/common/pgpool/configs/pool_passwd @@ -0,0 +1 @@ +testuser:md599e8713364988502fa6189781bcf648f diff --git a/kubernetes/common/pgpool/requirements.yaml b/kubernetes/common/pgpool/requirements.yaml new file mode 100644 index 0000000000..e597fca563 --- /dev/null +++ b/kubernetes/common/pgpool/requirements.yaml @@ -0,0 +1,18 @@ +# 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. + +dependencies: + - name: common + version: ~2.0.0 + repository: '@local' diff --git a/kubernetes/common/pgpool/templates/configmap.yaml b/kubernetes/common/pgpool/templates/configmap.yaml new file mode 100755 index 0000000000..cc20b42581 --- /dev/null +++ b/kubernetes/common/pgpool/templates/configmap.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-pgpool-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 "configs/*").AsConfig . | indent 2 }} diff --git a/kubernetes/common/pgpool/templates/deployment.yaml b/kubernetes/common/pgpool/templates/deployment.yaml new file mode 100644 index 0000000000..f598409848 --- /dev/null +++ b/kubernetes/common/pgpool/templates/deployment.yaml @@ -0,0 +1,67 @@ +{{/* +# 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. +*/}} +kind: Deployment +apiVersion: extensions/v1beta1 +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 }} +spec: + replicas: 2 + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + containers: + - name: pgpool + image: "{{.Values.image.repository}}/{{.Values.image.container}}:{{.Values.image.tag}}" + env: + - name: PG_PRIMARY_SERVICE_NAME + value: {{.Values.container.name.primary}} + - name: PG_REPLICA_SERVICE_NAME + value: {{.Values.container.name.replica}} + - name: PG_USERNAME + value: {{.Values.credentials.pgusername}} + - name: PG_PASSWORD + value: {{.Values.credentials.pgpassword}} + ports: + - containerPort: 5432 + name: pgpool + protocol: TCP + readinessProbe: + tcpSocket: + port: 5432 + initialDelaySeconds: 20 + periodSeconds: 10 + livenessProbe: + tcpSocket: + port: 5432 + initialDelaySeconds: 15 + periodSeconds: 20 + volumeMounts: + - name: pgpool-pgconf + mountPath: /pgconf/pgpoolconfigdir + readOnly: false + volumes: + - name: pgpool-pgconf + configMap: + name: {{ .Release.Name }}-pgpool-configmap diff --git a/kubernetes/common/pgpool/templates/service.yaml b/kubernetes/common/pgpool/templates/service.yaml new file mode 100644 index 0000000000..0811fda593 --- /dev/null +++ b/kubernetes/common/pgpool/templates/service.yaml @@ -0,0 +1,14 @@ +kind: "Service" +apiVersion: "v1" +metadata: + name: "pgpool" + labels: + name: "pgpool" +spec: + ports: + - protocol: "TCP" + port: 5432 + targetPort: 5432 + selector: + name: "pgpool" + type: ClusterIP diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unifiedFilterRequest.xml b/kubernetes/common/pgpool/values.yaml index 8781834829..8e7474203d 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unifiedFilterRequest.xml +++ b/kubernetes/common/pgpool/values.yaml @@ -1,5 +1,4 @@ -<!-- -# Copyright © 2018 Amdocs, Bell Canada, AT&T +# 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. @@ -12,12 +11,18 @@ # 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. ---> -<rests xmlns="http://camel.apache.org/schema/spring"> - <rest> - <post uri="/search/unifiedFilterRequest"> - <to uri="bean:filterProcessor?method=getFiltersWithValues"/> - </post> - </rest> -</rests> +name: pgpool +container: + port: 5432 + name: + primary: pgset-primary + replica: pgset-replica +credentials: + pgusername: testuser + pgpassword: password +serviceType: ClusterIP +image: + repository: crunchydata + container: crunchy-pgpool + tag: centos7-10.4-2.0.0 diff --git a/kubernetes/consul/resources/config/consul-agent-config/policy-health.json b/kubernetes/consul/resources/config/consul-agent-config/policy-health.json index 22d135b6dd..62a6f31223 100644 --- a/kubernetes/consul/resources/config/consul-agent-config/policy-health.json +++ b/kubernetes/consul/resources/config/consul-agent-config/policy-health.json @@ -12,7 +12,7 @@ { "id": "policy-nexus-local-status", "name": "Policy Nexus Local Status", - "http": "http://nexus:8081/nexus/service/local/status?pretty", + "http": "http://nexus:8081/nexus/service/local/status", "method": "GET", "header": { "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="], @@ -27,7 +27,7 @@ { "id": "policy-nexus-internal-metrics", "name": "Policy Nexus Internal Metrics", - "http": "http://nexus:8081/nexus/internal/metrics?pretty", + "http": "http://nexus:8081/nexus/internal/metrics", "method": "GET", "header": { "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="], @@ -42,7 +42,7 @@ { "id": "policy-nexus-internal-healthcheck", "name": "Policy Nexus Internal Healthcheck", - "http": "http://nexus:8081/nexus/internal/healthcheck?pretty", + "http": "http://nexus:8081/nexus/internal/healthcheck", "method": "GET", "header": { "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="], @@ -64,7 +64,7 @@ { "id": "drools", "name": "Drools Health Check", - "http": "http://drools:6969/healthcheck?pretty", + "http": "https://drools:6969/healthcheck", "method": "GET", "header": { "Authorization": ["Basic aGVhbHRoY2hlY2s6emIhWHp0RzM0"], @@ -79,7 +79,7 @@ { "id": "pap", "name": "PAP Health Check", - "http": "http://pap:9091/pap/test?pretty", + "http": "https://pap:9091/pap/test", "method": "GET", "header": { "Authorization": ["Basic dGVzdHBhcDphbHBoYTEyMw=="], @@ -94,7 +94,7 @@ { "id": "pdp", "name": "PDP Health Check", - "http": "http://pdp:8081/pdp/test?pretty", + "http": "https://pdp:8081/pdp/test", "method": "GET", "header": { "Authorization": ["Basic dGVzdHBkcDphbHBoYTEyMw=="], diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-app/resources/config/provisioning/provision.sh b/kubernetes/contrib/charts/netbox/charts/netbox-app/resources/config/provisioning/provision.sh index 25717cedd8..adf10a1d0d 100755 --- a/kubernetes/contrib/charts/netbox/charts/netbox-app/resources/config/provisioning/provision.sh +++ b/kubernetes/contrib/charts/netbox/charts/netbox-app/resources/config/provisioning/provision.sh @@ -70,10 +70,10 @@ curl --silent -X POST \ -H 'Authorization: Token onceuponatimeiplayedwithnetbox20180814' \ -H 'Content-Type: application/json' \ -d '{ - "prefix": "192.168.20.0/24", + "prefix": "{{ .Values.service.vfw_protected_pool }}", "site": 1, "tenant": 1, - "is_pool": true, + "is_pool": false, "description": "IP Pool for protected network - vFW use case" }' @@ -83,10 +83,10 @@ curl --silent -X POST \ -H 'Authorization: Token onceuponatimeiplayedwithnetbox20180814' \ -H 'Content-Type: application/json' \ -d '{ - "prefix": "192.168.10.0/24", + "prefix": "{{ .Values.service.vfw_unprotected_pool }}", "site": 1, "tenant": 1, - "is_pool": true, + "is_pool": false, "description": "IP Pool for unprotected network - vFW use case" }' @@ -96,9 +96,10 @@ curl --silent -X POST \ -H 'Authorization: Token onceuponatimeiplayedwithnetbox20180814' \ -H 'Content-Type: application/json' \ -d '{ - "prefix": "10.0.0.0/8", + "prefix": "{{ .Values.service.vfw_mgmt_pool }}", "site": 1, "tenant": 1, - "is_pool": true, + "is_pool": false, "description": "IP Pool for ONAP - general purpose" }' + diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-app/templates/pvc.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-app/templates/pvc.yaml index 8fbd4544dc..3489049602 100755 --- a/kubernetes/contrib/charts/netbox/charts/netbox-app/templates/pvc.yaml +++ b/kubernetes/contrib/charts/netbox/charts/netbox-app/templates/pvc.yaml @@ -30,7 +30,7 @@ metadata: {{ .Values.persistence.annotations | indent 4 }} {{- end }} spec: -{{- if not .Values.persistence.storageClass -}} +{{- if not .Values.persistence.storageClass }} selector: matchLabels: name: {{ .Release.Name }}-{{ .Values.persistence.staticPvName }} diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml index 49a96eb053..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: @@ -64,6 +64,12 @@ service: internalPort: 8001 portName: netbox-app + # The following subnet pool will be + # configured in Netbox by provisioning script. + vfw_protected_pool: 192.168.20.0/24 + vfw_unprotected_pool: 192.168.10.0/24 + vfw_mgmt_pool: 10.0.101.0/24 + ingress: enabled: false @@ -80,11 +86,21 @@ persistence: volumeReclaimPolicy: Retain accessMode: ReadWriteMany size: 100Mi - storageClass: "nfs-dev-sc" - # Names used for shared pv/pvcs across App & Nginx containers + # Uncomment the storageClass parameter to use an existing PV + # that will match the following class. + # When uncomment the storageClass, the PV is not created anymore. + + # storageClass: "nfs-dev-sc" + staticPvName: netbox-static + # When using storage class, mountPath and mountSubPath are + # simply ignored. + + mountPath: /dockerdata-nfs + mountSubPath: netbox/app + # probe configuration parameters liveness: initialDelaySeconds: 10 @@ -96,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/templates/pvc.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-postgres/templates/pvc.yaml index 77602117a6..30bba6da31 100755 --- a/kubernetes/contrib/charts/netbox/charts/netbox-postgres/templates/pvc.yaml +++ b/kubernetes/contrib/charts/netbox/charts/netbox-postgres/templates/pvc.yaml @@ -30,7 +30,7 @@ metadata: {{ .Values.persistence.annotations | indent 4 }} {{- end }} spec: -{{- if not .Values.persistence.storageClass -}} +{{- if not .Values.persistence.storageClass }} selector: matchLabels: name: {{ include "common.fullname" . }} diff --git a/kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml b/kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml index c54c3a68f5..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 @@ -57,10 +57,22 @@ readiness: persistence: enabled: true volumeReclaimPolicy: Retain - storageClass: "nfs-dev-sc" + + # Uncomment the storageClass parameter to use an existing PV + # that will match the following class. + # When uncomment the storageClass, the PV is not created anymore. + + # storageClass: "nfs-dev-sc" + accessMode: ReadWriteMany size: 1Gi + # When using storage class, mountPath and mountSubPath are + # simply ignored. + + mountPath: /dockerdata-nfs + mountSubPath: netbox/postgres/data + service: type: ClusterIP name: netbox-postgres 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/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml index 8f23423dcf..ead7562a59 100644 --- a/kubernetes/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml +++ b/kubernetes/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-config 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 }} --- @@ -26,6 +31,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-dmaap 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/dmaap/*.json").AsConfig . | indent 2 }} --- @@ -34,6 +44,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-dcaelocations 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/dcaeLocations/*.json").AsConfig . | indent 2 }} --- @@ -42,6 +57,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-mrclusters 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/mr_clusters/*.json").AsConfig . | indent 2 }} --- @@ -50,6 +70,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-topics 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/topics/*.json").AsConfig . | indent 2 }} --- @@ -58,5 +83,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-feeds 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/feeds/*.json").AsConfig . | indent 2 }} diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml index 6cef5062a5..dd75846932 100644 --- a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml +++ b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml @@ -17,6 +17,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-mdb-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/mariadb/conf.d/*").AsConfig . | indent 2 }} --- @@ -25,5 +30,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-mdb-initd-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/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql").AsConfig . | indent 2 }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql").AsConfig . | indent 2 }} diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/configmap.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/configmap.yaml index 0124f4d9b3..bd7418415a 100644 --- a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/configmap.yaml +++ b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/configmap.yaml @@ -17,6 +17,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-node-props-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/node.properties").AsConfig . | indent 2 }} --- @@ -25,5 +30,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-create-feed-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/feeds/*").AsConfig . | indent 2 }} diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/configmap.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/configmap.yaml index c8adab4ddf..525c18b6ba 100644 --- a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/configmap.yaml +++ b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/configmap.yaml @@ -17,5 +17,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-prov-props-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/provserver.properties").AsConfig . | indent 2 }} diff --git a/kubernetes/dmaap/charts/message-router/templates/configmap.yaml b/kubernetes/dmaap/charts/message-router/templates/configmap.yaml index ff13eb7a34..1ed788893f 100644 --- a/kubernetes/dmaap/charts/message-router/templates/configmap.yaml +++ b/kubernetes/dmaap/charts/message-router/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-msgrtrapi-prop-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/dmaap/MsgRtrApi.properties").AsConfig . | indent 2 }} --- @@ -26,5 +31,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-cadi-prop-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/dmaap/cadi.properties").AsConfig . | indent 2 }} diff --git a/kubernetes/esr/templates/configmap.yaml b/kubernetes/esr/templates/configmap.yaml index 964570b64b..18a4f84773 100644 --- a/kubernetes/esr/templates/configmap.yaml +++ b/kubernetes/esr/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-esr-filebeat 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/*").AsConfig . | indent 2 }} --- @@ -26,6 +31,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-esr-esrserver-log 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/esrserver/logback.xml").AsConfig . | indent 2 }} - diff --git a/kubernetes/helm/plugins/deploy/deploy.sh b/kubernetes/helm/plugins/deploy/deploy.sh new file mode 100755 index 0000000000..07455d7db4 --- /dev/null +++ b/kubernetes/helm/plugins/deploy/deploy.sh @@ -0,0 +1,168 @@ +#!/bin/bash + +usage() { +cat << EOF +Install (or upgrade) an umbrella Helm Chart, and its subcharts, as separate Helm Releases + +The umbrella Helm Chart is broken apart into a parent release and subchart releases. +Subcharts the are disabled (<chart>.enabled=false) will not be installed or upgraded. +All releases are grouped and deployed within the same namespace. + + +The deploy arguments must be a release and chart. The chart +argument can be either: a chart reference('stable/onap'), a path to a chart directory, +a packaged chart, or a fully qualified URL. For chart references, the latest +version will be specified unless the '--version' flag is set. + +To override values in a chart, use either the '--values' flag and pass in a file +or use the '--set' flag and pass configuration from the command line, to force string +values, use '--set-string'. + +You can specify the '--values'/'-f' flag multiple times. The priority will be given to the +last (right-most) file specified. For example, if both myvalues.yaml and override.yaml +contained a key called 'Test', the value set in override.yaml would take precedence: + + $ helm deploy demo ./onap --namespace onap -f openstack.yaml -f overrides.yaml + +You can specify the '--set' flag multiple times. The priority will be given to the +last (right-most) set specified. For example, if both 'bar' and 'newbar' values are +set for a key called 'foo', the 'newbar' value would take precedence: + + $ helm deploy demo local/onap --namespace onap -f overrides.yaml --set log.enabled=false --set vid.enabled=false + +Usage: + helm deploy [RELEASE] [CHART] [flags] + +Flags: + --namespace string namespace to install the release into. Defaults to the current kube config namespace. + --set stringArray set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2) + --set-string stringArray set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2) + -f, --values valueFiles specify values in a YAML file or a URL(can specify multiple) (default []) +EOF +} + +parse_yaml() { + local prefix=$2 + local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034') + sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \ + -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 | + awk -F$fs '{ + indent = length($1)/2; + vname[indent] = $2; + for (i in vname) {if (i > indent) {delete vname[i]}} + if (length($3) > 0) { + vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])("_")} + printf("%s%s%s=\"%s\"\n", "'$prefix'",vn, $2, $3); + } + }' +} + +generate_overrides() { + SUBCHART_NAMES=($(cat $COMPUTED_OVERRIDES | grep -v '^\s\s')) + + for index in "${!SUBCHART_NAMES[@]}"; do + START=${SUBCHART_NAMES[index]} + END=${SUBCHART_NAMES[index+1]} + if [[ $START == "global:" ]]; then + echo "global:" > $GLOBAL_OVERRIDES + cat $COMPUTED_OVERRIDES | sed '/common:/,/consul:/d' \ + | sed -n '/'"$START"'/,/'log:'/p' | sed '1d;$d' >> $GLOBAL_OVERRIDES + else + SUBCHART_DIR="$CACHE_SUBCHART_DIR/$(cut -d':' -f1 <<<"$START")" + if [[ -d "$SUBCHART_DIR" ]]; then + cat $COMPUTED_OVERRIDES | sed -n '/'"$START"'/,/'"$END"'/p' \ + | sed '1d;$d' | cut -c3- > $SUBCHART_DIR/subchart-overrides.yaml + fi + fi + done +} + +deploy() { + RELEASE=$1 + CHART_URL=$2 + FLAGS=${@:3} + CHART_REPO="$(cut -d'/' -f1 <<<"$CHART_URL")" + CHART_NAME="$(cut -d'/' -f2 <<<"$CHART_URL")" + CACHE_DIR=~/.helm/plugins/deploy/cache + CHART_DIR=$CACHE_DIR/$CHART_NAME + CACHE_SUBCHART_DIR=$CHART_DIR-subcharts + # should pass all flags instead + NAMESPACE="$(echo $FLAGS | sed -n 's/.*\(namespace\).\s*/\1/p' | cut -c10-)" + + # clear previously cached charts + rm -rf $CACHE_DIR + + # fetch umbrella chart (parent chart containing subcharts) + if [[ -d "$CHART_URL" ]]; then + mkdir -p $CHART_DIR + cp -R $CHART_URL/* $CHART_DIR/ + + cd $CHART_DIR/charts/ + for subchart in * ; do + tar xzf ${subchart} + done + rm -rf *.tgz + else + helm fetch $CHART_URL --untar --untardir $CACHE_DIR + fi + + # move out subcharts to process separately + mkdir -p $CACHE_SUBCHART_DIR + mv $CHART_DIR/charts/* $CACHE_SUBCHART_DIR/ + # temp hack - parent chart needs common subchart + mv $CACHE_SUBCHART_DIR/common $CHART_DIR/charts/ + + # disable dependencies + rm $CHART_DIR/requirements.lock + mv $CHART_DIR/requirements.yaml $CHART_DIR/requirements.deploy + + # compute overrides for parent and all subcharts + COMPUTED_OVERRIDES=$CACHE_DIR/$CHART_NAME/computed-overrides.yaml + helm upgrade -i $RELEASE $CHART_DIR $FLAGS --dry-run --debug \ + | sed -n '/COMPUTED VALUES:/,/HOOKS:/p' | sed '1d;$d' > $COMPUTED_OVERRIDES + + # extract global overrides to apply to parent and all subcharts + GLOBAL_OVERRIDES=$CHART_DIR/global-overrides.yaml + generate_overrides $COMPUTED_OVERRIDES $GLOBAL_OVERRIDES + + # upgrade/install parent chart first + helm upgrade -i $RELEASE $CHART_DIR --namespace $NAMESPACE -f $COMPUTED_OVERRIDES + + # parse computed overrides - will use to determine if a subchart is "enabled" + eval $(parse_yaml $COMPUTED_OVERRIDES "computed_") + + # upgrade/install each "enabled" subchart + cd $CACHE_SUBCHART_DIR + for subchart in * ; do + VAR="computed_${subchart}_enabled" + COMMAND="$"$VAR + eval "SUBCHART_ENABLED=$COMMAND" + if [[ $SUBCHART_ENABLED == "true" ]]; then + SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml + helm upgrade -i "${RELEASE}-${subchart}" $CACHE_SUBCHART_DIR/$subchart \ + --namespace $NAMESPACE -f $GLOBAL_OVERRIDES -f $SUBCHART_OVERRIDES + fi + done +} + +if [[ $# < 2 ]]; then + usage + exit 0 +fi + +case "${1:-"help"}" in + "help") + usage + ;; + "--help") + usage + ;; + "-h") + usage + ;; + *) + deploy $1 $2 ${@:3} + ;; +esac + +exit 0
\ No newline at end of file diff --git a/kubernetes/helm/plugins/deploy/plugin.yaml b/kubernetes/helm/plugins/deploy/plugin.yaml new file mode 100644 index 0000000000..fc7f7d0f88 --- /dev/null +++ b/kubernetes/helm/plugins/deploy/plugin.yaml @@ -0,0 +1,7 @@ +name: "deploy" +version: "1.0.0" +usage: "install (upgrade if release exists) parent chart and subcharts as separate +but related releases" +description: "install (upgrade if release exists) parent charty and all subcharts as separate +but related releases" +command: "$HELM_PLUGIN_DIR/deploy.sh"
\ No newline at end of file diff --git a/kubernetes/helm/plugins/undeploy/plugin.yaml b/kubernetes/helm/plugins/undeploy/plugin.yaml new file mode 100644 index 0000000000..02999fd04c --- /dev/null +++ b/kubernetes/helm/plugins/undeploy/plugin.yaml @@ -0,0 +1,7 @@ +name: "undeploy" +version: "1.0.0" +usage: "delete parent chart and subcharts that were deployed as separate +releases" +description: "delete parent chart and subcharts that were deployed as separate +releases" +command: "$HELM_PLUGIN_DIR/undeploy.sh"
\ No newline at end of file diff --git a/kubernetes/helm/plugins/undeploy/undeploy.sh b/kubernetes/helm/plugins/undeploy/undeploy.sh new file mode 100755 index 0000000000..02b5d34c65 --- /dev/null +++ b/kubernetes/helm/plugins/undeploy/undeploy.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +usage() { +cat << EOF +Delete an umbrella Helm Chart, and its subcharts, that was previously deployed using 'Helm deploy'. + +Example of deleting all Releases that have the prefix 'demo'. + $ helm undeploy demo + + $ helm undeploy demo --purge + +Usage: + helm undeploy [RELEASE] [flags] + +Flags: + --purge remove the releases from the store and make its name free for later use +EOF +} + +undeploy() { + RELEASE=$1 + FLAGS=$2 + + array=($(helm ls -q | grep $RELEASE)) + n=${#array[*]} + for (( i = n-1; i >= 0; i-- )) + do + helm del "${array[i]}" $FLAGS + done +} + +if [[ $# < 1 ]]; then + echo "Error: command 'undeploy' requires a release name" + exit 0 +fi + +case "${1:-"help"}" in + "help") + usage + ;; + "--help") + usage + ;; + "-h") + usage + ;; + *) + undeploy $1 ${@:2} + ;; +esac + +exit 0
\ No newline at end of file diff --git a/kubernetes/log/Chart.yaml b/kubernetes/log/Chart.yaml index 6bbd5b90db..9dbdad51e7 100644 --- a/kubernetes/log/Chart.yaml +++ b/kubernetes/log/Chart.yaml @@ -16,4 +16,4 @@ apiVersion: v1 description: ONAP Logging ElasticStack name: log -version: 2.0.0 +version: 3.0.0 diff --git a/kubernetes/log/charts/log-elasticsearch/Chart.yaml b/kubernetes/log/charts/log-elasticsearch/Chart.yaml index 2be8c79641..88edfd089a 100644 --- a/kubernetes/log/charts/log-elasticsearch/Chart.yaml +++ b/kubernetes/log/charts/log-elasticsearch/Chart.yaml @@ -16,4 +16,4 @@ apiVersion: v1 description: ONAP Logging Elasticsearch name: log-elasticsearch -version: 2.0.0 +version: 3.0.0 diff --git a/kubernetes/log/charts/log-kibana/Chart.yaml b/kubernetes/log/charts/log-kibana/Chart.yaml index 7fe685104f..14a4eb7ac3 100644 --- a/kubernetes/log/charts/log-kibana/Chart.yaml +++ b/kubernetes/log/charts/log-kibana/Chart.yaml @@ -16,4 +16,4 @@ apiVersion: v1 description: ONAP Logging Kibana name: log-kibana -version: 2.0.0 +version: 3.0.0 diff --git a/kubernetes/log/charts/log-logstash/Chart.yaml b/kubernetes/log/charts/log-logstash/Chart.yaml index 62bafab9ba..99f93b404d 100644 --- a/kubernetes/log/charts/log-logstash/Chart.yaml +++ b/kubernetes/log/charts/log-logstash/Chart.yaml @@ -16,4 +16,4 @@ apiVersion: v1 description: ONAP Logging Logstash name: log-logstash -version: 2.0.0 +version: 3.0.0 diff --git a/kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml b/kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml index 16355ee513..7dd8fa5bd0 100644 --- a/kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml +++ b/kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml @@ -20,5 +20,10 @@ 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 }} diff --git a/kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml index ba249be6c9..1c91e8af3f 100644 --- a/kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml +++ b/kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml @@ -62,6 +62,8 @@ spec: - mountPath: /opt/ocata/ocata/pub/config/log.yml name: ocata-logconfig subPath: log.yml + resources: +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} ports: @@ -80,17 +82,6 @@ spec: successThreshold: {{ .Values.liveness.successThreshold }} failureThreshold: {{ .Values.liveness.failureThreshold }} {{ end }} - resources: -{{ toYaml .Values.resources | indent 12 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 10 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 10 }} - {{- end }} - # side car containers - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} diff --git a/kubernetes/multicloud/charts/multicloud-ocata/values.yaml b/kubernetes/multicloud/charts/multicloud-ocata/values.yaml index 286f839fe5..25b21d65d2 100644 --- a/kubernetes/multicloud/charts/multicloud-ocata/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-ocata/values.yaml @@ -66,21 +66,21 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 4Gi + requests: + cpu: 10m + memory: 1Gi + large: + limits: + cpu: 2 + memory: 8Gi + requests: + cpu: 20m + memory: 2Gi diff --git a/kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml b/kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml index 411c445695..0b39a5c93e 100644 --- a/kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml +++ b/kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml @@ -20,5 +20,10 @@ 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 }} diff --git a/kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml index 82804a451e..b555d463c3 100644 --- a/kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml +++ b/kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml @@ -62,6 +62,8 @@ spec: - mountPath: /opt/vio/vio/pub/config/log.yml name: vio-logconfig subPath: log.yml + resources: +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} ports: @@ -92,17 +94,6 @@ spec: name: vio-log - mountPath: /usr/share/filebeat/data name: vio-data-filebeat - resources: -{{ toYaml .Values.resources | indent 12 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 10 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 10 }} - {{- end }} - volumes: - name: vio-log emptyDir: {} diff --git a/kubernetes/multicloud/charts/multicloud-vio/values.yaml b/kubernetes/multicloud/charts/multicloud-vio/values.yaml index 473ccf606c..bc207ef610 100644 --- a/kubernetes/multicloud/charts/multicloud-vio/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-vio/values.yaml @@ -66,21 +66,21 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 4Gi + requests: + cpu: 10m + memory: 1Gi + large: + limits: + cpu: 2 + memory: 8Gi + requests: + cpu: 20m + memory: 2Gi diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml index 411c445695..0b39a5c93e 100644 --- a/kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml +++ b/kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml @@ -20,5 +20,10 @@ 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 }} diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml index 353cb7b2b8..2e89974fd1 100644 --- a/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml +++ b/kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml @@ -62,6 +62,8 @@ spec: - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml name: windriver-logconfig subPath: log.yml + resources: +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} ports: @@ -80,17 +82,6 @@ spec: successThreshold: {{ .Values.liveness.successThreshold }} failureThreshold: {{ .Values.liveness.failureThreshold }} {{ end }} - resources: -{{ toYaml .Values.resources | indent 12 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 10 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 10 }} - {{- end }} - # side car containers - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} diff --git a/kubernetes/multicloud/charts/multicloud-windriver/values.yaml b/kubernetes/multicloud/charts/multicloud-windriver/values.yaml index d6af600d06..dce2343507 100644 --- a/kubernetes/multicloud/charts/multicloud-windriver/values.yaml +++ b/kubernetes/multicloud/charts/multicloud-windriver/values.yaml @@ -66,21 +66,21 @@ liveness: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 4Gi + requests: + cpu: 10m + memory: 1Gi + large: + limits: + cpu: 2 + memory: 8Gi + requests: + cpu: 20m + memory: 2Gi diff --git a/kubernetes/multicloud/templates/configmap.yaml b/kubernetes/multicloud/templates/configmap.yaml index bdbbc9b776..e2b789d5dd 100644 --- a/kubernetes/multicloud/templates/configmap.yaml +++ b/kubernetes/multicloud/templates/configmap.yaml @@ -20,6 +20,11 @@ kind: ConfigMap metadata: name: multicloud-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/*").AsConfig . | indent 2 }} --- @@ -28,6 +33,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/framework/*").AsConfig . | indent 2 }} --- @@ -36,5 +46,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-provider-plugin-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/provider-plugin.json").AsConfig . | indent 2 }} diff --git a/kubernetes/multicloud/templates/deployment.yaml b/kubernetes/multicloud/templates/deployment.yaml index 84a8cc208b..5c524fb936 100644 --- a/kubernetes/multicloud/templates/deployment.yaml +++ b/kubernetes/multicloud/templates/deployment.yaml @@ -53,6 +53,8 @@ spec: value: "{{ .Values.config.aai.username }}" - name: AAI_PASSWORD value: "{{ .Values.config.aai.password }}" + resources: +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} image: "{{ include "common.repository" . }}/{{ .Values.image }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} name: {{ include "common.name" . }} @@ -94,17 +96,6 @@ spec: name: framework-log - mountPath: /usr/share/filebeat/data name: framework-data-filebeat - resources: -{{ toYaml .Values.resources | indent 12 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 10 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 10 }} - {{- end }} - volumes: - name: framework-log emptyDir: {} diff --git a/kubernetes/multicloud/values.yaml b/kubernetes/multicloud/values.yaml index aeed9e1763..dc04dbb185 100644 --- a/kubernetes/multicloud/values.yaml +++ b/kubernetes/multicloud/values.yaml @@ -70,21 +70,21 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 1 + memory: 4Gi + requests: + cpu: 10m + memory: 1Gi + large: + limits: + cpu: 2 + memory: 8Gi + requests: + cpu: 20m + memory: 2Gi diff --git a/kubernetes/nbi/templates/deployment.yaml b/kubernetes/nbi/templates/deployment.yaml index 7575061496..30e6572c27 100644 --- a/kubernetes/nbi/templates/deployment.yaml +++ b/kubernetes/nbi/templates/deployment.yaml @@ -75,7 +75,7 @@ spec: - name: ONAP_CLOUDOWNER value: {{ .Values.config.cloudOwner }} - name: NBI_URL - value: "http://nbi.{{ include "common.namespace" . }}:8080/nbi/api/v1" + value: "http://nbi.{{ include "common.namespace" . }}:8080/nbi/api/v3" - name: SDC_HOST value: "http://sdc-be.{{ include "common.namespace" . }}:8080" - name: SDC_HEADER_ECOMPINSTANCEID @@ -94,6 +94,12 @@ spec: {{- end }} - name: LOGGING_LEVEL_ORG_ONAP_NBI value: {{ .Values.config.loglevel }} + - name: MSB_ENABLED + value: "true" + - name: MSB_DISCOVERY_HOST + value: "msb-discovery.{{ include "common.namespace" . }}" + - name: MSB_DISCOVERY_PORT + value: "10081" volumeMounts: - mountPath: /etc/localtime name: localtime diff --git a/kubernetes/nbi/values.yaml b/kubernetes/nbi/values.yaml index f0cbc9af11..f37e8182be 100644 --- a/kubernetes/nbi/values.yaml +++ b/kubernetes/nbi/values.yaml @@ -28,7 +28,7 @@ subChartsOnly: # application image repository: nexus3.onap.org:10001 -image: onap/externalapi/nbi:2.0.0 +image: onap/externalapi/nbi:3.0.0-latest pullPolicy: Always sdc_authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU= aai_authorization: Basic QUFJOkFBSQ== @@ -84,7 +84,7 @@ affinity: {} # probe configuration parameters liveness: - initialDelaySeconds: 10 + initialDelaySeconds: 120 periodSeconds: 10 # necessary to disable liveness probe when setting breakpoints # in debugger so K8s doesn't restart unresponsive container @@ -104,21 +104,10 @@ service: ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +resources: + limits: + cpu: 1 + memory: 2Gi + requests: + cpu: 100m + memory: 1Gi diff --git a/kubernetes/onap/requirements.yaml b/kubernetes/onap/requirements.yaml index 911a1d55f9..b6e450a65e 100644 --- a/kubernetes/onap/requirements.yaml +++ b/kubernetes/onap/requirements.yaml @@ -44,6 +44,10 @@ dependencies: version: ~2.0.0 repository: '@local' condition: consul.enabled + - name: contrib + version: ~2.0.0 + repository: '@local' + condition: contrib.enabled - name: dcaegen2 version: ~2.0.0 repository: '@local' @@ -57,7 +61,7 @@ dependencies: repository: '@local' condition: esr.enabled - name: log - version: ~2.0.0 + version: ~3.0.0 repository: '@local' condition: log.enabled - name: sniro-emulator diff --git a/kubernetes/onap/resources/environments/dev.yaml b/kubernetes/onap/resources/environments/dev.yaml index 7a988a532f..4c9e7046c3 100644 --- a/kubernetes/onap/resources/environments/dev.yaml +++ b/kubernetes/onap/resources/environments/dev.yaml @@ -22,6 +22,7 @@ global: # Change to an unused port prefix range to prevent port conflicts # with other instances running within the same k8s cluster nodePortPrefix: 302 + nodePortPrefixExt: 304 # ONAP Repository # Uncomment the following to enable the use of a single docker diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml index eba5dcf7d0..9b56c7ba11 100644 --- a/kubernetes/onap/values.yaml +++ b/kubernetes/onap/values.yaml @@ -22,6 +22,7 @@ global: # Change to an unused port prefix range to prevent port conflicts # with other instances running within the same k8s cluster nodePortPrefix: 302 + nodePortPrefixExt: 304 # ONAP Repository # Uncomment the following to enable the use of a single docker @@ -77,6 +78,8 @@ cli: enabled: true consul: enabled: true +contrib: + enabled: true dcaegen2: enabled: true dmaap: @@ -107,6 +110,9 @@ portal: enabled: true robot: enabled: true + config: +# openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment + openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e" sdc: enabled: true sdnc: diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml index 075d7a8f84..6d7dad9bc1 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml +++ b/kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-docker-entry-initd 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/cassandra/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }} diff --git a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml b/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml index 969fb11f66..7a38efa8cc 100644 --- a/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml +++ b/kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml @@ -18,5 +18,10 @@ 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 }} diff --git a/kubernetes/oof/charts/oof-has/templates/configmap.yaml b/kubernetes/oof/charts/oof-has/templates/configmap.yaml index 3b8f331f49..f21a002e8c 100755 --- a/kubernetes/oof/charts/oof-has/templates/configmap.yaml +++ b/kubernetes/oof/charts/oof-has/templates/configmap.yaml @@ -18,5 +18,10 @@ kind: ConfigMap metadata: name: {{ .Values.global.commonConfigPrefix }}-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 }} diff --git a/kubernetes/oof/charts/oof-has/values.yaml b/kubernetes/oof/charts/oof-has/values.yaml index c8a9f03f6a..fa6b4100d8 100755 --- a/kubernetes/oof/charts/oof-has/values.yaml +++ b/kubernetes/oof/charts/oof-has/values.yaml @@ -24,7 +24,7 @@ global: commonConfigPrefix: onap-oof-has image: readiness: oomk8s/readiness-check:2.0.0 - optf_has: onap/optf-has:1.2.0 + optf_has: onap/optf-has:1.2.1 filebeat: docker.elastic.co/beats/filebeat:5.5.0 pullPolicy: Always diff --git a/kubernetes/oof/templates/configmap.yaml b/kubernetes/oof/templates/configmap.yaml index 650531a5c7..e73c758be1 100644 --- a/kubernetes/oof/templates/configmap.yaml +++ b/kubernetes/oof/templates/configmap.yaml @@ -18,5 +18,10 @@ 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 }} diff --git a/kubernetes/oof/values.yaml b/kubernetes/oof/values.yaml index fae9d93acf..ac1bcc0cb1 100644 --- a/kubernetes/oof/values.yaml +++ b/kubernetes/oof/values.yaml @@ -26,7 +26,7 @@ global: ################################################################# # application image repository: nexus3.onap.org:10001 -image: onap/optf-osdf:1.2.0 +image: onap/optf-osdf:1.2.1 pullPolicy: Always # flag to enable debugging - application support required diff --git a/kubernetes/policy/charts/drools/resources/scripts/update-vfw-op-policy.sh b/kubernetes/policy/charts/drools/resources/scripts/update-vfw-op-policy.sh index a6c054dbc1..c44c8f0f52 100644 --- a/kubernetes/policy/charts/drools/resources/scripts/update-vfw-op-policy.sh +++ b/kubernetes/policy/charts/drools/resources/scripts/update-vfw-op-policy.sh @@ -30,12 +30,12 @@ echo "Removing the vFW Policy from PDP.." echo echo -curl -v -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ +curl -v -k -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "pdpGroup": "default", "policyComponent" : "PDP", "policyName": "com.BRMSParamvFirewall", "policyType": "BRMS_Param" -}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/deletePolicy +}' https://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/deletePolicy sleep 20 @@ -45,7 +45,7 @@ echo echo "Updating vFW Operational Policy .." echo -curl -v -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ +curl -v -k -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "policyConfigType": "BRMS_PARAM", "policyName": "com.BRMSParamvFirewall", "policyDescription": "BRMS Param vFirewall policy", @@ -60,7 +60,7 @@ curl -v -X PUT --header 'Content-Type: application/json' --header 'Accept: text/ "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+'${RESOURCE_ID}'%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard" } } -}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/updatePolicy +}' https://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/updatePolicy sleep 5 @@ -70,11 +70,11 @@ echo "Pushing the vFW Policy .." echo echo -curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ +curl -v -k --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ "pdpGroup": "default", "policyName": "com.BRMSParamvFirewall", "policyType": "BRMS_Param" -}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/pushPolicy +}' https://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/pushPolicy sleep 20 @@ -95,7 +95,7 @@ echo "PDP-D amsterdam maven coordinates .." echo echo -curl -vvv --silent --user @1b3rt:31nst31n -X GET http://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools | python -m json.tool +curl -vvv -k --silent --user @1b3rt:31nst31n -X GET https://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools | python -m json.tool echo @@ -104,4 +104,4 @@ echo "PDP-D control loop updated .." echo echo -curl -v --silent --user @1b3rt:31nst31n -X GET http://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools/facts/closedloop-amsterdam/org.onap.policy.controlloop.Params | python -m json.tool +curl -v -k --silent --user @1b3rt:31nst31n -X GET https://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools/facts/closedloop-amsterdam/org.onap.policy.controlloop.Params | python -m json.tool diff --git a/kubernetes/policy/resources/config/pe/push-policies.sh b/kubernetes/policy/resources/config/pe/push-policies.sh index a86a5fcbd1..44f3b36abe 100644 --- a/kubernetes/policy/resources/config/pe/push-policies.sh +++ b/kubernetes/policy/resources/config/pe/push-policies.sh @@ -148,12 +148,45 @@ sleep 2 echo "Create MicroServicevCPE Policy" curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ - "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }", + "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }", "policyConfigType": "MicroService", "policyName": "com.MicroServicevCPE", "onapName": "DCAE" }' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy' +#########################################Create SDNC Naming Policies########################################## + +echo "Create SDNC Naming Policies" + +sleep 2 + +echo "Create SDNC vFW Naming Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VFW_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vFW\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}", + "policyName": "SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP", + "policyConfigType": "MicroService", + "onapName": "SDNC", + "riskLevel": "4", + "riskType": "test", + "guard": "false", + "priority": "4", + "description": "ONAP_VFW_NAMING_TIMESTAMP" +}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy' + +sleep 2 + +echo "Create SDNC vPG Naming Policy" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VPG_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vPG\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}", + "policyName": "SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP", + "policyConfigType": "MicroService", + "onapName": "SDNC", + "riskLevel": "4", + "riskType": "test", + "guard": "false", + "priority": "4", + "description": "ONAP_VPG_NAMING_TIMESTAMP" +}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy' #########################################Creating Decision Guard policy######################################### @@ -262,3 +295,24 @@ curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'A "policyName": "com.MicroServicevCPE", "policyType": "MicroService" }' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' + +#########################################Pushing SDNC Naming Policies########################################## +echo "Pushing SDNC Naming Policies" + +sleep 2 + +echo "pushPolicy : PUT : SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP", + "policyType": "MicroService" +}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' + +sleep 10 + +echo "pushPolicy : PUT : SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP" +curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ + "pdpGroup": "default", + "policyName": "SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP", + "policyType": "MicroService" +}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' diff --git a/kubernetes/pomba/charts/pomba-aaictxbuilder/resources/config/application.properties b/kubernetes/pomba/charts/pomba-aaictxbuilder/resources/config/application.properties index f1493cd27d..194ab1d414 100644 --- a/kubernetes/pomba/charts/pomba-aaictxbuilder/resources/config/application.properties +++ b/kubernetes/pomba/charts/pomba-aaictxbuilder/resources/config/application.properties @@ -38,8 +38,7 @@ aai.readTimeout={{ .Values.config.aaiReadTimeout }} http.userId={{ .Values.config.httpUserId }} http.password={{ .Values.config.httpPassword }} -# {0} = customerId {1} = serviceType {2} = serviceInstanceId -aai.serviceInstancePath=/aai/v11/business/customers/customer/{0}/service-subscriptions/service-subscription/{1}/service-instances/service-instance/{2} +aai.searchNodeQuery=/aai/v11/search/nodes-query?search-node-type=service-instance&filter=service-instance-id:EQUALS: #Servlet context parameters server.context_parameters.p-name=value #context parameter with p-name as key and value as value. diff --git a/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml b/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml index 9b76b437e9..47ad5c328f 100644 --- a/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml +++ b/kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml @@ -37,9 +37,9 @@ config: aaiPort: 8443 aaiUsername: AAI aaiPassword: OBF:1gfr1ev31gg7 - aaiHttpProtocol: http + aaiHttpProtocol: https aaiConnectionTimeout: 5000 - aaiReadTimeout: 1000 + aaiReadTimeout: 1000 # HTTP Basic Authorization credentials for Rest Service API httpUserId: admin httpPassword: OBF:1u2a1toa1w8v1tok1u30 diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/application.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/application.properties index 05eecc6184..dc885acac9 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/application.properties +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/application.properties @@ -1,3 +1,16 @@ +# Copyright © 2018 Amdocs +# +# 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. server.port=9529 server.ssl.key-store=/auth/tomcat_keystore server.ssl.key-store-password=onapSecret @@ -29,7 +42,7 @@ transport.publish.type=HTTPAUTH transport.publish.partition=1 transport.publish.retries=4 -event.header.domain=IST3S2 +event.header.domain=onap event.header.source-name=RO event.header.event-type=POA-EVENT event.header.entity-type=poa-entity diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties index 1a958eae76..7a119f9267 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties @@ -1,7 +1,21 @@ +# Copyright © 2018 Amdocs +# +# 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. + server.host={{ .Values.config.aaiCtxBuilderHost }} basicauth.username={{ .Values.config.aaiCtxBuilderUsername }} basicauth.password={{ .Values.config.aaiCtxBuilderPassword }} -server.port=9530 +server.port={{ .Values.config.ctxBuilderExternalPort }} server.protocol=http trust.store.path=/auth/tomcat_keystore key.store.path=/auth/aai-client-cert.p12 diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/networkdiscovery.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/networkdiscovery.properties new file mode 100755 index 0000000000..aa80aed310 --- /dev/null +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/networkdiscovery.properties @@ -0,0 +1,28 @@ +# Copyright © 2018 Amdocs +# +# 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. + +server.host={{ .Values.config.networkdiscoveryCtxBuilderHost }} +basicauth.username={{ .Values.config.networkdiscoveryCtxBuilderUsername }} +basicauth.password={{ .Values.config.networkdiscoveryCtxBuilderPassword }} +server.port={{ .Values.config.ctxBuilderExternalPort }} +server.protocol=http +trust.store.path=/auth/tomcat_keystore +key.store.path=/auth/aai-client-cert.p12 +key.store.password=70c87528c88dcd9f9c2558d30e817868 +key.store.type=PKCS12 +key.manager.factory.algorithm=SunX509 +security.protocol=TLS +connection.timeout.ms=60000 +read.timeout.ms=60000 +base.uri=/ndcontextbuilder/service/context diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties index 413ac1a5ec..80167d2257 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties @@ -1,7 +1,20 @@ +# Copyright © 2018 Amdocs +# +# 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. server.host={{ .Values.config.sdcCtxBuilderHost }} basicauth.username={{ .Values.config.sdcCtxBuilderUsername }} basicauth.password={{ .Values.config.sdcCtxBuilderPassword }} -server.port=9532 +server.port={{ .Values.config.ctxBuilderExternalPort }} server.protocol=http trust.store.path=/auth/tomcat_keystore key.store.path=/auth/aai-client-cert.p12 diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdnc.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdnc.properties index 60a92737ec..f06d335213 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdnc.properties +++ b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdnc.properties @@ -1,7 +1,20 @@ +# Copyright © 2018 Amdocs +# +# 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. server.host={{ .Values.config.sdncCtxBuilderHost }} basicauth.username={{ .Values.config.sdncCtxBuilderUsername }} basicauth.password={{ .Values.config.sdncCtxBuilderPassword }} -server.port=9531 +server.port={{ .Values.config.ctxBuilderExternalPort }} server.protocol=http trust.store.path=/auth/tomcat_keystore key.store.path=/auth/aai-client-cert.p12 diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml b/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml index 076a8d2e17..072357fddf 100755 --- a/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml +++ b/kubernetes/pomba/charts/pomba-contextaggregator/values.yaml @@ -1,4 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada +# Copyright © 2018 Amdocs # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -32,15 +32,18 @@ debugEnabled: false # application configuration config: aaiCtxBuilderHost: pomba-aaictxbuilder - aaiCtxBuilderUsername: change-me - aaiCtxBuilderPassword: change-me + aaiCtxBuilderUsername: admin + aaiCtxBuilderPassword: admin sdcCtxBuilderHost: pomba-sdcctxbuilder - sdcCtxBuilderUsername: change-me - sdcCtxBuilderPassword: change-me + sdcCtxBuilderUsername: admin + sdcCtxBuilderPassword: admin sdncCtxBuilderHost: pomba-sdncctxbuilder - sdncCtxBuilderUsername: change-me - sdncCtxBuilderPassword: change-me - + sdncCtxBuilderUsername: admin + sdncCtxBuilderPassword: admin + networkdiscoveryCtxBuilderHost: pomba-networkdiscoveryctxbuilder + networkdiscoveryCtxBuilderUsername: admin + networkdiscoveryCtxBuilderPassword: admin + ctxBuilderExternalPort: 9530 # default number of instances replicaCount: 1 diff --git a/kubernetes/pomba/charts/pomba-kibana/resources/config/default-mapping.json b/kubernetes/pomba/charts/pomba-kibana/resources/config/default-mapping.json index c2e527d9b7..77afee7a03 100644 --- a/kubernetes/pomba/charts/pomba-kibana/resources/config/default-mapping.json +++ b/kubernetes/pomba/charts/pomba-kibana/resources/config/default-mapping.json @@ -1 +1,247 @@ -{".kibana":{"mappings":{"doc":{"dynamic":"strict","properties":{"config":{"dynamic":"true","properties":{"buildNum":{"type":"keyword"},"defaultIndex":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"telemetry:optIn":{"type":"boolean"}}},"dashboard":{"properties":{"description":{"type":"text"},"hits":{"type":"integer"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"optionsJSON":{"type":"text"},"panelsJSON":{"type":"text"},"refreshInterval":{"properties":{"display":{"type":"keyword"},"pause":{"type":"boolean"},"section":{"type":"integer"},"value":{"type":"integer"}}},"timeFrom":{"type":"keyword"},"timeRestore":{"type":"boolean"},"timeTo":{"type":"keyword"},"title":{"type":"text"},"uiStateJSON":{"type":"text"},"version":{"type":"integer"}}},"index-pattern":{"properties":{"fieldFormatMap":{"type":"text"},"fields":{"type":"text"},"intervalName":{"type":"keyword"},"notExpandable":{"type":"boolean"},"sourceFilters":{"type":"text"},"timeFieldName":{"type":"keyword"},"title":{"type":"text"}}},"search":{"properties":{"columns":{"type":"keyword"},"description":{"type":"text"},"hits":{"type":"integer"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"sort":{"type":"keyword"},"title":{"type":"text"},"version":{"type":"integer"}}},"server":{"properties":{"uuid":{"type":"keyword"}}},"timelion-sheet":{"properties":{"description":{"type":"text"},"hits":{"type":"integer"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"timelion_chart_height":{"type":"integer"},"timelion_columns":{"type":"integer"},"timelion_interval":{"type":"keyword"},"timelion_other_interval":{"type":"keyword"},"timelion_rows":{"type":"integer"},"timelion_sheet":{"type":"text"},"title":{"type":"text"},"version":{"type":"integer"}}},"type":{"type":"keyword"},"updated_at":{"type":"date"},"url":{"properties":{"accessCount":{"type":"long"},"accessDate":{"type":"date"},"createDate":{"type":"date"},"url":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":2048}}}}},"visualization":{"properties":{"description":{"type":"text"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"savedSearchId":{"type":"keyword"},"title":{"type":"text"},"uiStateJSON":{"type":"text"},"version":{"type":"integer"},"visState":{"type":"text"}}}}}}}} +{ + ".kibana": { + "mappings": { + "doc": { + "dynamic": "strict", + "properties": { + "config": { + "dynamic": "true", + "properties": { + "buildNum": { + "type": "keyword" + }, + "defaultIndex": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256 + } + } + }, + "telemetry:optIn": { + "type": "boolean" + } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" + } + } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + } + } + }, + "search": { + "properties": { + "columns": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "sort": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "server": { + "properties": { + "uuid": { + "type": "keyword" + } + } + }, + "timelion-sheet": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "timelion_chart_height": { + "type": "integer" + }, + "timelion_columns": { + "type": "integer" + }, + "timelion_interval": { + "type": "keyword" + }, + "timelion_other_interval": { + "type": "keyword" + }, + "timelion_rows": { + "type": "integer" + }, + "timelion_sheet": { + "type": "text" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 2048 + } + } + } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "savedSearchId": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" + } + } + } + } + } + } + } +}
\ No newline at end of file diff --git a/kubernetes/pomba/charts/pomba-kibana/resources/config/default.json b/kubernetes/pomba/charts/pomba-kibana/resources/config/default.json index 38d7cc795b..d54dbfe686 100644 --- a/kubernetes/pomba/charts/pomba-kibana/resources/config/default.json +++ b/kubernetes/pomba/charts/pomba-kibana/resources/config/default.json @@ -1,11 +1,239 @@ -{"_index":".kibana","_type":"doc","_id":"index-pattern:f4978470-8fa0-11e8-bf59-199e245501e4","_score":1,"_source":{"type":"index-pattern","updated_at":"2018-07-25T00:23:33.543Z","index-pattern":{"title":"service-viol*","timeFieldName":"violationTimestamp","fields":"[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]"}}} -{"_index":".kibana","_type":"doc","_id":"dashboard:Audit-Dashboard","_score":1,"_source":{"type":"dashboard","updated_at":"2018-07-25T01:08:47.377Z","dashboard":{"title":"Audit Dashboard","hits":0,"description":"","panelsJSON":"[{\"id\":\"Count-Visualization\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Validation-Records\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"modelInvariantId\",\"serviceInstanceId\",\"result\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]","optionsJSON":"{\"darkTheme\":false}","uiStateJSON":"{}","version":1,"timeRestore":true,"timeTo":"now","timeFrom":"now-30d","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}"}}}} -{"_index":".kibana","_type":"doc","_id":"search:test","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.481Z","search":{"title":"test","description":"","hits":0,"columns":["serviceInstanceId","validationId"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}} -{"_index":".kibana","_type":"doc","_id":"visualization:Violations-Over-Time","_score":1,"_source":{"type":"visualization","updated_at":"2018-07-25T01:08:47.645Z","visualization":{"title":"Violations Over Time","visState":"{\"title\":\"Violations Over Time\",\"type\":\"histogram\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"scale\":\"linear\",\"mode\":\"stacked\",\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Violation Events\"}},{\"id\":\"2\",\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"violationTimestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}],\"listeners\":{}}","uiStateJSON":"{}","description":"","savedSearchId":"Violation-Search","version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"filter\":[]}"}}}} -{"_index":".kibana","_type":"doc","_id":"dashboard:Audit-Violations-Dashboard","_score":1,"_source":{"type":"dashboard","updated_at":"2018-07-25T01:08:47.382Z","dashboard":{"title":"Audit Violations Dashboard","hits":0,"description":"","panelsJSON":"[{\"id\":\"Violations-Over-Time\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Violation-Search\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"violationId\",\"violationType\",\"message\",\"severity\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]","optionsJSON":"{\"darkTheme\":false}","uiStateJSON":"{}","version":1,"timeRestore":false,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}"}}}} -{"_index":".kibana","_type":"doc","_id":"visualization:Count-Visualization","_score":1,"_source":{"type":"visualization","updated_at":"2018-07-25T01:12:03.484Z","visualization":{"title":"Validations Over Time","visState":"{\"aggs\":[{\"id\":\"1\",\"params\":{\"customLabel\":\"Validation Events\"},\"schema\":\"metric\",\"type\":\"count\"},{\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"customLabel\":\"\",\"extended_bounds\":{},\"field\":\"validationTimestamp\",\"interval\":\"auto\",\"min_doc_count\":1},\"schema\":\"segment\",\"type\":\"date_histogram\"}],\"listeners\":{},\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"defaultYExtents\":false,\"mode\":\"stacked\",\"scale\":\"linear\",\"setYExtents\":false,\"shareYAxis\":true,\"times\":[],\"yAxis\":{}},\"title\":\"Count Visualization\",\"type\":\"histogram\"}","uiStateJSON":"{}","description":"","version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"}}}} -{"_index":".kibana","_type":"doc","_id":"config:6.3.1","_score":1,"_source":{"type":"config","updated_at":"2018-07-25T00:25:06.654Z","config":{"buildNum":17276,"defaultIndex":"f4978470-8fa0-11e8-bf59-199e245501e4","telemetry:optIn":false}}} -{"_index":".kibana","_type":"doc","_id":"search:Validation-Records","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.478Z","search":{"title":"Validation Records","description":"","hits":0,"columns":["validationId","modelInvariantId","serviceInstanceId","result"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}} -{"_index":".kibana","_type":"doc","_id":"search:Main-View","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.480Z","search":{"title":"Main View","description":"","hits":0,"columns":["validationId","modelInvariantId","serviceInstanceId","result"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}} -{"_index":".kibana","_type":"doc","_id":"index-pattern:2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380","_score":1,"_source":{"type":"index-pattern","updated_at":"2018-07-25T01:08:06.474Z","index-pattern":{"title":"service-validations*","timeFieldName":"validationTimestamp","fields":"[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"result\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.errorMessage\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].nf-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-service-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]"}}} -{"_index":".kibana","_type":"doc","_id":"search:Violation-Search","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.486Z","search":{"title":"Violation Search","description":"","hits":0,"columns":["validationId","violationId","violationType","message","severity"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"f4978470-8fa0-11e8-bf59-199e245501e4\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}} +{ + "_index": ".kibana", + "_type": "doc", + "_id": "index-pattern:f4978470-8fa0-11e8-bf59-199e245501e4", + "_score": 1, + "_source": { + "type": "index-pattern", + "updated_at": "2018-07-25T00:23:33.543Z", + "index-pattern": { + "title": "service-viol*", + "timeFieldName": "violationTimestamp", + "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]" + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "dashboard:Audit-Dashboard", + "_score": 1, + "_source": { + "type": "dashboard", + "updated_at": "2018-07-25T01:08:47.377Z", + "dashboard": { + "title": "Audit Dashboard", + "hits": 0, + "description": "", + "panelsJSON": "[{\"id\":\"Count-Visualization\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Validation-Records\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"modelInvariantId\",\"serviceInstanceId\",\"result\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]", + "optionsJSON": "{\"darkTheme\":false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-30d", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}" + } + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "search:test", + "_score": 1, + "_source": { + "type": "search", + "updated_at": "2018-07-25T01:12:03.481Z", + "search": { + "title": "test", + "description": "", + "hits": 0, + "columns": [ + "serviceInstanceId", + "validationId" + ], + "sort": [ + "validationTimestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}" + } + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "visualization:Violations-Over-Time", + "_score": 1, + "_source": { + "type": "visualization", + "updated_at": "2018-07-25T01:08:47.645Z", + "visualization": { + "title": "Violations Over Time", + "visState": "{\"title\":\"Violations Over Time\",\"type\":\"histogram\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"scale\":\"linear\",\"mode\":\"stacked\",\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Violation Events\"}},{\"id\":\"2\",\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"violationTimestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}],\"listeners\":{}}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "Violation-Search", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "dashboard:Audit-Violations-Dashboard", + "_score": 1, + "_source": { + "type": "dashboard", + "updated_at": "2018-07-25T01:08:47.382Z", + "dashboard": { + "title": "Audit Violations Dashboard", + "hits": 0, + "description": "", + "panelsJSON": "[{\"id\":\"Violations-Over-Time\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Violation-Search\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"violationId\",\"violationType\",\"message\",\"severity\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]", + "optionsJSON": "{\"darkTheme\":false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}" + } + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "visualization:Count-Visualization", + "_score": 1, + "_source": { + "type": "visualization", + "updated_at": "2018-07-25T01:12:03.484Z", + "visualization": { + "title": "Validations Over Time", + "visState": "{\"aggs\":[{\"id\":\"1\",\"params\":{\"customLabel\":\"Validation Events\"},\"schema\":\"metric\",\"type\":\"count\"},{\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"customLabel\":\"\",\"extended_bounds\":{},\"field\":\"validationTimestamp\",\"interval\":\"auto\",\"min_doc_count\":1},\"schema\":\"segment\",\"type\":\"date_histogram\"}],\"listeners\":{},\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"defaultYExtents\":false,\"mode\":\"stacked\",\"scale\":\"linear\",\"setYExtents\":false,\"shareYAxis\":true,\"times\":[],\"yAxis\":{}},\"title\":\"Count Visualization\",\"type\":\"histogram\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}" + } + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "config:6.3.1", + "_score": 1, + "_source": { + "type": "config", + "updated_at": "2018-07-25T00:25:06.654Z", + "config": { + "buildNum": 17276, + "defaultIndex": "f4978470-8fa0-11e8-bf59-199e245501e4", + "telemetry:optIn": false + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "search:Validation-Records", + "_score": 1, + "_source": { + "type": "search", + "updated_at": "2018-07-25T01:12:03.478Z", + "search": { + "title": "Validation Records", + "description": "", + "hits": 0, + "columns": [ + "validationId", + "modelInvariantId", + "serviceInstanceId", + "result" + ], + "sort": [ + "validationTimestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}" + } + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "search:Main-View", + "_score": 1, + "_source": { + "type": "search", + "updated_at": "2018-07-25T01:12:03.480Z", + "search": { + "title": "Main View", + "description": "", + "hits": 0, + "columns": [ + "validationId", + "modelInvariantId", + "serviceInstanceId", + "result" + ], + "sort": [ + "validationTimestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}" + } + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "index-pattern:2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380", + "_score": 1, + "_source": { + "type": "index-pattern", + "updated_at": "2018-07-25T01:08:06.474Z", + "index-pattern": { + "title": "service-validations*", + "timeFieldName": "validationTimestamp", + "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"result\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.errorMessage\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].nf-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-service-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"client\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"requestId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]" + } + } +}{ + "_index": ".kibana", + "_type": "doc", + "_id": "search:Violation-Search", + "_score": 1, + "_source": { + "type": "search", + "updated_at": "2018-07-25T01:12:03.486Z", + "search": { + "title": "Violation Search", + "description": "", + "hits": 0, + "columns": [ + "validationId", + "violationId", + "violationType", + "message", + "severity" + ], + "sort": [ + "validationTimestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f4978470-8fa0-11e8-bf59-199e245501e4\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}" + } + } + } +} diff --git a/kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json b/kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json index 0d395ece22..ae01e9679f 100644 --- a/kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json +++ b/kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json @@ -1 +1,192 @@ -{"service-validations":{"mappings":{"_doc":{"properties":{"modelInvariantId":{"type":"text"},"modelName":{"type":"text"},"modelVersionId":{"type":"text"},"result":{"type":"text"},"serviceInstanceId":{"type":"text"},"validationId":{"type":"text"},"validationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violations":{"type":"nested","properties":{"category":{"type":"text"},"errorMessage":{"type":"text"},"modelName":{"type":"text"},"severity":{"type":"text"},"validationRule":{"type":"text"},"violationDetails":{"properties":{"context-list-aai-vf-list[*]":{"properties":{"invariant-id":{"type":"text"},"name":{"type":"text"},"nf-naming-code":{"type":"text"},"type":{"type":"text"},"uuid":{"type":"text"},"vf-module-list":{"properties":{"invariant-id":{"type":"text"},"max-instances":{"type":"long"},"min-instances":{"type":"long"},"uuid":{"type":"text"}}},"vnfc-list":{"properties":{"name":{"type":"text"},"nfc-naming-code":{"type":"text"}}}}},"context-list-aai-vf-list[*]-name":{"type":"text"},"context-list-aai-vf-list[*]-type":{"type":"text"},"context-list-aai-vf[*]-name":{"type":"text"},"context-list-aai-vf[*]-type":{"type":"text"},"context-list-sdc-service-name":{"type":"text"},"context-list-sdc-vf-list[*]":{"properties":{"invariant-id":{"type":"text"},"name":{"type":"text"},"type":{"type":"text"},"uuid":{"type":"text"},"vf-module-list":{"properties":{"invariant-id":{"type":"text"},"max-instances":{"type":"long"},"min-instances":{"type":"long"},"uuid":{"type":"text"}}},"vnfc-list":{"properties":{"invariant-id":{"type":"text"},"name":{"type":"text"},"nfc-naming-code":{"type":"text"},"uuid":{"type":"text"}}}}},"context-list-sdnc-vf-list[*]-name":{"type":"text"},"context-list-sdnc-vf-list[*]-type":{"type":"text"},"context-list-sdnc-vf[*]-name":{"type":"text"},"context-list-sdnc-vf[*]-type":{"type":"text"}}},"violationId":{"type":"text"},"violationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violationType":{"type":"text"}}}}}}}} +{ + "service-validations": { + "mappings": { + "default": { + "properties": { + "modelInvariantId": { + "type": "text" + }, + "modelName": { + "type": "text" + }, + "modelVersionId": { + "type": "text" + }, + "result": { + "type": "text" + }, + "serviceInstanceId": { + "type": "text" + }, + "validationId": { + "type": "text" + }, + "validationTimestamp": { + "type": "date", + "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ" + }, + "violations": { + "type": "nested", + "properties": { + "category": { + "type": "text" + }, + "errorMessage": { + "type": "text" + }, + "modelName": { + "type": "text" + }, + "severity": { + "type": "text" + }, + "validationRule": { + "type": "text" + }, + "violationDetails": { + "properties": { + "context-list-aai-vf-list[*]": { + "properties": { + "invariant-id": { + "type": "text" + }, + "name": { + "type": "text" + }, + "nf-naming-code": { + "type": "text" + }, + "type": { + "type": "text" + }, + "uuid": { + "type": "text" + }, + "vf-module-list": { + "properties": { + "invariant-id": { + "type": "text" + }, + "max-instances": { + "type": "long" + }, + "min-instances": { + "type": "long" + }, + "uuid": { + "type": "text" + } + } + }, + "vnfc-list": { + "properties": { + "name": { + "type": "text" + }, + "nfc-naming-code": { + "type": "text" + } + } + } + } + }, + "context-list-aai-vf-list[*]-name": { + "type": "text" + }, + "context-list-aai-vf-list[*]-type": { + "type": "text" + }, + "context-list-aai-vf[*]-name": { + "type": "text" + }, + "context-list-aai-vf[*]-type": { + "type": "text" + }, + "context-list-sdc-service-name": { + "type": "text" + }, + "context-list-sdc-vf-list[*]": { + "properties": { + "invariant-id": { + "type": "text" + }, + "name": { + "type": "text" + }, + "type": { + "type": "text" + }, + "uuid": { + "type": "text" + }, + "vf-module-list": { + "properties": { + "invariant-id": { + "type": "text" + }, + "max-instances": { + "type": "long" + }, + "min-instances": { + "type": "long" + }, + "uuid": { + "type": "text" + } + } + }, + "vnfc-list": { + "properties": { + "invariant-id": { + "type": "text" + }, + "name": { + "type": "text" + }, + "nfc-naming-code": { + "type": "text" + }, + "uuid": { + "type": "text" + } + } + } + } + }, + "context-list-sdnc-vf-list[*]-name": { + "type": "text" + }, + "context-list-sdnc-vf-list[*]-type": { + "type": "text" + }, + "context-list-sdnc-vf[*]-name": { + "type": "text" + }, + "context-list-sdnc-vf[*]-type": { + "type": "text" + } + } + }, + "violationId": { + "type": "text" + }, + "violationTimestamp": { + "type": "date", + "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ" + }, + "violationType": { + "type": "text" + } + } + }, + "client": { + "type": "text" + }, + "requestId": { + "type": "text" + } + } + } + } + } +} diff --git a/kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json b/kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json index 893d91e3a3..790f8c7f7d 100644 --- a/kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json +++ b/kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json @@ -1 +1,48 @@ -{"service-violations":{"mappings":{"_doc":{"properties":{"category":{"type":"text"},"message":{"type":"text"},"modelInvariantId":{"type":"text"},"modelVersionId":{"type":"text"},"serviceInstanceId":{"type":"text"},"severity":{"type":"text"},"validationId":{"type":"text"},"validationRule":{"type":"text"},"validationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violationId":{"type":"text"},"violationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violationType":{"type":"text"}}}}}} +{ + "service-violations": { + "mappings": { + "default": { + "properties": { + "category": { + "type": "text" + }, + "message": { + "type": "text" + }, + "modelInvariantId": { + "type": "text" + }, + "modelVersionId": { + "type": "text" + }, + "serviceInstanceId": { + "type": "text" + }, + "severity": { + "type": "text" + }, + "validationId": { + "type": "text" + }, + "validationRule": { + "type": "text" + }, + "validationTimestamp": { + "type": "date", + "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ" + }, + "violationId": { + "type": "text" + }, + "violationTimestamp": { + "type": "date", + "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ" + }, + "violationType": { + "type": "text" + } + } + } + } + } +}
\ No newline at end of file diff --git a/kubernetes/pomba/charts/pomba-networkdiscovery/resources/config/application.properties b/kubernetes/pomba/charts/pomba-networkdiscovery/resources/config/application.properties index 9246aca537..c4c00d3509 100644 --- a/kubernetes/pomba/charts/pomba-networkdiscovery/resources/config/application.properties +++ b/kubernetes/pomba/charts/pomba-networkdiscovery/resources/config/application.properties @@ -46,3 +46,16 @@ enricher.types = vserver, l3-network enricher.type.vserver.url = /enricher/v11/cloud-infrastructure/vservers/vserver/{0}?sot=!aai enricher.type.l3-network.url = /enricher/v11/network/l3-networks/l3-network/{0}?sot=!aai +# Mapping from Enricher Attribute name to POMBA Attribute name in the format +# <Enricher Attribute Name>:<Pomba Attribute Name>; and separated by semicolon ";" +# for example, +# vserser-id:id; +# means Attribute name "vserver-id" from Enricher will be converted to "id" in POMBA. +enricher.attributeNameMappingList=Id:id;id:id;vserver-id:id;name:name;locked:inMaintenance; \ + hostname:hostName;status:status;vm_state:vmState;vm-state:vmState;admin_state_up:adminState; \ + favor.disk:flavorDisk;flavor.ephemeral:flavorEphemoral;flavor.extra_specs.hw.cpu_model:flavorHwCpuModel; \ + flavor.extra_specs.hw.cpu_policy:flavorHwCpuPolicy;flavor.extra_specs.hw.mem_page_size:flavorHwMemPageSize; \ + flavor.original_name:flavorOriginalName;flavor.ram:flavorRam;flavor.swap:flavorSwag;flavorvcpus:flavorVcpus; \ + image.id:imageId;hostId:hostId;host:host;host_status:hostStatus;security_group.name:securityGroupName; \ + serverName:serverName;metadata.myservername:otherServerName;shared:sharedNetwork;subnets:subnets; \ + userId:userId;tenant_id:tenantId diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml index b33093054a..79c5f0bfb3 100644 --- a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml @@ -1,6 +1,6 @@ <configuration scan="true" scanPeriod="10 seconds" debug="false"> <jmxConfigurator /> - <property resource="application.properties" /> + <property file="/opt/app/config/application.properties" /> <property name="logDirectory" value="/var/log/onap/pomba-networkdiscoveryctxbuilder" /> <!-- Example evaluator filter applied against console appender --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml index 2b9d290502..2394ef1960 100644 --- a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml @@ -35,7 +35,7 @@ debugEnabled: false config: # Network Discovery Context Builder REST Service networkDiscoveryCtxBuilderHttpProtocol: http - networkDiscoveryCtxBuilderPort: 8080 + networkDiscoveryCtxBuilderPort: 9530 networkDiscoveryCtxBuilderUserId: admin networkDiscoveryCtxBuilderPassword: OBF:1u2a1toa1w8v1tok1u30 networkDiscoveryCtxBuilderResourceList: vnfcs,vservers,l3-networks @@ -43,7 +43,7 @@ config: # Service Decomposition REST Client Configuration serviceDecompositionHttpProtocol: http serviceDecompositionServiceName: pomba-servicedecomposition - serviceDecompositionPort: 8080 + serviceDecompositionPort: 9532 serviceDecompositionInstancePath: /service-decomposition/service/context #Basic Authorization Client credentials for Service Decomposition REST service serviceDecompositionUserId: admin @@ -51,7 +51,7 @@ config: # Network Discovery Micro Service REST Client Configuration networkDiscoveryServiceName: pomba-networkdiscovery - networkDiscoveryPort: 8080 + networkDiscoveryPort: 9531 networkDiscoveryHttpProtocol: http networkDiscoveryPath: /network-discovery/v1/network/resource # Wait for Network Discovery MicroService response in milliseconds diff --git a/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml b/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml index a1df99baa5..0d17725c64 100644 --- a/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml +++ b/kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml @@ -1,4 +1,4 @@ -# Copyright © 2017 Amdocs, Bell Canada +# Copyright © 2018 Amdocs # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -42,7 +42,7 @@ config: sdcPassword: OBF:1uha1uh81w8v1ugi1ugg sdcConsumerId: pomba sdcServiceName: sdc-be - sdcPort: 30204 + sdcPort: 8443 # HTTP Basic Authorization credentials for Rest Service API sdcCtxBuilderUserId: admin sdcCtxBuilderPassword: OBF:1u2a1toa1w8v1tok1u30 diff --git a/kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy b/kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy new file mode 100644 index 0000000000..c6699091f7 --- /dev/null +++ b/kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy @@ -0,0 +1,226 @@ +/* + * ============LICENSE_START=================================================== + * Copyright (c) 2018 Amdocs + * ============================================================================ + * 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===================================================== + */ + +entity { + name 'POA-EVENT' + indexing { + indices 'default-rules' + } + validation { + + // NDCB-AAI comparison: Context level + useRule { + name 'NDCB-AAI-attribute-comparison' + attributes 'context-list.ndcb', 'context-list.aai' + } + + // NDCB-AAI comparison: Service entity + useRule { + name 'NDCB-AAI-attribute-comparison' + attributes 'context-list.ndcb.service', 'context-list.aai.service' + } + + // NDCB-AAI comparison: VF list + useRule { + name 'NDCB-AAI-attribute-comparison' + attributes 'context-list.ndcb.vfList[*]', 'context-list.aai.vfList[*]' + } + + // NDCB-AAI comparison: VF-Module list + useRule { + name 'NDCB-AAI-attribute-comparison' + attributes 'context-list.ndcb.vfList[*].vfModuleList[*]', 'context-list.aai.vfList[*].vfModuleList[*]' + } + + // NDCB-AAI comparison: VNFC list + useRule { + name 'NDCB-AAI-attribute-comparison' + attributes 'context-list.ndcb.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]' + } + + // NDCB-AAI comparison: VM list + useRule { + name 'NDCB-AAI-attribute-comparison' + attributes 'context-list.ndcb.vfList[*].vfModuleList[*].vmList[*]', 'context-list.aai.vfList[*].vfModuleList[*].vmList[*]' + } + + // NDCB-AAI comparison: Network list + useRule { + name 'NDCB-AAI-attribute-comparison' + attributes 'context-list.ndcb.vfList[*].vfModuleList[*].networkList[*]', 'context-list.aai.vfList[*].vfModuleList[*].networkList[*]' + } + + // SDC-AAI VNFC type + useRule { + name 'SDC-AAI-vnfc-type' + attributes 'context-list.sdc.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]' + } + + // SDC-AAI VNFC node count + useRule { + name 'SDC-AAI-vnfc-node-count' + attributes 'context-list.sdc.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]' + } + + // SDC-AAI VF-Module instance + useRule { + name 'SDC-AAI-vf-module-instance-check' + attributes 'context-list.ndcb.vfList[*].vfModuleList[*]', 'context-list.aai.vfList[*].vfModuleList[*]' + } + } +} + +rule { + name 'SDC-AAI-vnfc-type' + category 'INVALID_VALUE' + description 'Validate that each VNFC instance in AAI conforms to a VNFC type defined in SDC model' + errorText 'AAI VNFC instance includes non-specified type in design SDC model' + severity 'ERROR' + attributes 'sdcList', 'aaiList' + validate ''' + def getVnfcTypes = { parsedData -> + parsedData.collect{ it.findResult{ k, v -> if(k.equals("type")) {return "$v"}}} + } + + def slurper = new groovy.json.JsonSlurper() + def sdcTypes = getVnfcTypes(slurper.parseText(sdcList.toString())) + def aaiTypes = getVnfcTypes(slurper.parseText(aaiList.toString())) + + // each type in AAI must exist in SDC + return aaiTypes.containsAll(sdcTypes) + ''' +} + +rule { + name 'SDC-AAI-vnfc-node-count' + category 'INVALID_VALUE' + description 'Validate that for each VNFC node defined in SDC model, there is at least one VNFC instance in AAI' + errorText 'Design has specified types but not all of them exist in AAI' + severity 'WARNING' + attributes 'sdcList', 'aaiList' + validate ''' + def getVnfcNodes = { parsedData -> + parsedData.collect { new Tuple2( + it.findResult{ k, v -> if(k.equals("name")) {return "$v"}}, + it.findResult{ k, v -> if(k.equals("type")) {return "$v"}}) + } + } + + def slurper = new groovy.json.JsonSlurper() + def sdcNodes = getVnfcNodes(slurper.parseText(sdcList.toString())) + def aaiNodes = getVnfcNodes(slurper.parseText(aaiList.toString())) + + // each node in AAI must exist in SDC + return aaiNodes.containsAll(sdcNodes) + ''' +} + +rule { + name 'SDC-AAI-vf-module-instance-check' + category 'INVALID_VALUE' + description 'Validate that each VF module instance in AAI conforms to a VF module defined in SDC service model' + errorText 'One or more AAI VF module instance(s) not defined in SDC model' + severity 'CRITICAL' + attributes 'sdcList', 'aaiList' + validate ''' + def getVfModules = { parsedData -> + parsedData.collect{ it.findResult{ k, v -> if(k.equals("name")) {return "$v"}}} + } + + def slurper = new groovy.json.JsonSlurper() + def sdcVfModules = getVfModules(slurper.parseText(sdcList.toString())) + def aaiVfModules = getVfModules(slurper.parseText(aaiList.toString())) + + // all VF modules in AAI must exist in SDC + return aaiVfModules.containsAll(sdcVfModules) + ''' +} + +rule { + name 'NDCB-AAI-attribute-comparison' + category 'INVALID_VALUE' + description 'Verify that every attribute in Network-Discovery is the same as in AAI' + errorText 'Some attributes in Network-Discovery are not equal to attributes in AAI' + severity 'ERROR' + attributes 'ndcbItems', 'aaiItems' + validate ''' + Closure<java.util.Map> getAttributes = { parsedData -> + java.util.Map attributeMap = new java.util.HashMap() + + def isAttributeDataQualityOk = { attribute -> + attribute.findResult{ k, v -> if(k.equals("dataQuality") ) {return v.get("status")}}.equals("ok") + } + + def addToMap = { attrKey, attrValue -> + java.util.Set values = attributeMap.get("$attrKey") + if(values == null) { + values = new java.util.HashSet() + attributeMap.put("$attrKey", values) + } + values.add("$attrValue") + } + + def addAttributeToMap = { attribute -> + if(isAttributeDataQualityOk(attribute)) { + String key, value + attribute.each { k, v -> + if(k.equals("name")) {key = "$v"} + if(k.equals("value")) {value = "$v"} + } + addToMap("$key", "$value") + } + } + + def processKeyValue = { key, value -> + if(value instanceof java.util.ArrayList) { + if(key.equals("attributeList")) { + value.each { + addAttributeToMap(it) + } + } + } else if(!(value instanceof groovy.json.internal.LazyMap)) { + // only add key-value attributes, skip the rest + addToMap("$key", "$value") + } + } + + if(parsedData instanceof java.util.ArrayList) { + parsedData.each { + it.each { key, value -> processKeyValue(key, value) } + } + } else { + parsedData.each { key, value -> processKeyValue(key, value) } + } + return attributeMap + } + + def slurper = new groovy.json.JsonSlurper() + java.util.Map ndcb = getAttributes(slurper.parseText(ndcbItems.toString())) + java.util.Map aai = getAttributes(slurper.parseText(aaiItems.toString())) + + ndcb.each{ ndcbKey, ndcbValueList -> + def aaiValueList = aai.get("$ndcbKey") + aaiValueList.each{ aaiValue -> + if(!ndcbValueList.any{ it == "$aaiValue" }) { + return false + } + } + } + return true + ''' +}
\ No newline at end of file diff --git a/kubernetes/pomba/charts/pomba-validation-service/templates/configmap.yaml b/kubernetes/pomba/charts/pomba-validation-service/templates/configmap.yaml index e66afdc71e..d3bfd813e6 100644 --- a/kubernetes/pomba/charts/pomba-validation-service/templates/configmap.yaml +++ b/kubernetes/pomba/charts/pomba-validation-service/templates/configmap.yaml @@ -35,3 +35,11 @@ metadata: namespace: {{ include "common.namespace" . }} data: {{ tpl (.Files.Glob "resources/appconfig/topics/*.properties").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-rules + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/bundleconfig/etc/rules/poa-event/*.groovy").AsConfig . | indent 2 }} diff --git a/kubernetes/pomba/charts/pomba-validation-service/templates/deployment.yaml b/kubernetes/pomba/charts/pomba-validation-service/templates/deployment.yaml index 550223b4e9..5faa45357c 100644 --- a/kubernetes/pomba/charts/pomba-validation-service/templates/deployment.yaml +++ b/kubernetes/pomba/charts/pomba-validation-service/templates/deployment.yaml @@ -72,6 +72,8 @@ spec: name: config-auth - mountPath: {{ .Values.config.configTopicsDir }}/ name: config-topics + - mountPath: {{ .Values.config.rulesDir }}/ + name: rules resources: {{ toYaml .Values.resources | indent 12 }} {{- if .Values.nodeSelector }} @@ -125,5 +127,12 @@ spec: path: topic-poa-audit-result.properties - key: topic-poa-rule-validation.properties path: topic-poa-rule-validation.properties + - name: rules + configMap: + name: {{ include "common.fullname" . }}-rules + defaultMode: 0644 + items: + - key: default-rules.groovy + path: default-rules.groovy imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/pomba/charts/pomba-validation-service/values.yaml b/kubernetes/pomba/charts/pomba-validation-service/values.yaml index 775527f4b8..9607671e45 100644 --- a/kubernetes/pomba/charts/pomba-validation-service/values.yaml +++ b/kubernetes/pomba/charts/pomba-validation-service/values.yaml @@ -43,6 +43,7 @@ config: configDir: /opt/app/validation-service/appconfig configAuthDir: /opt/app/validation-service/appconfig/auth configTopicsDir: /opt/app/validation-service/appconfig/topics + rulesDir: /opt/app/validation-service/bundleconfig/etc/rules/poa-event maxHeap: 1024 # username: myusername # password: mypassword diff --git a/kubernetes/portal/charts/portal-app/templates/configmap.yaml b/kubernetes/portal/charts/portal-app/templates/configmap.yaml index cf3b6a579a..178e91c5fc 100644 --- a/kubernetes/portal/charts/portal-app/templates/configmap.yaml +++ b/kubernetes/portal/charts/portal-app/templates/configmap.yaml @@ -17,5 +17,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onapportal 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/deliveries/properties/ONAPPORTAL/*").AsConfig . | indent 2 }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/deliveries/properties/ONAPPORTAL/*").AsConfig . | indent 2 }} diff --git a/kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml b/kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml index 07ce9b1a7d..3f45468913 100644 --- a/kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml +++ b/kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-docker-entry-initd 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/cassandra/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }} diff --git a/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml b/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml index b212fc22d8..9a08da5ab5 100644 --- a/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml +++ b/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-mariadb 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/mariadb/*").AsConfig . | indent 2 }} diff --git a/kubernetes/portal/charts/portal-sdk/templates/configmap.yaml b/kubernetes/portal/charts/portal-sdk/templates/configmap.yaml index b41942886e..bce68965c3 100644 --- a/kubernetes/portal/charts/portal-sdk/templates/configmap.yaml +++ b/kubernetes/portal/charts/portal-sdk/templates/configmap.yaml @@ -18,5 +18,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onapportalsdk 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/deliveries/properties/ONAPPORTALSDK/*").AsConfig . | indent 2 }} diff --git a/kubernetes/portal/charts/portal-widget/templates/configmap.yaml b/kubernetes/portal/charts/portal-widget/templates/configmap.yaml index ab20a3f79e..6779c286be 100644 --- a/kubernetes/portal/charts/portal-widget/templates/configmap.yaml +++ b/kubernetes/portal/charts/portal-widget/templates/configmap.yaml @@ -18,5 +18,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-onapwidgetms 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/deliveries/properties/ONAPWIDGETMS/*").AsConfig . | indent 2 }} diff --git a/kubernetes/portal/templates/configmap.yaml b/kubernetes/portal/templates/configmap.yaml index 568c689ff5..0c677328a6 100644 --- a/kubernetes/portal/templates/configmap.yaml +++ b/kubernetes/portal/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: portal-filebeat 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/filebeat.yml").AsConfig . | indent 2 }} diff --git a/kubernetes/robot/demo-k8s.sh b/kubernetes/robot/demo-k8s.sh index 5e8ba3331b..c4124c2ad4 100755 --- a/kubernetes/robot/demo-k8s.sh +++ b/kubernetes/robot/demo-k8s.sh @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -#!/bin/bash -x +#!/bin/bash # # Execute tags built to support the hands on demo, @@ -166,6 +166,8 @@ do esac done +set -x + ETEHOME=/var/opt/OpenECOMP_ETE VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py" POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot) diff --git a/kubernetes/robot/ete-k8s.sh b/kubernetes/robot/ete-k8s.sh index befe142311..22b83e8545 100755 --- a/kubernetes/robot/ete-k8s.sh +++ b/kubernetes/robot/ete-k8s.sh @@ -20,10 +20,11 @@ # Note: Do not run multiple concurrent ete.sh as the --display is not parameterized and tests will collide # if [ "$1" == "" ] || [ "$2" == "" ]; then - echo "Usage: ete-k8s.sh [namespace] [ health | ete | closedloop | instantiate | distribute ]" + echo "Usage: ete-k8s.sh [namespace] [ health | ete | closedloop | instantiate | distribute | portal ]" exit fi +set -x export NAMESPACE="$1" diff --git a/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py index b87ca650fc..a857e8300b 100644 --- a/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py +++ b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py @@ -1,4 +1,4 @@ -# Copyright © 2018 Amdocs, Bell Canada +# Copyright (c) 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. diff --git a/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py index f2b50ce7dd..9111644e74 100644 --- a/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py +++ b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py @@ -1,4 +1,4 @@ -# Copyright © 2018 Amdocs, Bell Canada +# Copyright (c) 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. @@ -26,7 +26,7 @@ GLOBAL_APPC_SERVER_PROTOCOL = "http" GLOBAL_APPC_SERVER_PORT = "8282" GLOBAL_APPC_SERVER = "http://appc.{{include "common.namespace" .}}:" GLOBAL_APPC_USERNAME = "admin" -GLOBAL_APPC_PASSWORD = "admin" +GLOBAL_APPC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" GLOBAL_APPC_CDT_SERVER_PROTOCOL = "http" GLOBAL_APPC_CDT_SERVER_PORT = "80" GLOBAL_APPC_CDT_SERVER = "http://appc-cdt.{{include "common.namespace" .}}:" @@ -75,8 +75,20 @@ GLOBAL_MR_SERVER_PORT = "3904" # mso info - everything is from the private oam network (also called onap private network) GLOBAL_MSO_SERVER_PROTOCOL = "http" GLOBAL_MSO_SERVER_PORT = "8080" + +GLOBAL_MSO_APIHAND_SERVER_PORT = "8080" +GLOBAL_MSO_ASDCHAND_SERVER_PORT = "8085" +GLOBAL_MSO_BPMN_SERVER_PORT = "8081" +GLOBAL_MSO_CATDB_SERVER_PORT = "8082" +GLOBAL_MSO_OPENSTACK_SERVER_PORT = "8087" +GLOBAL_MSO_REQDB_SERVER_PORT = "8083" +GLOBAL_MSO_SDNC_SERVER_PORT = "8086" +GLOBAL_MSO_VFC_SERVER_PORT = "8084" + GLOBAL_MSO_USERNAME = "InfraPortalClient" +GLOBAL_MSO_CATDB_USERNAME = "bpel" GLOBAL_MSO_PASSWORD = "password1$" + # music info - everything is from the private oam network (also called onap private network) GLOBAL_MUSIC_SERVER_PROTOCOL = "http" GLOBAL_MUSIC_SERVER_PORT = "8080" @@ -93,7 +105,7 @@ GLOBAL_PACKET_GENERATOR_USERNAME = "admin" GLOBAL_PACKET_GENERATOR_PASSWORD = "admin" GLOBAL_PGN_PORT = "2831" # policy info - everything is from the private oam network (also called onap private network) -GLOBAL_POLICY_SERVER_PROTOCOL = "http" +GLOBAL_POLICY_SERVER_PROTOCOL = "https" GLOBAL_POLICY_SERVER_PORT = "8081" GLOBAL_POLICY_HEALTHCHECK_PORT = "6969" GLOBAL_POLICY_AUTH = "dGVzdHBkcDphbHBoYTEyMw==" @@ -116,8 +128,8 @@ GLOBAL_SMS_SERVER_PROTOCOL = "https" GLOBAL_SMS_SERVER_NAME = "aaf-sms.{{include "common.namespace" .}}" GLOBAL_SMS_SERVER_PORT = "10443" # vid info - everything is from the private oam network (also called onap private network) -GLOBAL_VID_SERVER_PROTOCOL = "http" -GLOBAL_VID_SERVER_PORT = "8080" +GLOBAL_VID_SERVER_PROTOCOL = "https" +GLOBAL_VID_SERVER_PORT = "8443" GLOBAL_VID_USERNAME = "demo" GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX" GLOBAL_VID_HEALTH_USERNAME = "Default" @@ -132,3 +144,4 @@ GLOBAL_PROXY_WARNING_CONTINUE_XPATH="" GLOBAL_DNS_TRAFFIC_DURATION = "600" # location where heat templates are loaded from GLOBAL_HEAT_TEMPLATES_FOLDER = "/var/opt/OpenECOMP_ETE/demo/heat" + diff --git a/kubernetes/robot/resources/config/eteshare/config/vm_properties.py b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py index d07f2e34a1..4ae8124126 100644 --- a/kubernetes/robot/resources/config/eteshare/config/vm_properties.py +++ b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py @@ -1,4 +1,4 @@ -# Copyright © 2018 Amdocs, Bell Canada +# Copyright (c) 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. @@ -34,7 +34,6 @@ GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR = "log-kibana.{{include "common.namespace" .} GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = "log-ls-http.{{include "common.namespace" .}}" GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}" GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}" -GLOBAL_INJECTED_MSO_IP_ADDR = "so.{{include "common.namespace" .}}" GLOBAL_INJECTED_MUSIC_IP_ADDR = "music.{{include "common.namespace" .}}" GLOBAL_INJECTED_NBI_IP_ADDR = "nbi.{{include "common.namespace" .}}" GLOBAL_INJECTED_NETWORK = "{{ .Values.openStackPrivateNetId }}" @@ -46,6 +45,7 @@ GLOBAL_INJECTED_OOF_IP_ADDR = "N/A" GLOBAL_INJECTED_OOF_HOMING_IP_ADDR = "oof-has-api.{{include "common.namespace" .}}" GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR = "oof-osdf.{{include "common.namespace" .}}" GLOBAL_INJECTED_MSB_IP_ADDR = "msb-iag.{{include "common.namespace" .}}" +GLOBAL_INJECTED_OPENSTACK_API_KEY = "{{ .Values.config.openStackEncryptedPasswordHere}}" GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackPassword }}" GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{ .Values.openStackTenantId }}" GLOBAL_INJECTED_OPENSTACK_USERNAME = "{{ .Values.openStackUserName }}" @@ -61,7 +61,15 @@ GLOBAL_INJECTED_SDC_FE_IP_ADDR = "sdc-fe.{{include "common.namespace" .}}" GLOBAL_INJECTED_SDC_IP_ADDR = "N/A" GLOBAL_INJECTED_SDNC_IP_ADDR = "sdnc.{{include "common.namespace" .}}" GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "sdnc-portal.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_APIHAND_IP_ADDR = "so.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_ASDCHAND_IP_ADDR = "so-sdc-controller.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_BPMN_IP_ADDR = "so-bpmn-infra.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_CATDB_IP_ADDR = "so-catalog-db-adapter.{{include "common.namespace" .}}" GLOBAL_INJECTED_SO_IP_ADDR = "so.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_OPENSTACK_IP_ADDR = "so-openstack-adapter.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_REQDB_IP_ADDR = "so-request-db-adapter.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_SDNC_IP_ADDR = "so-sdnc-adapter.{{include "common.namespace" .}}" +GLOBAL_INJECTED_SO_VFC_IP_ADDR = "so-vfc-adapter.{{include "common.namespace" .}}" GLOBAL_INJECTED_UBUNTU_1404_IMAGE = "{{ .Values.ubuntu14Image }}" GLOBAL_INJECTED_UBUNTU_1604_IMAGE = "{{ .Values.ubuntu16Image }}" GLOBAL_INJECTED_VM_IMAGE_NAME = "{{ .Values.ubuntu14Image }}" @@ -81,7 +89,7 @@ GLOBAL_INJECTED_PROPERTIES = { "GLOBAL_INJECTED_CLOUD_ENV" : "openstack", "GLOBAL_INJECTED_DCAE_IP_ADDR" : "dcae-healthcheck.{{include "common.namespace" .}}", "GLOBAL_INJECTED_DMAAP_DR_PROV_IP_ADDR" : "dmaap-dr-prov.{{include "common.namespace" .}}", - "GLOBAL_INJECTED_DMAAP_DR_NODE_IP_ADDR": "dmaap-dr-node.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_DMAAP_DR_NODE_IP_ADDR" : "dmaap-dr-node.{{include "common.namespace" .}}", "GLOBAL_INJECTED_DNS_IP_ADDR" : "N/A", "GLOBAL_INJECTED_DOCKER_VERSION" : "1.2-STAGING-latest", "GLOBAL_INJECTED_EXTERNAL_DNS" : "N/A", @@ -90,7 +98,6 @@ GLOBAL_INJECTED_PROPERTIES = { "GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR" : "log-kibana.{{include "common.namespace" .}}", "GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR" : "log-ls.{{include "common.namespace" .}}", "GLOBAL_INJECTED_MR_IP_ADDR" : "message-router.{{include "common.namespace" .}}", - "GLOBAL_INJECTED_MSO_IP_ADDR" : "so.{{include "common.namespace" .}}", "GLOBAL_INJECTED_MUSIC_IP_ADDR" : "music.{{include "common.namespace" .}}", "GLOBAL_INJECTED_NBI_IP_ADDR" : "nbi.{{include "common.namespace" .}}", "GLOBAL_INJECTED_NETWORK" : "{{ .Values.openStackPrivateNetId }}", @@ -102,6 +109,7 @@ GLOBAL_INJECTED_PROPERTIES = { "GLOBAL_INJECTED_OOF_HOMING_IP_ADDR" : "oof-has-api.{{include "common.namespace" .}}", "GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR" : "oof-osdf.{{include "common.namespace" .}}", "GLOBAL_INJECTED_MSB_IP_ADDR" : "msb-iag.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_OPENSTACK_API_KEY" : "{{ .Values.config.openStackEncryptedPasswordHere}}", "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "{{ .Values.openStackPassword }}", "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "{{ .Values.openStackTenantId }}", "GLOBAL_INJECTED_OPENSTACK_USERNAME" : "{{ .Values.openStackUserName }}", @@ -117,7 +125,15 @@ GLOBAL_INJECTED_PROPERTIES = { "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}", "GLOBAL_INJECTED_SDNC_IP_ADDR" : "sdnc.{{include "common.namespace" .}}", "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "sdnc-portal.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_APIHAND_IP_ADDR" : "so.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_ASDCHAND_IP_ADDR" : "so-sdc-controller.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_BPMN_IP_ADDR" : "so-bpmn-infra.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_CATDB_IP_ADDR" : "so-catalog-db-adapter.{{include "common.namespace" .}}", "GLOBAL_INJECTED_SO_IP_ADDR" : "so.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_OPENSTACK_IP_ADDR" : "so-openstack-adapter.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_REQDB_IP_ADDR" : "so-request-db-adapter.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_SDNC_IP_ADDR" : "so-sdnc-adapter.{{include "common.namespace" .}}", + "GLOBAL_INJECTED_SO_VFC_IP_ADDR" : "so-vfc-adapter.{{include "common.namespace" .}}", "GLOBAL_INJECTED_UBUNTU_1404_IMAGE" : "{{.Values.ubuntu14Image}}", "GLOBAL_INJECTED_UBUNTU_1604_IMAGE" : "{{.Values.ubuntu16Image}}", "GLOBAL_INJECTED_VM_IMAGE_NAME" : "{{ .Values.ubuntu14Image }}", diff --git a/kubernetes/robot/values.yaml b/kubernetes/robot/values.yaml index 8a28e892f2..2951b6098b 100644..100755 --- a/kubernetes/robot/values.yaml +++ b/kubernetes/robot/values.yaml @@ -22,7 +22,7 @@ global: # global defaults # application image repository: nexus3.onap.org:10001 -image: onap/testsuite:1.2.1 +image: onap/testsuite:1.3.1-STAGING-latest pullPolicy: Always ubuntuInitImage: oomk8s/ubuntu-init:2.0.0 @@ -35,6 +35,9 @@ debugEnabled: false ################################################################# config: +# openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment + openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e" + # Demo configuration # Nexus demo artifact version. Maps to GLOBAL_INJECTED_ARTIFACTS_VERSION demoArtifactsVersion: "1.2.0-SNAPSHOT" @@ -147,4 +150,4 @@ persistence: accessMode: ReadWriteMany size: 2Gi mountPath: /dockerdata-nfs - mountSubPath: robot/logs
\ No newline at end of file + mountSubPath: robot/logs diff --git a/kubernetes/sdc/charts/sdc-be/templates/configmap.yaml b/kubernetes/sdc/charts/sdc-be/templates/configmap.yaml index 8ee112cc34..03eb04efe1 100644 --- a/kubernetes/sdc/charts/sdc-be/templates/configmap.yaml +++ b/kubernetes/sdc/charts/sdc-be/templates/configmap.yaml @@ -18,5 +18,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-logging-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/logging/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdc/charts/sdc-fe/templates/configmap.yaml b/kubernetes/sdc/charts/sdc-fe/templates/configmap.yaml index 8ee112cc34..03eb04efe1 100644 --- a/kubernetes/sdc/charts/sdc-fe/templates/configmap.yaml +++ b/kubernetes/sdc/charts/sdc-fe/templates/configmap.yaml @@ -18,5 +18,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-logging-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/logging/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml index 8ee112cc34..03eb04efe1 100644 --- a/kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml +++ b/kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml @@ -18,5 +18,10 @@ kind: ConfigMap metadata: name: {{ include "common.fullname" . }}-logging-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/logging/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdc/charts/sdc-wfd-be/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-wfd-be/templates/deployment.yaml index abe7649943..50062a1b9b 100644 --- a/kubernetes/sdc/charts/sdc-wfd-be/templates/deployment.yaml +++ b/kubernetes/sdc/charts/sdc-wfd-be/templates/deployment.yaml @@ -83,5 +83,9 @@ spec: value: "{{ .Values.config.sdcProtocol }}" - name: SDC_ENDPOINT value: "{{ .Values.config.sdcEndpoint }}" + - name: SDC_USER + value: "{{ .Values.config.sdcExternalUser }}" + - name: SDC_PASSWORD + value: "{{ .Values.config.sdcExternalUserPassword }}" imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/sdc/charts/sdc-wfd-be/values.yaml b/kubernetes/sdc/charts/sdc-wfd-be/values.yaml index cc1142c119..e2e14301b5 100644 --- a/kubernetes/sdc/charts/sdc-wfd-be/values.yaml +++ b/kubernetes/sdc/charts/sdc-wfd-be/values.yaml @@ -36,13 +36,15 @@ pullPolicy: Always debugEnabled: false config: - javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=6000,server=y,suspend=n -Xmx1536m -Xms1536m" + javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=7001,server=y,suspend=n -Xmx1536m -Xms1536m" cassandaAuthenticationEnabled: true cassandraHosts: sdc-cs cassandraThriftClientPort: 9160 cassandraClientPort: 9042 sdcProtocol: HTTP sdcEndpoint: sdc-be:8080 + sdcExternalUser: workflow + sdcExternalUserPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U # default number of instances replicaCount: 1 diff --git a/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml b/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml index 6eece108ee..076fc11fca 100644 --- a/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml +++ b/kubernetes/sdc/charts/sdc-wfd-fe/values.yaml @@ -34,7 +34,7 @@ pullPolicy: Always debugEnabled: false config: - javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=6001,server=y,suspend=n -Xmx256m -Xms256m" + javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=7000,server=y,suspend=n -Xmx256m -Xms256m" backendServerURL: "http://sdc-wfd-be:8080" # default number of instances diff --git a/kubernetes/sdc/templates/configmap.yaml b/kubernetes/sdc/templates/configmap.yaml index affae0c197..1e69c97586 100644 --- a/kubernetes/sdc/templates/configmap.yaml +++ b/kubernetes/sdc/templates/configmap.yaml @@ -18,6 +18,11 @@ kind: ConfigMap metadata: name: {{ .Release.Name }}-sdc-environments-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/environments/*").AsConfig . | indent 2 }} --- @@ -26,5 +31,10 @@ kind: ConfigMap metadata: name: {{ .Release.Name }}-sdc-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/*").AsConfig . | indent 2 }} diff --git a/kubernetes/sdnc/charts/dmaap-listener/resources/config/aai.properties b/kubernetes/sdnc/charts/dmaap-listener/resources/config/aai.properties new file mode 100644 index 0000000000..66e62672b2 --- /dev/null +++ b/kubernetes/sdnc/charts/dmaap-listener/resources/config/aai.properties @@ -0,0 +1,35 @@ +TransportType=HTTPAUTH +Latitude =50.000000 +Longitude =-100.000000 +Version =1.0 +ServiceName =dmaap-v1.dev.dmaap.dt.saat.acsi.openecomp.org/events +Environment =TEST +Partner = BOT_R +routeOffer=MR1 +SubContextPath =/ +Protocol =http +MethodType =GET +username =admin +password =admin +contenttype =application/json +authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM= +authDate=2016-02-18T13:57:37-0800 +host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}} +topic=AAI-EVENT +group=jmsgrp +id=sdnc2 +timeout=15000 +limit=1000 +filter= +AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler +AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler +AFT_DME2_REQ_TRACE_ON=true +AFT_ENVIRONMENT=AFTUAT +AFT_DME2_EP_CONN_TIMEOUT=15000 +AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000 +AFT_DME2_EP_READ_TIMEOUT_MS=50000 +sessionstickinessrequired=NO +DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt +sdnc.odl.user=admin +sdnc.odl.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U +sdnc.odl.url-base=http://sdnc.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations
\ No newline at end of file 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/dmaap-listener/templates/deployment.yaml b/kubernetes/sdnc/charts/dmaap-listener/templates/deployment.yaml index 1a13cc3595..d69d67dfc4 100644 --- a/kubernetes/sdnc/charts/dmaap-listener/templates/deployment.yaml +++ b/kubernetes/sdnc/charts/dmaap-listener/templates/deployment.yaml @@ -73,8 +73,11 @@ spec: - mountPath: {{ .Values.config.configDir }}/lcm.properties name: properties subPath: lcm.properties + - mountPath: {{ .Values.config.configDir }}/aai.properties + name: properties + subPath: aai.properties resources: -{{ toYaml .Values.resources | indent 12 }} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} diff --git a/kubernetes/sdnc/charts/dmaap-listener/values.yaml b/kubernetes/sdnc/charts/dmaap-listener/values.yaml index 9ddf590abd..e735090840 100644 --- a/kubernetes/sdnc/charts/dmaap-listener/values.yaml +++ b/kubernetes/sdnc/charts/dmaap-listener/values.yaml @@ -72,12 +72,23 @@ mysql: service: name: sdnc-dbhost internalPort: 3306 +#Resource limit flavor -By default using small +flavor: small +#Segregation for different environment (small and large) + +resources: + small: + limits: + cpu: 2 + memory: 4Gi + requests: + cpu: 2 + memory: 4Gi + large: + limits: + cpu: 4 + memory: 8Gi + requests: + cpu: 4 + memory: 8Gi -resources: {} -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi 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-ansible-server/templates/deployment.yaml b/kubernetes/sdnc/charts/sdnc-ansible-server/templates/deployment.yaml index a19c33a7c6..fe9d302e17 100644 --- a/kubernetes/sdnc/charts/sdnc-ansible-server/templates/deployment.yaml +++ b/kubernetes/sdnc/charts/sdnc-ansible-server/templates/deployment.yaml @@ -75,7 +75,7 @@ spec: name: config subPath: RestServer_config resources: -{{ toYaml .Values.resources | indent 12 }} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} @@ -93,4 +93,4 @@ spec: name: {{ include "common.fullname" . }} defaultMode: 0644 imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml b/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml index 895fa6ec40..6cd46b6f1e 100644 --- a/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml +++ b/kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml @@ -69,11 +69,23 @@ service: ingress: enabled: false -resources: {} -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +#Resource Limit flavor -By default using small +flavor: small + +#Segregation for Different environment (Small and Large) + +resources: + small: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 1 + memory: 1Gi + large: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 2 + memory: 2Gi 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/sdnc-portal/templates/deployment.yaml b/kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml index 87ed6aa283..aba6870908 100644 --- a/kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml +++ b/kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml @@ -97,7 +97,7 @@ spec: name: properties subPath: svclogic.properties.sdnctldb02 resources: -{{ toYaml .Values.resources | indent 12 }} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} diff --git a/kubernetes/sdnc/charts/sdnc-portal/values.yaml b/kubernetes/sdnc/charts/sdnc-portal/values.yaml index 19385031c7..400d74941a 100644 --- a/kubernetes/sdnc/charts/sdnc-portal/values.yaml +++ b/kubernetes/sdnc/charts/sdnc-portal/values.yaml @@ -77,11 +77,22 @@ mysql: name: sdnc-dbhost internalPort: 3306 -resources: {} -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +#Resource limit flavor -By default using small +flavor: small +#segregation for different environment (small and large) + +resources: + small: + limits: + cpu: 1 + memory: 1Gi + requests: + cpu: 1 + memory: 1Gi + large: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 2 + memory: 2Gi 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/charts/ueb-listener/templates/deployment.yaml b/kubernetes/sdnc/charts/ueb-listener/templates/deployment.yaml index 5aa1a31116..2258d4ab94 100644 --- a/kubernetes/sdnc/charts/ueb-listener/templates/deployment.yaml +++ b/kubernetes/sdnc/charts/ueb-listener/templates/deployment.yaml @@ -73,7 +73,7 @@ spec: name: properties subPath: ueb-listener.properties resources: -{{ toYaml .Values.resources | indent 12 }} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} diff --git a/kubernetes/sdnc/charts/ueb-listener/values.yaml b/kubernetes/sdnc/charts/ueb-listener/values.yaml index de9bd27291..c6bbecaba9 100644 --- a/kubernetes/sdnc/charts/ueb-listener/values.yaml +++ b/kubernetes/sdnc/charts/ueb-listener/values.yaml @@ -74,11 +74,21 @@ mysql: ingress: enabled: false -resources: {} -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +#Resource limit flavor -By default using small +flavor: small +#Segregation for different environment (small and large) +resources: + small: + limits: + cpu: 2 + memory: 4Gi + requests: + cpu: 2 + memory: 4Gi + large: + limits: + cpu: 4 + memory: 8Gi + requests: + cpu: 4 + memory: 8Gi diff --git a/kubernetes/sdnc/resources/config/conf/lcm-dg.properties b/kubernetes/sdnc/resources/config/conf/lcm-dg.properties index 9a39d0fd72..5d51118812 100644 --- a/kubernetes/sdnc/resources/config/conf/lcm-dg.properties +++ b/kubernetes/sdnc/resources/config/conf/lcm-dg.properties @@ -1,3 +1,4 @@ +#ANSIBLE ansible.agenturl=http://{{.Values.config.ansibleServiceName}}:{{.Values.config.ansiblePort}}/Dispatch ansible.user=sdnc ansible.password=sdnc @@ -8,11 +9,29 @@ ansible.version=0.00 lcm.upgrade-pre-check.playbookname=ansible_precheck lcm.upgrade-post-check.playbookname=ansible_postcheck lcm.upgrade-software.playbookname=ansible_upgradesw +lcm.pnf.upgrade-pre-check.playbookname=ansible_precheck_pnf +lcm.pnf.upgrade-post-check.playbookname=ansible_postcheck_pnf +lcm.pnf.upgrade-software.playbookname=ansible_upgradesw_pnf +lcm.quiesce-traffic.playbookname=ansible_quiescetraffic +lcm.resume-traffic.playbookname=ansible_resumetraffic +lcm.distribute-traffic.playbookname=ansible_distributetraffic + +#RESTAPI INTERFACEs restapi.templateDir=/opt/onap/sdnc/restapi/templates + +#RESTCONF +lcm.restconf.configscaleout.templatefile=lcm-restconf-configscaleout.json +lcm.restconf.configscaleout.urlpath=/restconf/config/vlb-business-vnf-onap-plugin:vlb-business-vnf-onap-plugin/vdns-instances/vdns-instance/ +lcm.restconf.configscaleout.geturlpath=/restconf/config/vlb-business-vnf-onap-plugin:vlb-business-vnf-onap-plugin +lcm.restconf.configscaleout.user= +lcm.restconf.configscaleout.password= +lcm.restconf.port=8183 + +#DMAAP restapi.lcm.dmaap.publish.templatefile=lcm-dmaap-publish-template.json lcm.dmaap.url=http://message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events/SDNC-LCM-WRITE lcm.dmaap.user= lcm.dmaap.password= lcm.dmaap.version=1.0 lcm.dmaap.partition=MSO -lcm.dmaap.type=response
\ No newline at end of file +lcm.dmaap.type=response 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/sdnc/templates/service.yaml b/kubernetes/sdnc/templates/service.yaml index 63a85a39aa..e74202ca43 100644 --- a/kubernetes/sdnc/templates/service.yaml +++ b/kubernetes/sdnc/templates/service.yaml @@ -98,11 +98,11 @@ spec: - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort4 }} port: {{ .Values.service.clusterPort2 }} targetPort: {{ .Values.service.internalPort4 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort4 }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort4 }} - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }} port: {{ .Values.service.clusterPort3 }} targetPort: {{ .Values.service.internalPort }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort1 }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort1 }} type: NodePort selector: statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0 @@ -121,11 +121,11 @@ spec: - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort4 }} port: {{ .Values.service.clusterPort2 }} targetPort: {{ .Values.service.internalPort4 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort5 }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort5 }} - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }} port: {{ .Values.service.clusterPort3 }} targetPort: {{ .Values.service.internalPort }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort2 }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort2 }} type: NodePort selector: statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1 @@ -144,11 +144,11 @@ spec: - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort4 }} port: {{ .Values.service.clusterPort2 }} targetPort: {{ .Values.service.internalPort4 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort6 }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort6 }} - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }} port: {{ .Values.service.clusterPort3 }} targetPort: {{ .Values.service.internalPort }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort3 }} + nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort3 }} type: NodePort selector: statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2 diff --git a/kubernetes/sdnc/templates/statefulset.yaml b/kubernetes/sdnc/templates/statefulset.yaml index 03ae8800bd..8c52e5c20e 100644 --- a/kubernetes/sdnc/templates/statefulset.yaml +++ b/kubernetes/sdnc/templates/statefulset.yaml @@ -128,7 +128,7 @@ spec: - mountPath: /var/log/onap name: logs resources: -{{ toYaml .Values.resources | indent 12 }} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml index 607fd05400..1fd2fa5c8a 100644 --- a/kubernetes/sdnc/values.yaml +++ b/kubernetes/sdnc/values.yaml @@ -17,6 +17,7 @@ ################################################################# global: nodePortPrefix: 302 + nodePortPrefixExt: 304 repository: nexus3.onap.org:10001 readinessRepository: oomk8s readinessImage: readiness-check:2.0.0 @@ -196,11 +197,23 @@ persistence: ingress: enabled: false -resources: {} -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi +#Resource Limit flavor -By Default using small +flavor: small +#segregation for different envionment (Small and Large) + +resources: + small: + limits: + cpu: 2 + memory: 4Gi + requests: + cpu: 2 + memory: 4Gi + + large: + limits: + cpu: 4 + memory: 8Gi + requests: + cpu: 4 + memory: 8Gi diff --git a/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml index 01f836ae80..9021ef5003 100755 --- a/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml @@ -15,7 +15,7 @@ aai: auth: 2630606608347B7124C244AB0FE34F6F dme2: timeout: '30000' - endpoint: https://aai.api.simpledemo.onap.org:8443 + endpoint: https://aai.{{ include "common.namespace" . }}:8443 camunda: bpm: admin-user: @@ -39,50 +39,50 @@ mso: adapters: requestDb: auth: Basic YnBlbDptc28tZGItMTUwNyE= - endpoint: https://c1.vm1.mso.simpledemo.onap.org:8081 + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083 completemsoprocess: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8081/CompleteMsoProcess + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/CompleteMsoProcess db: auth: 26AFB797A6A57960D5D718491925C50F77CDC22AC394B3DBA09950D8FD1C0764 password: wLg4sjrAFUS8rfVfdvTXeQ== - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083/services/RequestsDbAdapter + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/services/RequestsDbAdapter spring: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083 + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083 network: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/NetworkAdapter + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/NetworkAdapter rest: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/rest/v1/networks + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/v1/networks openecomp: db: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083/services/RequestsDbAdapter + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/services/RequestsDbAdapter po: auth: 757A94191D685FD2092AC1490730A4FC password: 3141634BF7E070AA289CF2892C986C0B sdnc: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8086/adapters/SDNCAdapter + endpoint: http://mso-sdnc-adapter.{{ include "common.namespace" . }}:8086/adapters/SDNCAdapter rest: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8086/adapters/rest/v1/sdnc + endpoint: http://mso-sdnc-adapter.{{ include "common.namespace" . }}:8086/adapters/rest/v1/sdnc timeout: PT60S tenant: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/TenantAdapter + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/TenantAdapter vnf: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/VnfAdapter + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAdapter rest: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/rest/vnfs/v1/vnfs + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/vnfs/v1/vnfs volume-groups: rest: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/rest/v1/volume-groups + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}g:8087/services/rest/v1/volume-groups vnf-async: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/VnfAdapterAsync + endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAsyncAdapter bpmn: process: historyTimeToLive: '30' callbackRetryAttempts: '5' catalog: db: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082/ecomp/mso/catalog + endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8083/ecomp/mso/catalog spring: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082 + endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8083 db: auth: Basic YnBlbDptc28tZGItMTUwNyE= default: @@ -98,7 +98,7 @@ mso: timeout: PT60S request: db: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083/ + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/ rollback: 'true' sdnc: password: 3141634BF7E070AA289CF2892C986C0B @@ -110,7 +110,7 @@ mso: site-name: CamundaEngine sniro: auth: test:testpwd - callback: http://c1.vm1.mso.simpledemo.onap.org:8086/adapters/rest/SDNCNotify + callback: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/adapters/rest/SDNCNotify endpoint: http://replaceme:28090/optimizationInstance/V1/create timeout: PT30M workflow: @@ -183,20 +183,20 @@ mso: aai: namespace: http://org.onap.aai.inventory/ message: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8081/mso/WorkflowMessage + endpoint: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/WorkflowMessage notification: name: GenericNotificationServiceATT sdncadapter: - callback: http://c1.vm1.mso.simpledemo.onap.org:8086/mso/SDNCAdapterCallbackService + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/SDNCAdapterCallbackService vnfadapter: create: - callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback delete: - callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback query: - callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback rollback: - callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify + callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback global: dmaap: username: testuser @@ -208,11 +208,11 @@ policy: auth: Basic dGVzdHBkcDphbHBoYTEyMw== client: auth: Basic bTAzNzQzOnBvbGljeVIwY2sk - endpoint: https://localhost:8081/pdp/api/ + endpoint: http://pdp.{{ include "common.namespace" . }}:8081/pdp/api/ environment: TEST sdnc: auth: Basic YWRtaW46YWRtaW4= - host: https://localhost:8443 + host: https://sdc-be.{{ include "common.namespace" . }}:8443 path: /restconf/operations/GENERIC-RESOURCE-API appc: client: @@ -230,22 +230,12 @@ appc: key: VIlbtVl6YLhNUrtU secret: 64AG2hF4pYeG2pq7CT6XwUOT service: ueb - poolMembers: ueb1.simpledemo.onap.org:3904,ueb2.simpledemo.onap.org:3904 + poolMembers: message-router.{{ include "common.namespace" . }}:3904,message-router.{{ include "common.namespace" . }}:3904 server: port: 8081 tomcat: max-threads: 50 spring: - datasource: - driver-class-name: org.mariadb.jdbc.Driver - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/camundabpmn - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true security: usercredentials: - @@ -271,4 +261,5 @@ spring: - username: mso_admin password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke' - role: ACTUATOR
\ No newline at end of file + role: ACTUATOR + diff --git a/kubernetes/so/charts/so-bpmn-infra/templates/configmap.yaml b/kubernetes/so/charts/so-bpmn-infra/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/charts/so-bpmn-infra/templates/configmap.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml b/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-bpmn-infra/values.yaml b/kubernetes/so/charts/so-bpmn-infra/values.yaml index 4f6e1093b1..e513e6a90d 100755 --- a/kubernetes/so/charts/so-bpmn-infra/values.yaml +++ b/kubernetes/so/charts/so-bpmn-infra/values.yaml @@ -22,19 +22,30 @@ app: so-bpmn-infra service: type: ClusterIP internalPort: 8081 - externalPort: 10200 + externalPort: 8081 portName: so-bpmn-port updateStrategy: type: RollingUpdate maxUnavailable: 1 maxSurge: 1 +# Resource Limit flavor -By Default using small +flavor: large +# Segregation for Different environment (Small and Large) resources: + small: + limits: + memory: 4Gi + cpu: 2000m requests: memory: 1Gi cpu: 500m + large: limits: memory: 8Gi cpu: 4000m + requests: + memory: 2Gi + cpu: 1000m livenessProbe: path: /manage/health scheme: HTTP @@ -47,4 +58,4 @@ ingress: enabled: false nodeSelector: {} tolerations: [] -affinity: {}
\ No newline at end of file +affinity: {} diff --git a/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml index 65f22b73b8..bdf82b6fbd 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml @@ -22,30 +22,10 @@ mso: catalog: db: spring: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082 + endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082 db: auth: Basic YnBlbDpwYXNzd29yZDEk spring: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - initialize: false - initialization-mode: never - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true - jpa: - generate-ddl: false - show-sql: false - hibernate: - ddl-auto: validate - naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy - enable-lazy-load-no-trans: true - database-platform: org.hibernate.dialect.MySQL5InnoDBDialect security: usercredentials: - @@ -59,8 +39,3 @@ spring: #Actuator management: context-path: /manage -flyway: - base-on-migrate: true - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - user: ${DB_USERNAME} - password: ${DB_PASSWORD}
\ No newline at end of file diff --git a/kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml b/kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-catalog-db-adapter/values.yaml b/kubernetes/so/charts/so-catalog-db-adapter/values.yaml index 7e49057cc0..1b2441f8f7 100755 --- a/kubernetes/so/charts/so-catalog-db-adapter/values.yaml +++ b/kubernetes/so/charts/so-catalog-db-adapter/values.yaml @@ -22,19 +22,30 @@ app: catalog-db-adapter service:
type: ClusterIP
internalPort: 8082
- externalPort: 10800
+ externalPort: 8082
portName: so-catdb-port
updateStrategy:
type: RollingUpdate
maxUnavailable: 1
maxSurge: 1
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
resources:
+ small:
+ limits:
+ memory: 4Gi
+ cpu: 2000m
requests:
memory: 1Gi
cpu: 500m
+ large:
limits:
- memory: 4Gi
- cpu: 2000m
+ memory: 8Gi
+ cpu: 4000m
+ requests:
+ memory: 2Gi
+ cpu: 1000m
livenessProbe:
path: /manage/health
port: 8082
@@ -48,4 +59,4 @@ ingress: enabled: false
nodeSelector: {}
tolerations: []
-affinity: {}
\ No newline at end of file +affinity: {}
diff --git a/kubernetes/so/charts/so-mariadb/templates/deployment.yaml b/kubernetes/so/charts/so-mariadb/templates/deployment.yaml index a72d10851b..07feb4aba2 100755 --- a/kubernetes/so/charts/so-mariadb/templates/deployment.yaml +++ b/kubernetes/so/charts/so-mariadb/templates/deployment.yaml @@ -81,7 +81,7 @@ spec: - name: docker-entrypoint-initdb-d mountPath: "/docker-entrypoint-initdb.d" resources: -{{ toYaml .Values.resources | indent 12 }} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} @@ -107,4 +107,4 @@ spec: - name: docker-entrypoint-initdb-d emptyDir: {} imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-mariadb/values.yaml b/kubernetes/so/charts/so-mariadb/values.yaml index 81370c7205..8ea7e13286 100755 --- a/kubernetes/so/charts/so-mariadb/values.yaml +++ b/kubernetes/so/charts/so-mariadb/values.yaml @@ -72,21 +72,20 @@ service: nodePort: 52 ingress: enabled: false -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # s, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi
\ No newline at end of file +# Resource Limit flavor +flavor: small +resources: + small: + limits: + cpu: 2 + memory: 4Gi + requests: + cpu: 2 + memory: 4Gi + large: + limits: + cpu: 4 + memory: 8Gi + requests: + cpu: 4 + memory: 8Gi diff --git a/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml index f964364225..331ee65b36 100755 --- a/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml @@ -14,16 +14,6 @@ server: port: 8087 spring: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true security: usercredentials: - @@ -98,7 +88,7 @@ mso: catalog: db: spring: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082 + endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082 db: auth: Basic YnBlbDptc28tZGItMTUwNyE= site-name: localDevEnv @@ -137,4 +127,4 @@ cloud_config: region_id: "DFW" clli: "DFW" aic_version: "2.5" - identity_service_id: "RAX_KEYSTONE"
\ No newline at end of file + identity_service_id: "RAX_KEYSTONE" diff --git a/kubernetes/so/charts/so-openstack-adapter/templates/configmap.yaml b/kubernetes/so/charts/so-openstack-adapter/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/charts/so-openstack-adapter/templates/configmap.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-openstack-adapter/values.yaml b/kubernetes/so/charts/so-openstack-adapter/values.yaml index abd12c76dc..f5b993120d 100755 --- a/kubernetes/so/charts/so-openstack-adapter/values.yaml +++ b/kubernetes/so/charts/so-openstack-adapter/values.yaml @@ -21,19 +21,30 @@ app: openstack-adapter service: type: ClusterIP internalPort: 8087 - externalPort: 10300 + externalPort: 8087 portName: so-optack-port updateStrategy: type: RollingUpdate maxUnavailable: 1 maxSurge: 1 +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) resources: + small: + limits: + memory: 4Gi + cpu: 2000m requests: memory: 1Gi cpu: 500m + large: limits: - memory: 4Gi - cpu: 2000m + memory: 8Gi + cpu: 4000m + requests: + memory: 2Gi + cpu: 1000m livenessProbe: path: /manage/health port: 8087 diff --git a/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml index 82117b03d5..f995d94b3a 100755 --- a/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml @@ -23,28 +23,8 @@ mso: adapters: requestDb: auth: Basic YnBlbDptc28tZGItMTUwNyE= - endpoint: https://c1.vm1.mso.simpledemo.onap.org:8081 + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083 spring: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - initialize: false - initialization-mode: never - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true - jpa: - generate-ddl: false - show-sql: false - hibernate: - ddl-auto: validate - naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy - enable-lazy-load-no-trans: true - database-platform: org.hibernate.dialect.MySQL5InnoDBDialect security: usercredentials: - @@ -58,8 +38,3 @@ spring: #Actuator management: context-path: /manage -flyway: - base-on-migrate: true - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD}
\ No newline at end of file diff --git a/kubernetes/so/charts/so-request-db-adapter/templates/configmap.yaml b/kubernetes/so/charts/so-request-db-adapter/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/charts/so-request-db-adapter/templates/configmap.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-request-db-adapter/values.yaml b/kubernetes/so/charts/so-request-db-adapter/values.yaml index 46ac09e8ee..b57f71e096 100755 --- a/kubernetes/so/charts/so-request-db-adapter/values.yaml +++ b/kubernetes/so/charts/so-request-db-adapter/values.yaml @@ -21,19 +21,30 @@ app: request-db-adapter service:
type: ClusterIP
internalPort: 8083
- externalPort: 10700
+ externalPort: 8083
portName: so-reqdb-port
updateStrategy:
type: RollingUpdate
maxUnavailable: 1
maxSurge: 1
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
resources:
+ small:
+ limits:
+ memory: 4Gi
+ cpu: 2000m
requests:
memory: 1Gi
cpu: 500m
+ large:
limits:
- memory: 4Gi
- cpu: 2000m
+ memory: 8Gi
+ cpu: 4000m
+ requests:
+ memory: 2Gi
+ cpu: 1000m
livenessProbe:
path: /manage/health
port: 8083
@@ -47,4 +58,4 @@ ingress: enabled: false
nodeSelector: {}
tolerations: []
-affinity: {}
\ No newline at end of file +affinity: {}
diff --git a/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml index f33737ddc2..899274c715 100755 --- a/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml @@ -16,16 +16,6 @@ aai: server: port: 8085 spring: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true security: usercredentials: - @@ -36,36 +26,25 @@ spring: username: mso_admin password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke' role: ACTUATOR -request: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true mso: msoKey: 07a7159d3bf51a0e53be7a8f89699be7 logPath: ./logs/sdc catalog: db: spring: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082 + endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082 db: auth: Basic YnBlbDpwYXNzd29yZDEk site-name: onapheat aai: - endpoint: https://aai.api.simpledemo.onap.org:8443 + endpoint: https://aai.{{ include "common.namespace" . }}:8443 asdc-connections: asdc-controller1: user: mso consumerGroup: sdc-OpenSource-Env1 consumerId: sdc-COpenSource-Env11 environmentName: AUTO - asdcAddress: c2.vm1.sdc.simpledemo.onap.org:8443 + asdcAddress: sdc-be.{{ include "common.namespace" . }}:8443 password: 613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247 pollingInterval: 60 pollingTimeout: 60 @@ -75,7 +54,7 @@ mso: keyStorePath: watchDogTimeout: 60 isFitlerInEmptyResources: true - messageBusAddress: vm1.mr.simpledemo.onap.org,vm1.mr.simpledemo.onap.org + messageBusAddress: message-router.{{ include "common.namespace" . }},message-router.{{ include "common.namespace" . }} asdc: config: key: 566B754875657232314F5548556D3665 @@ -83,4 +62,8 @@ mso: count: 3, componentNames: SO,AAI,SDNC scheduling: - enabled: false
\ No newline at end of file + enabled: false + adapters: + requestDb: + auth: Basic YnBlbDptc28tZGItMTUwNyE= + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083 diff --git a/kubernetes/so/charts/so-sdc-controller/templates/configmap.yaml b/kubernetes/so/charts/so-sdc-controller/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/charts/so-sdc-controller/templates/configmap.yaml +++ b/kubernetes/so/charts/so-sdc-controller/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml b/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml +++ b/kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-sdc-controller/values.yaml b/kubernetes/so/charts/so-sdc-controller/values.yaml index 903b490612..f5a5176c52 100755 --- a/kubernetes/so/charts/so-sdc-controller/values.yaml +++ b/kubernetes/so/charts/so-sdc-controller/values.yaml @@ -21,19 +21,30 @@ app: sdc-controller service: type: ClusterIP internalPort: 8085 - externalPort: 10500 + externalPort: 8085 portName: so-sdc-port updateStrategy: type: RollingUpdate maxUnavailable: 1 maxSurge: 1 +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) resources: + small: + limits: + memory: 4Gi + cpu: 2000m requests: memory: 1Gi cpu: 500m + large: limits: - memory: 4Gi - cpu: 2000m + memory: 8Gi + cpu: 4000m + requests: + memory: 2Gi + cpu: 1000m livenessProbe: path: /manage/health port: 8085 @@ -47,4 +58,4 @@ ingress: enabled: false nodeSelector: {} tolerations: [] -affinity: {}
\ No newline at end of file +affinity: {} diff --git a/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml index 4479206ed3..26916f92ed 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml @@ -22,7 +22,7 @@ mso: catalog: db: spring: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082 + endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082 db: auth: Basic cGFzc3dvcmQxJA== site-name: onapheat @@ -84,7 +84,7 @@ org: delete: POST|270000|sdncurl6|sdnc-request-header|org:onap:sdnctl:vnf rollback: POST|270000|sdncurl6|sdnc-request-header|org:onap:sdnctl:vnf bpelauth: cGFzc3dvcmQxJA== - bpelurl: http://c1.vm1.mso.simpledemo.onap.org:8081/mso/SDNCAdapterCallbackService + bpelurl: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/SDNCAdapterCallbackService generic-resource: network-topology-operation: activate: POST|270000|sdncurl10|sdnc-request-header|org:onap:sdnc:northbound:generic-resource @@ -115,18 +115,18 @@ org: mobility: '': query: GET|60000|sdncurl5| - myurl: http://c1.vm1.mso.simpledemo.onap.org:8081/adapters/rest/SDNCNotify + myurl: http://so-sdnc-adapter{{ include "common.namespace" . }}:8086/adapters/rest/SDNCNotify rest: - bpelurl: http://c1.vm1.mso.simpledemo.onap.org:8081/mso/WorkflowMessage + bpelurl: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/WorkflowMessage sdncauth: 406B2AE613211B6FB52466DE6E1769AC sdncconnecttime: 5000 - sdncurl10: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/GENERIC-RESOURCE-API:' - sdncurl11: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/VNFTOPOLOGYAIC-API:' - sdncurl12: http://c1.vm1.sdnc.simpledemo.onap.org:8282/ - sdncurl5: http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/config - sdncurl6: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/VNF-API:' - sdncurl8: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/NBNC-API:' - sdncurl9: http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/NORTHBOUND-API:service-topology-operation + sdncurl10: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/GENERIC-RESOURCE-API:' + sdncurl11: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/VNFTOPOLOGYAIC-API:' + sdncurl12: http://sdnc.{{ include "common.namespace" . }}:8282/ + sdncurl5: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/config + sdncurl6: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/VNF-API:' + sdncurl8: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/NBNC-API:' + sdncurl9: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/NORTHBOUND-API:service-topology-operation service: infra: service-topology-infra-activate-operation: POST|90000|sdncurl9|sdnc-request-header|com:att:sdnctl:northbound-api:v1 @@ -162,4 +162,4 @@ spring: - username: mso_admin password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke' - role: ACTUATOR
\ No newline at end of file + role: ACTUATOR diff --git a/kubernetes/so/charts/so-sdnc-adapter/templates/configmap.yaml b/kubernetes/so/charts/so-sdnc-adapter/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/templates/configmap.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-sdnc-adapter/values.yaml b/kubernetes/so/charts/so-sdnc-adapter/values.yaml index 0402e6fc7d..55b5965b3f 100755 --- a/kubernetes/so/charts/so-sdnc-adapter/values.yaml +++ b/kubernetes/so/charts/so-sdnc-adapter/values.yaml @@ -21,19 +21,30 @@ app: sdnc-adapter service: type: ClusterIP internalPort: 8086 - externalPort: 10400 + externalPort: 8086 portName: so-sdnc-port updateStrategy: type: RollingUpdate maxUnavailable: 1 maxSurge: 1 +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) resources: + small: + limits: + memory: 4Gi + cpu: 2000m requests: memory: 1Gi cpu: 500m + large: limits: - memory: 4Gi - cpu: 2000m + memory: 8Gi + cpu: 4000m + requests: + memory: 2Gi + cpu: 1000m livenessProbe: path: /manage/health port: 8086 @@ -47,4 +58,4 @@ ingress: enabled: false nodeSelector: {} tolerations: [] -affinity: {}
\ No newline at end of file +affinity: {} diff --git a/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml b/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml index 6c26671296..6f579e7c1d 100755 --- a/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml +++ b/kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml @@ -13,17 +13,6 @@ # limitations under the License. logging: path: logs -spring: - datasource: - driver-class-name: org.mariadb.jdbc.Driver - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true server: port: 8084 tomcat: @@ -34,10 +23,10 @@ mso: adapters: requestDb: auth: Basic YnBlbDptc28tZGItMTUwNyE= - endpoint: https://c1.vm1.mso.simpledemo.onap.org:8081 + endpoint: https://so-request-db-adapter.{{ include "common.namespace" . }}:8083 #Actuator management: security: enabled: false basic: - enabled: false
\ No newline at end of file + enabled: false diff --git a/kubernetes/so/charts/so-vfc-adapter/templates/configmap.yaml b/kubernetes/so/charts/so-vfc-adapter/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/charts/so-vfc-adapter/templates/configmap.yaml +++ b/kubernetes/so/charts/so-vfc-adapter/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml b/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml +++ b/kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/so-vfc-adapter/values.yaml b/kubernetes/so/charts/so-vfc-adapter/values.yaml index 3007a2fc8b..884280620a 100755 --- a/kubernetes/so/charts/so-vfc-adapter/values.yaml +++ b/kubernetes/so/charts/so-vfc-adapter/values.yaml @@ -21,19 +21,30 @@ app: vfc-adapter service: type: ClusterIP internalPort: 8084 - externalPort: 10600 + externalPort: 8084 portName: so-vfc-port updateStrategy: type: RollingUpdate maxUnavailable: 1 maxSurge: 1 +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) resources: + small: + limits: + memory: 4Gi + cpu: 2000m requests: memory: 1Gi cpu: 500m + large: limits: - memory: 4Gi - cpu: 2000m + memory: 8Gi + cpu: 4000m + requests: + memory: 2Gi + cpu: 1000m livenessProbe: path: /manage/health port: 8084 @@ -47,4 +58,4 @@ ingress: enabled: false nodeSelector: {} tolerations: [] -affinity: {}
\ No newline at end of file +affinity: {} diff --git a/kubernetes/so/resources/config/overrides/override.yaml b/kubernetes/so/resources/config/overrides/override.yaml index 99c76cdbbd..9d3c167c21 100755 --- a/kubernetes/so/resources/config/overrides/override.yaml +++ b/kubernetes/so/resources/config/overrides/override.yaml @@ -7,18 +7,18 @@ mso: msoKey: "07a7159d3bf51a0e53be7a8f89699be7" logPath: logs site-name: onapheat - adapters: - requestDb: - endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083 - auth: YnBlbDptc28tZGItMTUwNyE= catalog: db: spring: - endpoint: "http://c1.vm1.mso.simpledemo.onap.org:8082" + endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082 db: auth: Basic cGFzc3dvcmQxJA== - config: - path: /src/main/resources/ + adapters: + requestDb: + auth: YnBlbDptc28tZGItMTUwNyE= + endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083 + config: + path: /src/main/resources/ infra: default: alacarte: @@ -32,11 +32,11 @@ mso: apih: homing: sdna: - url: http://c1.vm1.mso.simpledemo.onap.org:8086/ + url: http://so-sdnc-adapter.{{ include "common.namespace" . }}:8086/ password: 4112B789E942B161228F7D5AFC654C0F - bpelURL: http://c1.vm1.mso.simpledemo.onap.org:8082/ + bpelURL: http://so-bpmn-infra.{{ include "common.namespace" . }}:8082/ bpelAuth: 786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1 - camundaURL: http://c1.vm1.mso.simpledemo.onap.org:8082/ + camundaURL: http://so-bpmn-infra.{{ include "common.namespace" . }}:8082/ camundaAuth: 5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1 async: core-pool-size: 50 @@ -48,40 +48,23 @@ mso: activate: instanceid: test userid: cs0008 - endpoint: http://c1.vm1.mso.simpledemo.onap.org:28090 + endpoint: http://sdc-be.{{ include "common.namespace" . }}:8443 tenant: isolation: retry: count: 3 aai: - endpoint: https://aai.api.simpledemo.onap.org:8443 + endpoint: https://aai.{{ include "common.namespace" . }}:8443 auth: 2630606608347B7124C244AB0FE34F6F so: operational-environment: dmaap: username: testuser password: VjR5NDcxSzA= - host: http://c1.vm1.mso.simpledemo.onap.org:28090 + host: http://dmaap-bc.{{ include "common.namespace" . }}:8080 publisher: topic: com.att.ecomp.mso.operationalEnvironmentEvent spring: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true - jpa: - show-sql: true - hibernate: - dialect: org.hibernate.dialect.MySQL5Dialect - ddl-auto: validate - naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy - enable-lazy-load-no-trans: true jersey: type: filter security: @@ -110,14 +93,3 @@ spring: username: mso_admin password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke' role: ACTUATOR -request: - datasource: - url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb - username: ${DB_USERNAME} - password: ${DB_PASSWORD} - driver-class-name: org.mariadb.jdbc.Driver - dbcp2: - initial-size: 5 - max-total: 20 - validation-query: select 1 - test-on-borrow: true
\ No newline at end of file diff --git a/kubernetes/so/templates/configmap.yaml b/kubernetes/so/templates/configmap.yaml index 48d9ef8820..a03dbd8930 100755 --- a/kubernetes/so/templates/configmap.yaml +++ b/kubernetes/so/templates/configmap.yaml @@ -26,8 +26,4 @@ metadata: name: {{ include "common.fullname" . }}-app-configmap namespace: {{ include "common.namespace" . }} data: - {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}} - {{- $root := . }} - {{- range $path, $bytes := .Files.Glob $yamlpath }} - override.yaml: {{ $root.Files.Get $path | quote }} - {{- end }}
\ No newline at end of file +{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }} diff --git a/kubernetes/so/templates/deployment.yaml b/kubernetes/so/templates/deployment.yaml index d235545aa3..a69c189c5b 100755 --- a/kubernetes/so/templates/deployment.yaml +++ b/kubernetes/so/templates/deployment.yaml @@ -47,12 +47,7 @@ spec: - name: {{ include "common.name" . }} image: {{ include "common.repository" . }}/{{ .Values.image }} resources: - requests: - memory: {{ index .Values.resources.requests.memory}} - cpu: {{ index .Values.resources.requests.cpu}} - limits: - memory: {{ index .Values.resources.limits.memory}} - cpu: {{ index .Values.resources.limits.cpu}} +{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }} env: - name: DB_HOST valueFrom: @@ -141,4 +136,4 @@ spec: configMap: name: {{ include "common.fullname" . }}-app-configmap imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/values.yaml b/kubernetes/so/values.yaml index 20cf8d209f..b01d48623a 100755 --- a/kubernetes/so/values.yaml +++ b/kubernetes/so/values.yaml @@ -21,23 +21,34 @@ logPath: ./logs/apih/ app: api-handler-infra service: type: NodePort - nodePort: 58 - internalPort: 10100 + nodePort: 77 + internalPort: 8080 portName: so-apih-port updateStrategy: type: RollingUpdate maxUnavailable: 1 maxSurge: 1 +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) resources: + small: + limits: + cpu: 2000m + memory: 4Gi requests: - memory: 1Gi cpu: 500m + memory: 1Gi + large: limits: - memory: 4Gi - cpu: 2000m + cpu: 4000m + memory: 8Gi + requests: + cpu: 1000m + memory: 2Gi livenessProbe: - path: /manage/health - scheme: HTTPS + path: /manage/health + scheme: HTTP initialDelaySeconds: 600 periodSeconds: 60 timeoutSeconds: 10 @@ -52,4 +63,4 @@ global: mariadb: nameOverride: so-db nodeSelector: {} -affinity: {}
\ No newline at end of file +affinity: {} 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/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-prepareSchema.xml b/kubernetes/vid/resources/config/db_cmd.sh index 446984ad5a..95b83d4b59 100644 --- a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-prepareSchema.xml +++ b/kubernetes/vid/resources/config/db_cmd.sh @@ -1,6 +1,5 @@ -<!-- - -# Copyright © 2018 Amdocs, Bell Canada, AT&T +#!/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. @@ -13,16 +12,12 @@ # 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. ---> - -<rests xmlns="http://camel.apache.org/schema/spring"> - <rest> - <post uri="/visualization/prepareVisualization"> - <route> - <to uri="bean:schemaVisualizationProcessor?method=processVisualizationRequest" /> - </route> - </post> - </rest> -</rests> - +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 3a7bdcaa43..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,17 +45,10 @@ 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 }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - lifecycle: - postStart: - exec: - command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/usr/local/tomcat/webapps/vid/WEB-INF/classes/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"] ports: - containerPort: {{ .Values.service.internalPort }} # disable liveness probe when breakpoints set in debugger @@ -167,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/service.yaml b/kubernetes/vid/templates/service.yaml index 3d1097f7ff..36b35e40da 100644 --- a/kubernetes/vid/templates/service.yaml +++ b/kubernetes/vid/templates/service.yaml @@ -29,10 +29,16 @@ spec: - port: {{ .Values.service.internalPort }} nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} name: {{ .Values.service.portName }} + - port: {{ .Values.service.internalPort2 }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }} + name: {{ .Values.service.portName2 }} {{- else -}} - port: {{ .Values.service.externalPort }} targetPort: {{ .Values.service.internalPort }} name: {{ .Values.service.portName }} + - port: {{ .Values.service.externalPort2 }} + targetPort: {{ .Values.service.internalPort2 }} + name: {{ .Values.service.portName2 }} {{- end}} selector: app: {{ include "common.name" . }} 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 812f74e1ce..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 @@ -28,7 +27,7 @@ subChartsOnly: # application image repository: nexus3.onap.org:10001 -image: onap/vid:2.0.0 +image: onap/vid:3.0.0 pullPolicy: Always # mariadb image for initializing @@ -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 @@ -80,9 +80,13 @@ service: type: NodePort name: vid portName: vid - externalPort: "00" - nodePort: "00" + externalPort: 8443 internalPort: 8443 + nodePort: "00" + portName2: vid-http + externalPort2: 8080 + internalPort2: 8080 + nodePort2: "38" ingress: enabled: false diff --git a/kubernetes/vnfsdk/requirements.yaml b/kubernetes/vnfsdk/requirements.yaml index ce82a2f838..3b2a02a480 100644 --- a/kubernetes/vnfsdk/requirements.yaml +++ b/kubernetes/vnfsdk/requirements.yaml @@ -16,3 +16,6 @@ dependencies: - name: common version: ~2.0.0 repository: '@local' + - name: postgres + version: ~2.0.0 + repository: '@local' diff --git a/kubernetes/vnfsdk/resources/config/marketplace_tables_postgres.sql b/kubernetes/vnfsdk/resources/config/marketplace_tables_postgres.sql new file mode 100644 index 0000000000..c05d7f2d00 --- /dev/null +++ b/kubernetes/vnfsdk/resources/config/marketplace_tables_postgres.sql @@ -0,0 +1,25 @@ +CREATE DATABASE "marketplaceDB"; + +\c marketplaceDB; + +DROP TABLE IF EXISTS CSAR_PACKAGE_TABLE; + +CREATE TABLE CSAR_PACKAGE_TABLE ( + CSARID VARCHAR(200) NOT NULL, + DOWNLOADURI VARCHAR(200) NULL, + REPORT VARCHAR(200) NULL, + SIZE VARCHAR(100) NULL, + FORMAT VARCHAR(100) NULL, + CREATETIME VARCHAR(100) NULL, + DELETIONPENDING VARCHAR(100) NULL, + MODIFYTIME VARCHAR(100) NULL, + SHORTDESC TEXT NULL, + NAME VARCHAR(100) NULL, + VERSION VARCHAR(20) NULL, + PROVIDER VARCHAR(300) NULL, + TYPE VARCHAR(300) NULL, + DETAILS TEXT NULL, + REMARKS TEXT NULL, + DOWNLOADCOUNT INT NULL, + CONSTRAINT csar_package_table_pkey PRIMARY KEY (CSARID) +); diff --git a/kubernetes/vid/templates/dbcmd-configmap.yaml b/kubernetes/vnfsdk/templates/configmap.yaml index aa088011ea..5a40a61427 100644 --- a/kubernetes/vid/templates/dbcmd-configmap.yaml +++ b/kubernetes/vnfsdk/templates/configmap.yaml @@ -1,4 +1,4 @@ -# Copyright © 2018 Amdocs, Bell Canada +# Copyright © 2017 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. @@ -15,11 +15,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-dbcmd-configmap + name: {{ include "common.fullname" . }} 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 - +{{ tpl (.Files.Glob "resources/config/marketplace_tables_postgres.sql").AsConfig . | indent 2 }} diff --git a/kubernetes/vnfsdk/templates/deployment.yaml b/kubernetes/vnfsdk/templates/deployment.yaml index 8220553cf6..5b6f9237ce 100644 --- a/kubernetes/vnfsdk/templates/deployment.yaml +++ b/kubernetes/vnfsdk/templates/deployment.yaml @@ -38,7 +38,7 @@ spec: - /root/ready.py args: - --container-name - - "{{ .Values.vnfsdkpostgres.nameOverride }}" + - "{{ .Values.postgres.nameOverride }}" env: - name: NAMESPACE valueFrom: @@ -54,7 +54,7 @@ spec: name: {{ include "common.name" . }} env: - name: POSTGRES_SERVICE_HOST - value: "$(VNFSDK_POSTGRES_SERVICE_HOST)" + value: "$(VNFSDK_DBSET_SERVICE_HOST)" readinessProbe: tcpSocket: port: {{ .Values.service.internalPort }} diff --git a/kubernetes/vnfsdk/templates/job.yaml b/kubernetes/vnfsdk/templates/job.yaml new file mode 100644 index 0000000000..08d31077c6 --- /dev/null +++ b/kubernetes/vnfsdk/templates/job.yaml @@ -0,0 +1,70 @@ +# Copyright © 2017 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: batch/v1 +kind: Job +metadata: + name: {{ include "common.fullname" . }}-init-postgres + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }}-job + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + backoffLimit: 20 + template: + metadata: + labels: + app: {{ include "common.name" . }}-job + release: {{ .Release.Name }} + spec: + restartPolicy: Never + initContainers: + - command: + - /root/ready.py + args: + - --container-name + - "{{ .Values.postgres.nameOverride }}" + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy}} + name: {{ include "common.name" . }}-readiness + containers: + - name: {{ include "common.name" . }}-job + image: "{{ .Values.postgresRepository }}/{{ .Values.postgresImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + env: + - name: PGPASSWORD + value: "{{ .Values.postgres.config.pgUserPassword }}" + command: + - /bin/sh + - -c + - | + psql -U {{ .Values.postgres.config.pgUserName }} -h $(VNFSDK_DBPRI_SERVICE_HOST) -f /aaa/init/marketplace_tables_postgres.sql + volumeMounts: + - name: init-data + mountPath: /aaa/init/marketplace_tables_postgres.sql + subPath: marketplace_tables_postgres.sql + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" + volumes: + - name: init-data + configMap: + name: {{ include "common.fullname" . }} diff --git a/kubernetes/vnfsdk/values.yaml b/kubernetes/vnfsdk/values.yaml index edca2ece6c..0db7744523 100644 --- a/kubernetes/vnfsdk/values.yaml +++ b/kubernetes/vnfsdk/values.yaml @@ -29,11 +29,30 @@ global: # application image repository: nexus3.onap.org:10001 image: onap/vnfsdk/refrepo:1.1.1 +postgresRepository: crunchydata +postgresImage: crunchy-postgres:centos7-10.3-1.8.2 pullPolicy: Always -#subchart name -vnfsdkpostgres: +# application configuration override for postgres +postgres: nameOverride: vnfsdk-postgres + service: + name: vnfsdk-dbset + name2: vnfsdk-dbpri + name3: vnfsdk-dbrep + container: + name: + primary: vnfsdk-dbpri + replica: vnfsdk-dbrep + persistence: + mountSubPath: vnfsdk/data + mountInitPath: vnfsdk + config: + pgUserName: postgres + pgDatabase: postgres + pgPrimaryPassword: postgres + pgUserPassword: postgres + pgRootPassword: postgres # flag to enable debugging - application support required debugEnabled: false |