Merge "Resource Limits for policy"
authorMandeep Khinda <Mandeep.Khinda@amdocs.com>
Wed, 19 Sep 2018 14:55:34 +0000 (14:55 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 19 Sep 2018 14:55:34 +0000 (14:55 +0000)
250 files changed:
TOSCA/Helm/k8s_setup_env.sh [deleted file]
TOSCA/Helm/onap-blueprint.yaml [deleted file]
TOSCA/ONAP_TOSCA/onap_tosca.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore
kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
kubernetes/aai/charts/aai-champ/templates/deployment.yaml
kubernetes/aai/charts/aai-champ/values.yaml
kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml
kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route
kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v10.json [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v7.json [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v8.json [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v9.json [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties
kubernetes/aai/charts/aai-graphadmin/resources/config/realm.properties
kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties
kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.osaaf.location.props [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/permissions.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/application.properties
kubernetes/aai/charts/aai-resources/resources/config/realm.properties
kubernetes/aai/charts/aai-resources/templates/configmap.yaml
kubernetes/aai/charts/aai-resources/templates/deployment.yaml
kubernetes/aai/charts/aai-search-data/resources/config/es-payload-translation.json
kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/application.properties
kubernetes/aai/charts/aai-spike/Chart.yaml [moved from TOSCA/Helm/helmdelete.sh with 60% similarity]
kubernetes/aai/charts/aai-spike/requirements.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v10.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v11.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v12.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v13.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v14.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v7.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v8.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v9.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/schemaIngest.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/spike.properties [moved from TOSCA/Helm/helminstall.sh with 50% similarity]
kubernetes/aai/charts/aai-spike/templates/configmap.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/templates/deployment.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/templates/secrets.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/deployment.yaml with 50% similarity]
kubernetes/aai/charts/aai-spike/templates/service.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/service.yaml with 80% similarity]
kubernetes/aai/charts/aai-spike/values.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/values.yaml with 71% similarity]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/cadi.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.osaaf.location.props [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/permissions.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/application.properties
kubernetes/aai/charts/aai-traversal/resources/config/realm.properties
kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
kubernetes/aai/templates/deployment.yaml
kubernetes/aai/values.yaml
kubernetes/appc/charts/appc-ansible-server/templates/deployment.yaml
kubernetes/appc/charts/appc-ansible-server/values.yaml
kubernetes/appc/charts/appc-cdt/templates/deployment.yaml
kubernetes/appc/charts/appc-cdt/values.yaml
kubernetes/appc/requirements.yaml
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties
kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties
kubernetes/appc/templates/pv.yaml
kubernetes/appc/templates/secrets.yaml
kubernetes/appc/templates/statefulset.yaml
kubernetes/appc/values.yaml
kubernetes/clamp/charts/clamp-dash-logstash/resources/config/pipeline.conf
kubernetes/cli/templates/deployment.yaml
kubernetes/cli/values.yaml
kubernetes/common/mariadb-galera/templates/pv.yaml
kubernetes/common/mariadb-galera/templates/service.yaml
kubernetes/common/mariadb-galera/templates/statefulset.yaml
kubernetes/common/mariadb-galera/values.yaml
kubernetes/common/pgpool/Chart.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/Chart.yaml with 84% similarity]
kubernetes/common/pgpool/configs/pgpool.conf [new file with mode: 0644]
kubernetes/common/pgpool/configs/pool_hba.conf [new file with mode: 0644]
kubernetes/common/pgpool/configs/pool_passwd [new file with mode: 0644]
kubernetes/common/pgpool/requirements.yaml [new file with mode: 0644]
kubernetes/common/pgpool/templates/configmap.yaml [new file with mode: 0755]
kubernetes/common/pgpool/templates/deployment.yaml [new file with mode: 0644]
kubernetes/common/pgpool/templates/service.yaml [new file with mode: 0644]
kubernetes/common/pgpool/values.yaml [new file with mode: 0644]
kubernetes/common/postgres/values.yaml
kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml
kubernetes/contrib/charts/netbox/charts/netbox-nginx/templates/service.yaml
kubernetes/contrib/charts/netbox/charts/netbox-nginx/values.yaml
kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml
kubernetes/contrib/charts/netbox/values.yaml
kubernetes/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/configmap.yaml
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/configmap.yaml
kubernetes/dmaap/charts/message-router/templates/configmap.yaml
kubernetes/esr/templates/configmap.yaml
kubernetes/helm/plugins/deploy/deploy.sh [new file with mode: 0755]
kubernetes/helm/plugins/deploy/plugin.yaml [new file with mode: 0644]
kubernetes/helm/plugins/undeploy/plugin.yaml [new file with mode: 0644]
kubernetes/helm/plugins/undeploy/undeploy.sh [new file with mode: 0755]
kubernetes/log/Chart.yaml
kubernetes/log/charts/log-elasticsearch/Chart.yaml
kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml
kubernetes/log/charts/log-elasticsearch/values.yaml
kubernetes/log/charts/log-kibana/Chart.yaml
kubernetes/log/charts/log-kibana/templates/deployment.yaml
kubernetes/log/charts/log-kibana/values.yaml
kubernetes/log/charts/log-logstash/Chart.yaml
kubernetes/log/charts/log-logstash/templates/deployment.yaml
kubernetes/log/charts/log-logstash/values.yaml
kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml
kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml
kubernetes/multicloud/charts/multicloud-ocata/values.yaml
kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml
kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml
kubernetes/multicloud/charts/multicloud-vio/values.yaml
kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml
kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml
kubernetes/multicloud/charts/multicloud-windriver/values.yaml
kubernetes/multicloud/templates/configmap.yaml
kubernetes/multicloud/templates/deployment.yaml
kubernetes/multicloud/values.yaml
kubernetes/nbi/charts/mariadb/templates/deployment.yaml
kubernetes/nbi/charts/mariadb/values.yaml
kubernetes/nbi/templates/deployment.yaml
kubernetes/nbi/values.yaml
kubernetes/onap/requirements.yaml
kubernetes/onap/resources/environments/disable-allcharts.yaml
kubernetes/onap/values.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml
kubernetes/oof/charts/oof-has/templates/configmap.yaml
kubernetes/oof/templates/configmap.yaml
kubernetes/policy/resources/config/pe/push-policies.sh
kubernetes/pomba/charts/pomba-contextaggregator/values.yaml
kubernetes/pomba/charts/pomba-kibana/resources/config/default.json
kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json
kubernetes/pomba/charts/pomba-networkdiscovery/resources/config/application.properties
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml
kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy [new file with mode: 0644]
kubernetes/pomba/charts/pomba-validation-service/templates/configmap.yaml
kubernetes/pomba/charts/pomba-validation-service/templates/deployment.yaml
kubernetes/pomba/charts/pomba-validation-service/values.yaml
kubernetes/portal/charts/portal-app/templates/configmap.yaml
kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml
kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml
kubernetes/portal/charts/portal-sdk/templates/configmap.yaml
kubernetes/portal/charts/portal-widget/templates/configmap.yaml
kubernetes/portal/templates/configmap.yaml
kubernetes/robot/demo-k8s.sh
kubernetes/robot/ete-k8s.sh
kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
kubernetes/robot/templates/deployment.yaml
kubernetes/robot/values.yaml
kubernetes/sdc/charts/sdc-be/templates/configmap.yaml
kubernetes/sdc/charts/sdc-be/values.yaml
kubernetes/sdc/charts/sdc-cs/values.yaml
kubernetes/sdc/charts/sdc-es/values.yaml
kubernetes/sdc/charts/sdc-fe/templates/configmap.yaml
kubernetes/sdc/charts/sdc-fe/values.yaml
kubernetes/sdc/charts/sdc-kb/values.yaml
kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml
kubernetes/sdc/charts/sdc-onboarding-be/values.yaml
kubernetes/sdc/templates/configmap.yaml
kubernetes/sdnc/charts/dmaap-listener/resources/config/aai.properties [new file with mode: 0644]
kubernetes/sdnc/charts/dmaap-listener/templates/configmap.yaml
kubernetes/sdnc/charts/dmaap-listener/templates/deployment.yaml
kubernetes/sdnc/charts/dmaap-listener/values.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/templates/configmap.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/templates/deployment.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml
kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml
kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml
kubernetes/sdnc/charts/sdnc-portal/values.yaml
kubernetes/sdnc/charts/ueb-listener/templates/configmap.yaml
kubernetes/sdnc/charts/ueb-listener/templates/deployment.yaml
kubernetes/sdnc/charts/ueb-listener/values.yaml
kubernetes/sdnc/resources/config/conf/lcm-dg.properties
kubernetes/sdnc/resources/geo/bin/sdnc.cluster
kubernetes/sdnc/sdnc-prom/templates/configmap.yaml
kubernetes/sdnc/templates/configmap.yaml
kubernetes/sdnc/templates/statefulset.yaml
kubernetes/sdnc/values.yaml
kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml
kubernetes/so/charts/so-bpmn-infra/templates/configmap.yaml
kubernetes/so/charts/so-bpmn-infra/values.yaml
kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml
kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-openstack-adapter/templates/configmap.yaml
kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-request-db-adapter/templates/configmap.yaml
kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml
kubernetes/so/charts/so-sdc-controller/templates/configmap.yaml
kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-sdnc-adapter/templates/configmap.yaml
kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-vfc-adapter/templates/configmap.yaml
kubernetes/so/resources/config/overrides/override.yaml
kubernetes/so/templates/configmap.yaml
kubernetes/so/values.yaml
kubernetes/uui/charts/uui-server/templates/deployment.yaml
kubernetes/uui/charts/uui-server/values.yaml
kubernetes/uui/templates/deployment.yaml
kubernetes/uui/values.yaml
kubernetes/vid/charts/vid-mariadb-galera/Chart.yaml [moved from kubernetes/vid/charts/vid-galera/Chart.yaml with 87% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/NOTES.txt [moved from kubernetes/vid/charts/vid-galera/templates/NOTES.txt with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/configmap.yaml [moved from kubernetes/vid/charts/vid-galera/templates/configmap.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/pv.yaml [moved from kubernetes/vid/charts/vid-galera/templates/pv.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/pvc.yaml [moved from kubernetes/vid/charts/vid-galera/templates/pvc.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/secrets.yaml [moved from kubernetes/vid/charts/vid-galera/templates/secrets.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/service.yaml [moved from kubernetes/vid/charts/vid-galera/templates/service.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml [moved from kubernetes/vid/charts/vid-galera/templates/statefulset.yaml with 98% similarity]
kubernetes/vid/charts/vid-mariadb-galera/values.yaml [moved from kubernetes/vid/charts/vid-galera/values.yaml with 82% similarity]
kubernetes/vid/resources/config/db_cmd.sh [moved from TOSCA/Helm/k8s_delete_env.sh with 52% similarity]
kubernetes/vid/resources/config/vid-pre-init.sql [new file with mode: 0644]
kubernetes/vid/templates/check-job-completion-configmap.yaml [deleted file]
kubernetes/vid/templates/cluster-ready-configmap.yaml [deleted file]
kubernetes/vid/templates/configmap.yaml
kubernetes/vid/templates/deployment.yaml
kubernetes/vid/templates/galera-sql-configmap.yaml [deleted file]
kubernetes/vid/templates/service.yaml
kubernetes/vid/templates/vid-galera-config-job.yaml
kubernetes/vid/values.yaml
kubernetes/vnfsdk/requirements.yaml
kubernetes/vnfsdk/resources/config/marketplace_tables_postgres.sql [new file with mode: 0644]
kubernetes/vnfsdk/templates/configmap.yaml [moved from kubernetes/vid/templates/dbcmd-configmap.yaml with 63% similarity]
kubernetes/vnfsdk/templates/deployment.yaml
kubernetes/vnfsdk/templates/job.yaml [new file with mode: 0644]
kubernetes/vnfsdk/values.yaml

diff --git a/TOSCA/Helm/k8s_setup_env.sh b/TOSCA/Helm/k8s_setup_env.sh
deleted file mode 100644 (file)
index 1e226f2..0000000
+++ /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 (file)
index c5b699b..0000000
+++ /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 (file)
index 0000000..a48f4bc
--- /dev/null
@@ -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
index 9eec841..c4c7271 100644 (file)
Binary files a/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore and b/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore differ
index 9d7ddd1..38fd64c 100644 (file)
@@ -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 -->
index 0e2bb90..d2f7bca 100644 (file)
@@ -31,23 +31,6 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - aai-resources
-        - --container-name
-        - message-router-kafka
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -100,7 +83,7 @@ spec:
           - mountPath: /opt/app/champ-service/bundleconfig/etc/logback.xml
             name: {{ include "common.fullname" . }}-logback-config
             subPath: logback.xml
-          - mountPath: /logs
+          - mountPath: /var/log/onap
             name: {{ include "common.fullname" . }}-logs
           resources:
 {{ toYaml .Values.resources | indent 12 }}
@@ -113,6 +96,19 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
 
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+            name: filebeat-conf
+          - mountPath: /var/log/onap
+            name: {{ include "common.fullname" . }}-logs
+          - mountPath: /usr/share/filebeat/data
+            name: aai-filebeat
+
       volumes:
         - name: localtime
           hostPath:
@@ -140,5 +136,10 @@ spec:
             items:
             - key: logback.xml
               path: logback.xml
+        - name: filebeat-conf
+          configMap:
+            name: aai-filebeat
+        - name: aai-filebeat
+          emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index c59a9b3..a6435dd 100644 (file)
@@ -61,3 +61,11 @@ ingress:
   enabled: false
 
 resources: {}
+
+# XML beans configuration
+event:
+  port:
+    dmaap: 3905
+  protocol: https
+  publisher:
+    topic: champRawEvents
index bfa35c2..acfe0a5 100644 (file)
     <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"/>
index d349ee9..14db6d6 100644 (file)
@@ -1,4 +1,4 @@
 <route xmlns="http://camel.apache.org/schema/spring" trace="true">\r
-  <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;groupName=datarouter&amp;groupId=datarouter&amp;url=http://message-router.{{.Release.Namespace}}:3904"/>\r
+  <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;consumer=#consumerBeanEntityEvent" />\r
   <to uri="bean:entityEventPolicy?method=process"/>\r
-</route>\r
+</route>
\ No newline at end of file
index a507886..48db706 100644 (file)
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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"
+}
index 104cf76..7557247 100644 (file)
@@ -54,7 +54,7 @@ server.ssl.key-store-type=JKS
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61649
-dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3904
+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
index f401b8a..573cd2a 100644 (file)
@@ -30,3 +30,12 @@ APPC:OBF:1f991ksf1ksf1f9d,admin
 ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin
 AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin
 OOF:OBF:1img1ke71ily,admin
+aai@aai.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+so@so.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdnc@sdnc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+dcae@dcae.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+policy@policy.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdc@sdc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+vid@vid.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+appc@appc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+oof@oof.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
diff --git a/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore
new file mode 100644 (file)
index 0000000..9eec841
Binary files /dev/null and b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore differ
index 746bdb4..246e528 100644 (file)
@@ -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-resources/resources/config/aaf/cadi.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties
new file mode 100644 (file)
index 0000000..c8d0b04
--- /dev/null
@@ -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 (file)
index 0000000..3416d4a
--- /dev/null
@@ -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
new file mode 100644 (file)
index 0000000..023e2ea
Binary files /dev/null and b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 differ
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 (file)
index 0000000..906f170
--- /dev/null
@@ -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 (file)
index 0000000..77c3d53
--- /dev/null
@@ -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 (file)
index 0000000..4234121
--- /dev/null
@@ -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
new file mode 100644 (file)
index 0000000..2da1dcc
Binary files /dev/null and b/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks differ
index 9c13d48..29a6d23 100644 (file)
@@ -49,7 +49,7 @@ server.ssl.key-store-type=JKS
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
-dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3904
+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
index 962e491..2aa3e01 100644 (file)
@@ -25,3 +25,12 @@ APPC:OBF:1f991ksf1ksf1f9d,admin
 ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin
 AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin
 OOF:OBF:1img1ke71ily,admin
+aai@aai.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+so@so.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdnc@sdnc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+dcae@dcae.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+policy@policy.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdc@sdc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+vid@vid.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+appc@appc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+oof@oof.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
index 9d89505..d1d72b9 100644 (file)
@@ -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 }}
index f6f8039..7df214f 100644 (file)
@@ -472,6 +472,27 @@ 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
@@ -548,6 +569,12 @@ 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
index 93888be..b44b4ec 100644 (file)
@@ -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-sparky-be/resources/config/application-sync.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties
new file mode 100644 (file)
index 0000000..4fb10a2
--- /dev/null
@@ -0,0 +1,6 @@
+aggregationSyncEnabled=true
+historicalEntitySyncEnabled=true
+autoSuggestSyncEnabled=true
+vnfAliasSyncEnabled=true
+geoSyncEnabled=true
+viewInspectSyncEnabled=true
\ No newline at end of file
index 6aa64ff..aa93c06 100644 (file)
@@ -22,7 +22,7 @@ spring.mvc.favicon.enabled=false
 # and in the values.yaml change the internalPort to 9517
 #
 
-spring.profiles.active=camel,http,fe-prod,oxm-schema-prod,oxm-default,resources,sync
+spring.profiles.active=camel,http,fe-prod,oxm-schema-prod,oxm-default,resources,sync,portal
 
 searchservice.hostname={{.Values.global.searchData.serviceName}}
 searchservice.port=9509
similarity index 60%
rename from TOSCA/Helm/helmdelete.sh
rename to kubernetes/aai/charts/aai-spike/Chart.yaml
index 201471b..b9fd7b0 100644 (file)
@@ -1,21 +1,18 @@
-#!/bin/bash
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright (c) 2017 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.
 # 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
-
 
+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-spike/requirements.yaml b/kubernetes/aai/charts/aai-spike/requirements.yaml
new file mode 100644 (file)
index 0000000..9552dfd
--- /dev/null
@@ -0,0 +1,21 @@
+# 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.
+
+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
new file mode 100644 (file)
index 0000000..025f3c4
Binary files /dev/null and b/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore differ
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 (file)
index 0000000..e40ba13
--- /dev/null
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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 (file)
index 0000000..8d00636
--- /dev/null
@@ -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 (file)
index 0000000..8d00636
--- /dev/null
@@ -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 (file)
index 0000000..8d00636
--- /dev/null
@@ -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 (file)
index 0000000..8d00636
--- /dev/null
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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 (file)
index 0000000..7cbddae
--- /dev/null
@@ -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 (file)
index 0000000..cc51f17
--- /dev/null
@@ -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 (file)
index 0000000..50be8cb
--- /dev/null
@@ -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>
@@ -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-spike/templates/configmap.yaml b/kubernetes/aai/charts/aai-spike/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..8a51748
--- /dev/null
@@ -0,0 +1,29 @@
+# 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
+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 (file)
index 0000000..edf6ce8
--- /dev/null
@@ -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"
@@ -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.
 # 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 }}
@@ -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 }}
@@ -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
 # 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 (file)
index 0000000..9523367
--- /dev/null
@@ -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 (file)
index 0000000..3416d4a
--- /dev/null
@@ -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
new file mode 100644 (file)
index 0000000..023e2ea
Binary files /dev/null and b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 differ
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 (file)
index 0000000..4596d91
--- /dev/null
@@ -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 (file)
index 0000000..132fb24
--- /dev/null
@@ -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 (file)
index 0000000..d4956f5
--- /dev/null
@@ -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
new file mode 100644 (file)
index 0000000..2da1dcc
Binary files /dev/null and b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks differ
index 2ff95aa..1ad208f 100644 (file)
@@ -49,7 +49,7 @@ server.ssl.key-store-type=JKS
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
-dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3904
+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
index 962e491..2aa3e01 100644 (file)
@@ -25,3 +25,12 @@ APPC:OBF:1f991ksf1ksf1f9d,admin
 ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin
 AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin
 OOF:OBF:1img1ke71ily,admin
+aai@aai.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+so@so.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdnc@sdnc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+dcae@dcae.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+policy@policy.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdc@sdc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+vid@vid.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+appc@appc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+oof@oof.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
index 9d89505..8098369 100644 (file)
@@ -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 }}
index 9db1605..3cedaec 100644 (file)
@@ -304,6 +304,27 @@ 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
@@ -379,6 +400,12 @@ 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
index dc65cef..17ba83b 100644 (file)
@@ -80,7 +80,7 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 16e3705..25f8ddf 100644 (file)
@@ -58,6 +58,8 @@ global: # global defaults
     serviceName: aai-traversal
   graphadmin:
     serviceName: aai-graphadmin
+  spike:
+    serviceName: aai-spike
 
   initContainers:
     enabled: true
@@ -194,6 +196,8 @@ dockerhubRepository: registry.hub.docker.com
 image: aaionap/haproxy:1.2.4
 pullPolicy: Always
 
+flavor: small
+
 # flag to enable debugging - application support required
 debugEnabled: false
 
@@ -238,7 +242,6 @@ 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
@@ -249,10 +252,18 @@ resources: {}
   # 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:
+  small:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 4Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 8Gi
+    requests:
+      cpu: 4
+      memory: 8Gi
index 8fb2776..b7ef21f 100644 (file)
@@ -75,8 +75,8 @@ spec:
             name: config
             subPath: RestServer_config
           resources:
-{{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
         {{- end -}}
index bfbadd9..b9dd418 100644 (file)
@@ -25,6 +25,8 @@ global:
 #################################################################
 # Application configuration defaults.
 #################################################################
+flavor: small
+
 # application image
 repository: nexus3.onap.org:10001
 image: onap/sdnc-ansible-server-image:1.4-STAGING-latest
@@ -68,11 +70,20 @@ service:
 ingress:
   enabled: false
 
-resources: {}
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 1Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+
+
index 9c83c2c..1288183 100644 (file)
@@ -65,7 +65,7 @@ spec:
             name: localtime
             readOnly: true
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index f472152..26526a8 100644 (file)
@@ -21,6 +21,9 @@ global:
 #################################################################
 # Application configuration defaults.
 #################################################################
+
+flavor: small
+
 # application image
 repository: nexus3.onap.org:10001
 image: onap/appc-cdt-image:1.4.0-SNAPSHOT-latest
@@ -58,7 +61,6 @@ 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
@@ -69,10 +71,18 @@ resources: {}
   # 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:
+  small:
+    limits:
+      cpu: 1
+      memory: 1Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
index 28d6402..67e33ba 100644 (file)
@@ -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
index 5f8b869..b3cf868 100755 (executable)
@@ -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
 
index d304a43..3cbee8d 100755 (executable)
@@ -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
index c7feef2..47c6788 100644 (file)
@@ -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}}
index 6089ae4..a566052 100644 (file)
@@ -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
index dd6265c..5b22ccb 100644 (file)
@@ -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
index e7b1333..92e8a36 100755 (executable)
@@ -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';
index adb38d9..247e1ac 100644 (file)
@@ -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
index 8de2af2..da16d39 100755 (executable)
@@ -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
 
index 84ad577..231fd0a 100755 (executable)
@@ -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
index 2833f82..6142032 100644 (file)
@@ -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
index e4ac685..ed35d5b 100644 (file)
@@ -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
index f14c584..698bbb1 100755 (executable)
@@ -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';
index fae5b55..914a4a1 100644 (file)
@@ -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
index 1021409..25257ea 100644 (file)
 # # 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 -}}
index d2dbdef..57311a0 100644 (file)
@@ -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 }}
index 6dde017..9453bd9 100644 (file)
@@ -39,7 +39,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.mysql.nameOverride }}
+        - {{.Values.config.mariadbGaleraContName}}
         env:
         - name: NAMESPACE
           valueFrom:
@@ -145,8 +145,8 @@ spec:
             name: log-config
             subPath: org.ops4j.pax.logging.cfg
           resources:
-{{ toYaml .Values.resources | indent 12 }}
-        {{- if .Values.nodeSelector }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
+       {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
         {{- end -}}
index a972533..97e39bc 100644 (file)
@@ -28,6 +28,7 @@ global:
 #################################################################
 # Application configuration defaults.
 #################################################################
+flavor: small
 # application image
 repository: nexus3.onap.org:10001
 image: onap/appc-image:1.4.0-SNAPSHOT-latest
@@ -42,13 +43,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 +71,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:
@@ -148,7 +156,6 @@ persistence:
 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
@@ -159,10 +166,18 @@ resources: {}
   # 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:
+  small:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 4Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 8Gi
+    requests:
+      cpu: 4
+      memory: 8Gi
index 5d92de6..f88e40d 100644 (file)
@@ -21,6 +21,7 @@ input {
                     Accept => "application/json"
                 }
                 add_field => { "topic" => "${event_topic}" }
+                type => "dmaap_event"
             }
             notification_queue => {
                 method => get
@@ -29,6 +30,7 @@ input {
                     Accept => "application/json"
                 }
                 add_field => { "topic" => "${notification_topic}" }
+                type => "dmaap_notification"
             }
             request_queue => {
                 method => get
@@ -37,6 +39,7 @@ input {
                     Accept => "application/json"
                 }
                 add_field => { "topic" => "${request_topic}" }
+                type => "dmaap_request"
             }
         }
         socket_timeout => 30
@@ -47,26 +50,39 @@ input {
 }
 
 filter {
-    # avoid noise if no entry in the list
-    if [message] == "[]" {
-       drop { }
-    }
+       if [type] != "dmaap_log" {
+        # avoid noise if no entry in the list
+        if [message] == "[]" {
+           drop { }
+        }
 
-    # parse json, split  the list into multiple events, and parse each event
-    json {
-         source => "[message]"
-         target => "message"
-    }
-    split {
-          field => "message"
-    }
-    json {
-         source => "message"
+        # parse json, split  the list into multiple events, and parse each event
+        json {
+             source => "[message]"
+             target => "message"
+        }
+        split {
+              field => "message"
+                 add_field => {
+                       "type" => "%{type}"
+                       "topic" => "%{topic}"
+                 }
+        }
+        json {
+             source => "message"
+        }
+        mutate { remove_field => [ "message" ] }
     }
-    mutate { remove_field => [ "message" ] }
+    
     # express timestamps in milliseconds instead of microseconds
     ruby {
-        code => "event.set('closedLoopAlarmStart', Integer(event.get('closedLoopAlarmStart')))"
+            code => "
+                     if event.get('closedLoopAlarmStart').to_s.to_i(10) > 9999999999999
+                       event.set('closedLoopAlarmStart', event.get('closedLoopAlarmStart').to_s.to_i(10) / 1000)
+                     else
+                       event.set('closedLoopAlarmStart', event.get('closedLoopAlarmStart').to_s.to_i(10))
+                     end
+                    "
     }
     date {
         match => [ "closedLoopAlarmStart", UNIX_MS ]
@@ -75,7 +91,13 @@ filter {
 
     if [closedLoopAlarmEnd] {
         ruby {
-            code => "event.set('closedLoopAlarmEnd', Integer(event.get('closedLoopAlarmEnd')))"
+            code => "
+                    if event.get('closedLoopAlarmEnd').to_s.to_i(10) > 9999999999999  
+                      event.set('closedLoopAlarmEnd', event.get('closedLoopAlarmEnd').to_s.to_i(10) / 1000)
+                    else
+                      event.set('closedLoopAlarmEnd', event.get('closedLoopAlarmEnd').to_s.to_i(10))
+                    end
+                    "
         }
         date {
             match => [ "closedLoopAlarmEnd", UNIX_MS ]
index 09e0e7f..94d475b 100644 (file)
@@ -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 }}
index 6bfd793..223a484 100644 (file)
@@ -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:
@@ -64,7 +64,6 @@ 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
@@ -75,10 +74,18 @@ resources: {}
   # 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:
+  small:
+    limits:
+      cpu: 1
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 2Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 8Gi
+    requests:
+      cpu: 4
+      memory: 8Gi
index 184728f..a2096fd 100644 (file)
 # 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 -}}
index a025441..ae11a26 100644 (file)
@@ -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" . }}
index 5f96ee6..8b2aafb 100644 (file)
@@ -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 }}
index b2ff4c0..51f446f 100644 (file)
@@ -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
similarity index 84%
rename from kubernetes/vnfsdk/charts/vnfsdk-postgres/Chart.yaml
rename to kubernetes/common/pgpool/Chart.yaml
index db7201d..d4f7c50 100644 (file)
@@ -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 (file)
index 0000000..9dd979a
--- /dev/null
@@ -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 (file)
index 0000000..d891840
--- /dev/null
@@ -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 (file)
index 0000000..d8e09a2
--- /dev/null
@@ -0,0 +1 @@
+testuser:md599e8713364988502fa6189781bcf648f
diff --git a/kubernetes/common/pgpool/requirements.yaml b/kubernetes/common/pgpool/requirements.yaml
new file mode 100644 (file)
index 0000000..e597fca
--- /dev/null
@@ -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 (executable)
index 0000000..cc20b42
--- /dev/null
@@ -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 (file)
index 0000000..f598409
--- /dev/null
@@ -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 (file)
index 0000000..0811fda
--- /dev/null
@@ -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/common/pgpool/values.yaml b/kubernetes/common/pgpool/values.yaml
new file mode 100644 (file)
index 0000000..8e74742
--- /dev/null
@@ -0,0 +1,28 @@
+# 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.
+
+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
index 7552d24..28ee64b 100644 (file)
@@ -30,7 +30,7 @@ busyboxRepository: registry.hub.docker.com
 busyboxImage: library/busybox:latest
 
 postgresRepository: crunchydata
-image: crunchy-postgres:centos7-10.3-1.8.2
+image: crunchy-postgres:centos7-10.4-2.0.0
 pullPolicy: Always
 
 # application configuration
@@ -46,6 +46,19 @@ container:
     primary: pgset-primary
     replica: pgset-replica
 
+pgpool:
+  container:
+    port: 5432
+    name:
+      primary: pgset-primary
+      replica: pgset-replica
+  credentials:
+    pgusername: testuser
+    pgpassword: password
+  service: 
+    name: pgpool 
+
 # default number of instances
 replicaCount: 2
 
index a1e330a..a60bbb4 100755 (executable)
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 global: # global defaults
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   persistence: {}
 
 config:
@@ -112,4 +112,4 @@ readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
-resources: {}
\ No newline at end of file
+resources: {}
index 90fca37..3490306 100755 (executable)
@@ -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 }}
index 31f2abf..14fedc8 100755 (executable)
@@ -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: {}
index 39ff3ed..e662567 100755 (executable)
@@ -17,7 +17,7 @@
 # Declare variables to be passed into your templates.
 
 global: # global defaults
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   persistence: {}
 
 # application image
index 6665064..2dfb36b 100755 (executable)
@@ -16,7 +16,7 @@
 # Global configuration defaults.
 #################################################################
 global:
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   commonConfigPrefix: netbox
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
index 8f23423..ead7562 100644 (file)
@@ -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 }}
index 6cef506..dd75846 100644 (file)
@@ -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 }}
index 0124f4d..bd74184 100644 (file)
@@ -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 }}
index c8adab4..525c18b 100644 (file)
@@ -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 }}
index ff13eb7..1ed7888 100644 (file)
@@ -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 }}
index 964570b..18a4f84 100644 (file)
@@ -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 (executable)
index 0000000..07455d7
--- /dev/null
@@ -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 (file)
index 0000000..fc7f7d0
--- /dev/null
@@ -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 (file)
index 0000000..02999fd
--- /dev/null
@@ -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 (executable)
index 0000000..02b5d34
--- /dev/null
@@ -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
index 6bbd5b9..9dbdad5 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging ElasticStack
 name: log
-version: 2.0.0
+version: 3.0.0
index 2be8c79..88edfd0 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Elasticsearch
 name: log-elasticsearch
-version: 2.0.0
+version: 3.0.0
index 06e1b6b..5ff01b8 100644 (file)
@@ -59,6 +59,8 @@ spec:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
             name: {{ .Values.service.name }}
@@ -88,16 +90,6 @@ spec:
             subPath: elasticsearch.yml
           - mountPath: /usr/share/elasticsearch/data/
             name: {{ include "common.fullname" . }}-data
-          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: localtime
           hostPath:
index 235c319..e39ba9e 100644 (file)
@@ -95,21 +95,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: 1
+      memory: 4Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 2
+      memory: 8Gi
\ No newline at end of file
index 7fe6851..14a4eb7 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Kibana
 name: log-kibana
-version: 2.0.0
+version: 3.0.0
index 191f452..a39dfe6 100644 (file)
@@ -50,6 +50,8 @@ spec:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
             name: {{ .Values.service.name }}
@@ -78,16 +80,6 @@ spec:
             readOnly: true
           - mountPath: /usr/share/kibana/config/
             name: {{ include "common.fullname" . }}
-          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: localtime
           hostPath:
index d948554..e6d4f12 100644 (file)
@@ -76,21 +76,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: 2
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 4Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 8Gi
+    requests:
+      cpu: 4
+      memory: 8Gi
\ No newline at end of file
index 62bafab..99f93b4 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Logstash
 name: log-logstash
-version: 2.0.0
+version: 3.0.0
index f54ffb3..7d0fc6e 100644 (file)
@@ -49,6 +49,8 @@ spec:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.global.loggingRepository| default .Values.loggingRepository }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
             name: {{ .Values.service.name }}
@@ -77,16 +79,6 @@ spec:
             name: {{ include "common.fullname" . }}-config
           - mountPath: /usr/share/logstash/pipeline/
             name: {{ include "common.fullname" . }}-pipeline
-          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: localtime
           hostPath:
index aa49460..bd66f70 100644 (file)
@@ -73,21 +73,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: 2Gi
+    requests:
+      cpu: 1
+      memory: 2Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 4Gi
\ No newline at end of file
index 16355ee..7dd8fa5 100644 (file)
@@ -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 }}
index ba249be..1c91e8a 100644 (file)
@@ -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 }}
index 286f839..25b21d6 100644 (file)
@@ -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
index 411c445..0b39a5c 100644 (file)
@@ -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 }}
index 82804a4..b555d46 100644 (file)
@@ -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: {}
index 473ccf6..bc207ef 100644 (file)
@@ -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
index 411c445..0b39a5c 100644 (file)
@@ -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 }}
index 353cb7b..2e89974 100644 (file)
@@ -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 }}
index d6af600..dce2343 100644 (file)
@@ -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
index bdbbc9b..e2b789d 100644 (file)
@@ -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 }}
index 84a8cc2..5c524fb 100644 (file)
@@ -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: {}
index aeed9e1..dc04dbb 100644 (file)
@@ -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
index 2d642e6..fee00ba 100644 (file)
@@ -75,7 +75,7 @@ spec:
           - mountPath: /var/lib/mysql
             name: mariadb-data
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 773e641..db8ea8a 100644 (file)
@@ -75,4 +75,21 @@ service:
 ingress:
   enabled: false
 
-resources: {}
+# 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
+
index 7575061..a7be329 100644 (file)
@@ -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,12 +94,18 @@ 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
               readOnly: true
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 405a59c..8b9b238 100644 (file)
@@ -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==
@@ -103,11 +103,21 @@ service:
 
 ingress:
   enabled: false
-
+# Resource Limit flavor -By Default using small 
+flavor: small
+# Segregation for Different environment (Small and Large)
 resources:
-  limits:
+  small:
+    limits:
     cpu: 1
     memory: 2Gi
   requests:
     cpu: 100m
     memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 200m
+      memory: 2Gi
\ No newline at end of file
index 911a1d5..b6e450a 100644 (file)
@@ -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
index 1cf1ab1..1f98d90 100644 (file)
@@ -33,6 +33,8 @@ appc:
   enabled: false
 clamp:
   enabled: false
+contrib:
+  enabled: false
 cli:
   enabled: false
 consul:
index 4d37070..9b56c7b 100644 (file)
@@ -78,6 +78,8 @@ cli:
   enabled: true
 consul:
   enabled: true
+contrib:
+  enabled: true
 dcaegen2:
   enabled: true
 dmaap:
index 075d7a8..6d7dad9 100644 (file)
@@ -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 }}
 
index 969fb11..7a38efa 100644 (file)
@@ -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 }}
index 3b8f331..f21a002 100755 (executable)
@@ -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 }}
index 650531a..e73c758 100644 (file)
@@ -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 }}
index a86a5fc..44f3b36 100644 (file)
@@ -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' 
index 92d1b0d..072357f 100755 (executable)
@@ -43,7 +43,7 @@ config:
   networkdiscoveryCtxBuilderHost: pomba-networkdiscoveryctxbuilder
   networkdiscoveryCtxBuilderUsername: admin
   networkdiscoveryCtxBuilderPassword: admin
-  ctxBuilderExternalPort: 9350
+  ctxBuilderExternalPort: 9530
 
 # default number of instances
 replicaCount: 1
index f58be68..d54dbfe 100644 (file)
     "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}]"
+      "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}]"
     }
   }
 }{
       }
     }
   }
-}
\ No newline at end of file
+}
index e9ebad7..ae01e96 100644 (file)
                 "type": "text"
               }
             }
+          },
+          "client": {
+            "type": "text"
+          },
+          "requestId": {
+            "type": "text"
           }
         }
       }
     }
   }
-}
\ No newline at end of file
+}
index 9246aca..c4c00d3 100644 (file)
@@ -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
index b330930..79c5f0b 100644 (file)
@@ -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">
index 2b9d290..2394ef1 100644 (file)
@@ -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-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 (file)
index 0000000..c669909
--- /dev/null
@@ -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
index e66afdc..d3bfd81 100644 (file)
@@ -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 }}
index 550223b..5faa453 100644 (file)
@@ -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"
index 775527f..9607671 100644 (file)
@@ -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
index cf3b6a5..178e91c 100644 (file)
@@ -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 }}
index 07ce9b1..3f45468 100644 (file)
@@ -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 }}
 
index b212fc2..9a08da5 100644 (file)
@@ -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 }}
 
index b419428..bce6896 100644 (file)
@@ -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 }}
index ab20a3f..6779c28 100644 (file)
@@ -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 }}
index 568c689..0c67732 100644 (file)
@@ -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 }}
 
index 5e8ba33..c4124c2 100755 (executable)
@@ -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)
index befe142..22b83e8 100755 (executable)
 # 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"
 
index bcdd42b..9111644 100644 (file)
@@ -128,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"
index cebc7f5..319ef59 100644 (file)
@@ -57,7 +57,7 @@ spec:
         - name: robot-logs
           mountPath: /share/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 }}
index 2951b60..146c0be 100755 (executable)
@@ -84,6 +84,25 @@ nodeSelector: {}
 
 affinity: {}
 
+# Resource Limit flavor -By Default using small 
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2000m
+      memory: 4Gi
+    requests:
+      cpu: 500m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4000m
+      memory: 8Gi
+    requests:
+      cpu: 1000m
+      memory: 2Gi
+
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -96,7 +115,6 @@ readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
-
 service:
   name: robot
   type: NodePort
@@ -105,30 +123,9 @@ service:
   internalPort: 88
   nodePort: "09"
 
-
 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
-
 ## Persist data to a persitent volume
 persistence:
   enabled: true
index 8ee112c..03eb04e 100644 (file)
@@ -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 }}
index c1f0d38..bee9f36 100644 (file)
@@ -28,8 +28,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-backend:1.2.0
-backendInitImage: onap/sdc-backend-init:1.2.0
+image: onap/sdc-backend:1.3-STAGING-latest
+backendInitImage: onap/sdc-backend-init:1.3-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 4e8d952..f52c793 100644 (file)
@@ -28,8 +28,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-cassandra:1.2.0
-cassandraInitImage: onap/sdc-cassandra-init:1.2.0
+image: onap/sdc-cassandra:1.3-STAGING-latest
+cassandraInitImage: onap/sdc-cassandra-init:1.3-STAGING-latest
 
 pullPolicy: Always
 
index c5bad7c..5d3d701 100644 (file)
@@ -31,7 +31,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-elasticsearch:1.2.0
+image: onap/sdc-elasticsearch:1.3-STAGING-latest
 elasticInitImage: onap/sdc-init-elasticsearch:1.2.0
 pullPolicy: Always
 
index 8ee112c..03eb04e 100644 (file)
@@ -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 }}
index 7a6a97e..c4c629a 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-frontend:1.2.0
+image: onap/sdc-frontend:1.3-STAGING-latest
 pullPolicy: Always
 
 config:
index 086651b..7b06bc8 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-kibana:1.2.0
+image: onap/sdc-kibana:1.3-STAGING-latest
 pullPolicy: Always
 
 config:
index 8ee112c..03eb04e 100644 (file)
@@ -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 }}
index fd2e6de..7f583ff 100644 (file)
@@ -28,8 +28,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-onboard-backend:1.2.0
-onboardingInitImage: onap/sdc-onboard-cassandra-init:1.2.0
+image: onap/sdc-onboard-backend:1.3-STAGING-latest
+onboardingInitImage: onap/sdc-onboard-cassandra-init:1.3-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index affae0c..1e69c97 100644 (file)
@@ -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 (file)
index 0000000..66e6267
--- /dev/null
@@ -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
index fd8934b..816b1db 100644 (file)
@@ -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 }}
index 1a13cc3..d69d67d 100644 (file)
@@ -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 }}
index 9ddf590..e735090 100644 (file)
@@ -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
index f57dc78..816b1db 100644 (file)
@@ -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 }}
index a19c33a..fe9d302 100644 (file)
@@ -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"
index 895fa6e..6cd46b6 100644 (file)
@@ -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
index f57dc78..816b1db 100644 (file)
@@ -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 }}
index 87ed6aa..aba6870 100644 (file)
@@ -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 }}
index 1938503..400d749 100644 (file)
@@ -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
index fd8934b..816b1db 100644 (file)
@@ -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 }}
index 5aa1a31..2258d4a 100644 (file)
@@ -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 }}
index de9bd27..c6bbeca 100644 (file)
@@ -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
index 9a39d0f..5d51118 100644 (file)
@@ -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
index 48db574..87cdeff 100755 (executable)
@@ -42,7 +42,7 @@ PASSWORD=admin
 for pod_number in {0..2}
 do
 
-   response=`curl -s -u $USERNAME:$PASSWORD -H "Content-Type: application/json" -H "Accept: application/json" -X GET http://localhost:3046$((${pod_number} + 1))/jolokia/read/org.opendaylight.controller:Category=Shards,name=member-$((${MEMBER_NUMBER} + ${pod_number}))-shard-default-config,type=DistributedConfigDatastore`
+   response=`curl -s -u $USERNAME:$PASSWORD -H "Content-Type: application/json" -H "Accept: application/json" -X GET http://localhost:3026$((${pod_number} + 1))/jolokia/read/org.opendaylight.controller:Category=Shards,name=member-$((${MEMBER_NUMBER} + ${pod_number}))-shard-default-config,type=DistributedConfigDatastore`
 
    if [ $? -ne 0 ]; then
       continue
index cf43323..3e88512 100644 (file)
@@ -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 }}
index 6f4ee22..4adf816 100644 (file)
@@ -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 }}
index 03ae880..8c52e5c 100644 (file)
@@ -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 }}
index 18ba426..1fd2fa5 100644 (file)
@@ -197,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
index 01f836a..9021ef5 100755 (executable)
@@ -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
+
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index b5fbef0..e513e6a 100755 (executable)
@@ -29,7 +29,7 @@ updateStrategy:
     maxUnavailable: 1
     maxSurge: 1
 # Resource Limit flavor -By Default using small
-flavor: small
+flavor: large
 # Segregation for Different environment (Small and Large)
 resources:
   small:
index 65f22b7..bdf82b6 100755 (executable)
@@ -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
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index f964364..331ee65 100755 (executable)
 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"
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index 82117b0..f995d94 100755 (executable)
@@ -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
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index f33737d..899274c 100755 (executable)
@@ -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
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index 4479206..26916f9 100755 (executable)
@@ -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
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index 6c26671..6f579e7 100755 (executable)
 # 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
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index 99c76cd..9d3c167 100755 (executable)
@@ -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
index 48d9ef8..a03dbd8 100755 (executable)
@@ -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 }}
index e5af389..b01d486 100755 (executable)
@@ -47,8 +47,8 @@ resources:
       cpu: 1000m
       memory: 2Gi
 livenessProbe:
-    path: /manage/health 
-    scheme: HTTPS
+    path: /manage/health
+    scheme: HTTP
     initialDelaySeconds: 600
     periodSeconds: 60
     timeoutSeconds: 10
index e1c0d77..0a73fff 100644 (file)
@@ -45,6 +45,8 @@ spec:
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end -}}
+          resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
index 25a9538..ecc93c0 100644 (file)
@@ -21,6 +21,8 @@ global:
 subChartsOnly:
   enabled: true
 
+flavor: small
+
 # application image
 repository: nexus3.onap.org:10001
 image: onap/usecase-ui/usecase-ui-server:1.1.1
@@ -63,7 +65,6 @@ 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
@@ -74,10 +75,18 @@ resources: {}
   # 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:
+  small:
+    limits:
+      cpu: 250m
+      memory: 250Mi
+    requests:
+      cpu: 250m
+      memory: 250Mi
+  large:
+    limits:
+      cpu: 500m
+      memory: 500Mi
+    requests:
+      cpu: 500m
+      memory: 500Mi
index 9578d9c..5d564cf 100644 (file)
@@ -58,7 +58,7 @@ spec:
           - name: MSB_ADDR
             value: {{ tpl .Values.msbaddr . }}
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 66b2778..95be04b 100644 (file)
@@ -21,6 +21,8 @@ global:
 subChartsOnly:
   enabled: true
 
+flavor: small
+
 # application image
 repository: nexus3.onap.org:10001
 image: onap/usecase-ui:1.1.1
@@ -63,7 +65,6 @@ 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
@@ -74,10 +75,18 @@ resources: {}
   # 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:
+  small:
+    limits:
+      cpu: 250m
+      memory: 1Gi
+    requests:
+      cpu: 250m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 500m
+      memory: 1Gi
+    requests:
+      cpu: 500m
+      memory: 1Gi
@@ -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
@@ -97,7 +97,7 @@ spec:
             timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
       {{- end }}
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
           volumeMounts:
         {{- if .Values.externalConfig }}
           - mountPath: /etc/config
@@ -106,27 +106,26 @@ ingress:
 #externalConfig: {}
 externalConfig: |-
   lower_case_table_names = 1
-#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
+# Resource Limit flavor -By Default using small 
+flavor: small
+# Segregation for Different environment (Small and Large)
 resources:
-  limits:
-    cpu: 2
-    memory: 4Gi
-  requests:
-    cpu: 2
-    memory: 4Gi
-
+  small:
+    limits:
+      cpu: 10m
+      memory: 1Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 20m
+      memory: 2Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
 # 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
similarity index 52%
rename from TOSCA/Helm/k8s_delete_env.sh
rename to kubernetes/vid/resources/config/db_cmd.sh
index c715e22..95b83d4 100644 (file)
@@ -1,24 +1,23 @@
-#!/bin/bash
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright (c) 2017 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.
 # 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============================================
-
-kubectl delete secret $1-docker-registry-key
-kubectl delete clusterrolebinding $1-admin-binding
-kubectl delete namespace $1
-
-
 
+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 (file)
index 0000000..2dbbbcc
--- /dev/null
@@ -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 (file)
index 270615a..0000000
+++ /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 (file)
index 86f8d91..0000000
+++ /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)
-
-
-
index f7dbf07..cae46b4 100644 (file)
@@ -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
index 3a7bdca..9b9ee8d 100644 (file)
@@ -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
@@ -132,7 +118,7 @@ spec:
             name: vid-logback
             subPath: logback.xml
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
@@ -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 (file)
index 7f05af5..0000000
+++ /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;
-
index 3d1097f..36b35e4 100644 (file)
@@ -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" . }}
index b893dbf..2bcf647 100644 (file)
@@ -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
 
index 812f74e..23812c9 100644 (file)
@@ -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,28 +80,32 @@ 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
 
-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: 20m
+      memory: 2Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
+  large:
+    limits:
+      cpu: 40m
+      memory: 4Gi
+    requests:
+      cpu: 40
+      memory: 4Gi
\ No newline at end of file
index ce82a2f..3b2a02a 100644 (file)
@@ -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 (file)
index 0000000..c05d7f2
--- /dev/null
@@ -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)
+);
similarity index 63%
rename from kubernetes/vid/templates/dbcmd-configmap.yaml
rename to kubernetes/vnfsdk/templates/configmap.yaml
index aa08801..9354de5 100644 (file)
@@ -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.
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-dbcmd-configmap
+  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:
- 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 }}
index 8220553..ee779f4 100644 (file)
@@ -38,7 +38,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - "{{ .Values.vnfsdkpostgres.nameOverride }}"
+        - "{{ .Values.postgres.nameOverride }}"
         env:
         - name: NAMESPACE
           valueFrom:
@@ -52,9 +52,11 @@ spec:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
         name: {{ include "common.name" . }}
+        resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         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 (file)
index 0000000..08d3107
--- /dev/null
@@ -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" . }}
index edca2ec..89630c9 100644 (file)
@@ -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
@@ -42,6 +61,25 @@ nodeSelector: {}
 
 affinity: {}
 
+# Resource Limit flavor -By Default using small 
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2000m
+      memory: 4Gi
+    requests:
+      cpu: 500m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4000m
+      memory: 8Gi
+    requests:
+      cpu: 1000m
+      memory: 2Gi
+
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10