summaryrefslogtreecommitdiffstats
path: root/kubernetes
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes')
-rw-r--r--kubernetes/Makefile42
-rw-r--r--kubernetes/README.md133
-rw-r--r--kubernetes/README_HELM20
-rw-r--r--kubernetes/aaf/Chart.yaml14
-rw-r--r--kubernetes/aaf/templates/aaf-configmap.yaml14
-rw-r--r--kubernetes/aaf/templates/aaf-cs-deployment.yaml14
-rw-r--r--kubernetes/aaf/templates/aaf-deployment.yaml14
-rw-r--r--kubernetes/aaf/templates/aaf-secret.yaml14
-rw-r--r--kubernetes/aaf/templates/all-services.yaml14
-rw-r--r--kubernetes/aaf/values.yaml14
-rw-r--r--kubernetes/aai/.helmignore (renamed from kubernetes/common/common-templates/.helmignore)0
-rw-r--r--kubernetes/aai/Chart.yaml18
-rw-r--r--kubernetes/aai/charts/aai-data-router/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-data-router/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/auth/client-cert-onap.p12 (renamed from kubernetes/aai/resources/config/data-router/appconfig/auth/client-cert-onap.p12)bin2556 -> 2556 bytes
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/auth/data-router_policy.json (renamed from kubernetes/aai/resources/config/data-router/appconfig/auth/data-router_policy.json)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/auth/tomcat_keystore (renamed from kubernetes/aai/resources/config/data-router/appconfig/auth/tomcat_keystore)bin2214 -> 2214 bytes
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/data-router.properties (renamed from kubernetes/aai/resources/config/data-router/appconfig/data-router.properties)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v10.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v11.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v8.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml (renamed from kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v9.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml (renamed from kubernetes/aai/resources/config/data-router/dynamic/conf/entity-event-policy.xml)0
-rw-r--r--kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route (renamed from kubernetes/aai/resources/config/data-router/dynamic/routes/entity-event.route)2
-rw-r--r--kubernetes/aai/charts/aai-data-router/templates/configmap.yaml48
-rw-r--r--kubernetes/aai/charts/aai-data-router/templates/deployment.yaml154
-rw-r--r--kubernetes/aai/charts/aai-data-router/templates/secret.yaml8
-rw-r--r--kubernetes/aai/charts/aai-data-router/values.yaml86
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/resources/config/elasticsearch.yml (renamed from kubernetes/aai/resources/config/elasticsearch/config/elasticsearch.yml)4
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml23
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml96
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml25
-rw-r--r--kubernetes/aai/charts/aai-elasticsearch/values.yaml84
-rw-r--r--kubernetes/aai/charts/aai-hbase/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-hbase/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-hbase/templates/deployment.yaml72
-rw-r--r--kubernetes/aai/charts/aai-hbase/templates/service.yaml55
-rw-r--r--kubernetes/aai/charts/aai-hbase/values.yaml92
-rw-r--r--kubernetes/aai/charts/aai-modelloader/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-modelloader/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-modelloader/resources/config/auth/aai-os-cert.p12 (renamed from kubernetes/aai/resources/config/model-loader/appconfig/auth/aai-os-cert.p12)bin4357 -> 4357 bytes
-rw-r--r--kubernetes/aai/charts/aai-modelloader/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/model-loader/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties (renamed from kubernetes/aai/resources/config/model-loader/appconfig/model-loader.properties)4
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml15
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml97
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/secret.yaml8
-rw-r--r--kubernetes/aai/charts/aai-modelloader/templates/service.yaml29
-rw-r--r--kubernetes/aai/charts/aai-modelloader/values.yaml67
-rw-r--r--kubernetes/aai/charts/aai-resources/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-resources/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/resources/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/configmap.yaml7
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/deployment.yaml527
-rw-r--r--kubernetes/aai/charts/aai-resources/templates/service.yaml30
-rw-r--r--kubernetes/aai/charts/aai-resources/values.yaml68
-rw-r--r--kubernetes/aai/charts/aai-search-data/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-search-data/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/analysis-config.json (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/analysis-config.json)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/auth/search_policy.json (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/auth/search_policy.json)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/auth/tomcat_keystore)bin2214 -> 2214 bytes
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties5
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/filter-config.json (renamed from kubernetes/aai/resources/config/search-data-service/appconfig/filter-config.json)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/search-data-service/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/configmap.yaml15
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/deployment.yaml137
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/secret.yaml16
-rw-r--r--kubernetes/aai/charts/aai-search-data/templates/service.yaml25
-rw-r--r--kubernetes/aai/charts/aai-search-data/values.yaml68
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/aai.properties)2
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/auth/aai-os-cert.p12 (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/auth/aai-os-cert.p12)bin4357 -> 4357 bytes
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/auth/client-cert-onap.p12 (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/auth/client-cert-onap.p12)bin2556 -> 2556 bytes
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/auth/inventory-ui-keystore)bin7201 -> 7201 bytes
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/elasticsearch.properties)4
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/sparky-be/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/model/aai_oxm_v9.xml)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal-authentication.properties)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal.properties)4
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/roles.config)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/search-service.properties)2
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/suggestive-search.properties)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties (renamed from kubernetes/aai/resources/config/sparky-be/appconfig/synchronizer.properties)0
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml31
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml149
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml8
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/templates/service.yaml25
-rw-r--r--kubernetes/aai/charts/aai-sparky-be/values.yaml70
-rw-r--r--kubernetes/aai/charts/aai-traversal/.helmignore21
-rw-r--r--kubernetes/aai/charts/aai-traversal/Chart.yaml4
-rw-r--r--kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml (renamed from kubernetes/aai/resources/config/log/traversal/logback.xml)0
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/configmap.yaml7
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/deployment.yaml357
-rw-r--r--kubernetes/aai/charts/aai-traversal/templates/service.yaml30
-rw-r--r--kubernetes/aai/charts/aai-traversal/values.yaml67
-rw-r--r--kubernetes/aai/requirements.yaml7
-rw-r--r--kubernetes/aai/resources/config/aai-data/environments/simpledemo.json28
-rw-r--r--kubernetes/aai/resources/config/haproxy/haproxy.cfg5
-rw-r--r--kubernetes/aai/resources/config/log/filebeat/filebeat.yml2
-rw-r--r--kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties5
-rw-r--r--kubernetes/aai/templates/aai-deployment-configmap.yaml9
-rw-r--r--kubernetes/aai/templates/aai-deployment.yaml69
-rw-r--r--kubernetes/aai/templates/aai-filebeat-configmap.yaml9
-rw-r--r--kubernetes/aai/templates/aai-resources-deployment.yaml105
-rw-r--r--kubernetes/aai/templates/aai-resources-traversal-configmap.yaml33
-rw-r--r--kubernetes/aai/templates/aai-traversal-deployment.yaml107
-rw-r--r--kubernetes/aai/templates/all-services.yaml313
-rw-r--r--kubernetes/aai/templates/configmap.yaml35
-rw-r--r--kubernetes/aai/templates/data-router-configmap.yaml59
-rw-r--r--kubernetes/aai/templates/data-router-deployment.yaml129
-rw-r--r--kubernetes/aai/templates/deployment.yaml86
-rw-r--r--kubernetes/aai/templates/elasticsearch-configmap.yaml9
-rw-r--r--kubernetes/aai/templates/elasticsearch-deployment.yaml73
-rw-r--r--kubernetes/aai/templates/hbase-deployment.yaml51
-rw-r--r--kubernetes/aai/templates/modelloader-deployment-configmap.yaml26
-rw-r--r--kubernetes/aai/templates/modelloader-deployment.yaml76
-rw-r--r--kubernetes/aai/templates/search-data-service-configmap.yaml34
-rw-r--r--kubernetes/aai/templates/search-data-service-deployment.yaml97
-rw-r--r--kubernetes/aai/templates/service.yaml33
-rw-r--r--kubernetes/aai/templates/sparky-be-deployment-configmap.yaml42
-rw-r--r--kubernetes/aai/templates/sparky-be-deployment.yaml109
-rw-r--r--kubernetes/aai/values.yaml132
-rw-r--r--kubernetes/appc/.helmignore21
-rw-r--r--kubernetes/appc/Chart.yaml18
-rw-r--r--kubernetes/appc/requirements.yaml10
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/bin/installAppcDb.sh)10
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/bin/startODL.sh)37
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/aaiclient.properties)6
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/appc.properties)22
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/dblib.properties)2
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/svclogic.properties)2
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/svclogic/bin/showActiveGraphs.sh)2
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties (renamed from kubernetes/appc/resources/config/appc/opt/openecomp/appc/svclogic/config/svclogic.properties)2
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh6
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh4
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties6
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties2
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties2
-rwxr-xr-xkubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh2
-rw-r--r--kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties2
-rw-r--r--kubernetes/appc/resources/config/log/filebeat/log4j/filebeat.yml2
-rw-r--r--kubernetes/appc/templates/NOTES.txt19
-rw-r--r--kubernetes/appc/templates/all-services.yaml85
-rw-r--r--kubernetes/appc/templates/appc-configmap.yaml73
-rw-r--r--kubernetes/appc/templates/appc-deployment.yaml167
-rw-r--r--kubernetes/appc/templates/appc-dgbuilder-configmap.yaml17
-rw-r--r--kubernetes/appc/templates/appc-log-configmap.yaml17
-rw-r--r--kubernetes/appc/templates/appc-pv-pvc.yaml32
-rw-r--r--kubernetes/appc/templates/configmap.yaml79
-rw-r--r--kubernetes/appc/templates/db-deployment.yaml49
-rw-r--r--kubernetes/appc/templates/dgbuilder-deployment.yaml85
-rw-r--r--kubernetes/appc/templates/secrets.yaml (renamed from kubernetes/so/templates/secrets.yaml)8
-rw-r--r--kubernetes/appc/templates/service.yaml62
-rw-r--r--kubernetes/appc/templates/statefulset.yaml186
-rw-r--r--kubernetes/appc/values.yaml128
-rw-r--r--kubernetes/clamp/Chart.yaml18
-rw-r--r--kubernetes/clamp/charts/mariadb/Chart.yaml18
-rw-r--r--kubernetes/clamp/charts/mariadb/NOTES.txt19
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/conf.d/conf1/my.cnf (renamed from kubernetes/clamp/resources/config/mariadb/conf.d/conf1/my.cnf)0
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql (renamed from kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql)0
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql (renamed from kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql)0
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql (renamed from kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql)0
-rw-r--r--kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh (renamed from kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh)0
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/configmap.yaml (renamed from kubernetes/clamp/templates/clamp-mariadb-configmap.yaml)22
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/deployment.yaml108
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/pv.yaml37
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/pvc.yaml48
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/secrets.yaml27
-rw-r--r--kubernetes/clamp/charts/mariadb/templates/service.yaml38
-rw-r--r--kubernetes/clamp/charts/mariadb/values.yaml105
-rw-r--r--kubernetes/clamp/requirements.yaml21
-rw-r--r--kubernetes/clamp/templates/NOTES.txt19
-rw-r--r--kubernetes/clamp/templates/all-services.yaml32
-rw-r--r--kubernetes/clamp/templates/clamp-deployment.yaml52
-rw-r--r--kubernetes/clamp/templates/clamp-mariadb-deployment.yaml62
-rw-r--r--kubernetes/clamp/templates/clamp-pv-pvc.yaml32
-rw-r--r--kubernetes/clamp/templates/configmap.yaml26
-rw-r--r--kubernetes/clamp/templates/deployment.yaml85
-rw-r--r--kubernetes/clamp/templates/service.yaml39
-rw-r--r--kubernetes/clamp/values.yaml110
-rw-r--r--kubernetes/cli/Chart.yaml14
-rw-r--r--kubernetes/cli/templates/all-service.yaml14
-rw-r--r--kubernetes/cli/templates/cli-deployment.yaml14
-rw-r--r--kubernetes/cli/values.yaml14
-rw-r--r--kubernetes/common/.helmignore21
-rw-r--r--kubernetes/common/Makefile30
-rw-r--r--kubernetes/common/common-templates/Chart.yaml4
-rw-r--r--kubernetes/common/common-templates/templates/_name.tpl15
-rw-r--r--kubernetes/common/common-templates/templates/_namespace.tpl11
-rw-r--r--kubernetes/common/common/Chart.yaml18
-rw-r--r--kubernetes/common/common/templates/_name.tpl31
-rw-r--r--kubernetes/common/common/templates/_namespace.tpl26
-rw-r--r--kubernetes/common/common/values.yaml (renamed from kubernetes/common/common-templates/values.yaml)18
-rw-r--r--kubernetes/common/dgbuilder/.helmignore21
-rw-r--r--kubernetes/common/dgbuilder/Chart.yaml4
-rw-r--r--kubernetes/common/dgbuilder/requirements.yaml4
-rw-r--r--kubernetes/common/dgbuilder/resources/config/svclogic.properties (renamed from kubernetes/appc/resources/config/dgbuilder/svclogic.properties)2
-rwxr-xr-xkubernetes/common/dgbuilder/resources/scripts/createReleaseDir.sh (renamed from kubernetes/appc/resources/scripts/dgbuilder/createReleaseDir.sh)4
-rw-r--r--kubernetes/common/dgbuilder/resources/scripts/customSettings.js (renamed from kubernetes/appc/resources/scripts/dgbuilder/customSettings.js)2
-rw-r--r--kubernetes/common/dgbuilder/templates/NOTES.txt19
-rw-r--r--kubernetes/common/dgbuilder/templates/configmap.yaml15
-rw-r--r--kubernetes/common/dgbuilder/templates/deployment.yaml98
-rw-r--r--kubernetes/common/dgbuilder/templates/secrets.yaml13
-rw-r--r--kubernetes/common/dgbuilder/templates/service.yaml26
-rw-r--r--kubernetes/common/dgbuilder/values.yaml93
-rw-r--r--kubernetes/common/mysql/.helmignore21
-rw-r--r--kubernetes/common/mysql/Chart.yaml4
-rw-r--r--kubernetes/common/mysql/requirements.yaml4
-rw-r--r--kubernetes/common/mysql/templates/configmap.yaml18
-rw-r--r--kubernetes/common/mysql/templates/nfs-provisoner.yaml62
-rw-r--r--kubernetes/common/mysql/templates/pv.yaml22
-rw-r--r--kubernetes/common/mysql/templates/pvc.yaml23
-rw-r--r--kubernetes/common/mysql/templates/secrets.yaml13
-rw-r--r--kubernetes/common/mysql/templates/service.yaml90
-rw-r--r--kubernetes/common/mysql/templates/statefulset.yaml238
-rw-r--r--kubernetes/common/mysql/templates/storageclass.yaml6
-rw-r--r--kubernetes/common/mysql/values.yaml111
-rw-r--r--kubernetes/config/Chart.yaml14
-rwxr-xr-xkubernetes/config/docker/init/src/config/consul/consul-agent-config/bin/kubectlbin72337373 -> 0 bytes
-rwxr-xr-xkubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/aai-search-storage-write-script.sh17
-rwxr-xr-xkubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/appc-dbhost-script.sh13
-rwxr-xr-xkubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/gremlin-script.sh16
-rwxr-xr-xkubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdnc-dbhost-script.sh13
-rwxr-xr-xkubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py78
-rw-r--r--kubernetes/config/onap-parameters-sample.yaml14
-rw-r--r--kubernetes/config/onap-parameters.yaml14
-rw-r--r--kubernetes/config/templates/pod.yaml14
-rw-r--r--kubernetes/config/values.yaml14
-rw-r--r--kubernetes/consul/Chart.yaml14
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/aai-data-router-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-data-router-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/aai-hbase-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-hbase-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/aai-model-loader-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-model-loader-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/aai-search-data-service-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-search-data-service-health.json)8
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/aai-services-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-services-health.json)13
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/aai-sparky-be-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-sparky-be-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/aai-tabular-backend-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-tabular-backend-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/appc-dbbuilder.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-dbbuilder.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/appc-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb01-healthcheck.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnctldb01-healthcheck.json)4
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb02-healthcheck.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnctldb02-healthcheck.json)4
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/appc-sdnhost.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnhost.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/certs/client-cert-onap.crt.pem (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/certs/client-cert-onap.crt.pem)0
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/certs/client-cert-onap.key.pem (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/certs/client-cert-onap.key.pem)0
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/log-elastic-search.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-elastic-search.json)4
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/log-kibana.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-kibana.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/log-logstash.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-logstash.json)20
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/model-loader.properties (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/model-loader.properties)0
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/mr-dmaap-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-dmaap-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/mr-kafka-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-kafka-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/mr-zookeeper-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-zookeeper-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/msb-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/msb-health.json)16
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/mso-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-health.json)6
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/mso-mariabdb.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-mariabdb.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/multicloud-health-check.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/multicloud-health-check.json)8
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-doc.txt (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/aai-search-storage-write-doc.txt)0
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-script.sh17
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/appc-dbhost-script.sh13
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/data-router-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/data-router-script.sh)4
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/model-loader-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/model-loader-script.sh)4
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/mr-kafka-health.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-kafka-health.sh)4
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/mr-zookeeper-health.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-zookeeper-health.sh)4
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/mso-api-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-api-script.sh)2
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/mso-camunda-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-camunda-script.sh)2
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/mso-jra-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-jra-script.sh)2
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/mso-mariadb-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-mariadb-script.sh)4
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/sdc-be-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-be-script.sh)2
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/sdc-cs-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-cs-script.sh)2
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/sdc-fe-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-fe-script.sh)2
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/sdc-titan-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-titan-script.sh)2
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/sdnc-dbhost-script.sh13
-rw-r--r--[-rwxr-xr-x]kubernetes/consul/resources/config/consul-agent-config/scripts/search-data-service-availability.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/search-data-service-availability.sh)16
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/sparky-be-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sparky-be-script.sh)4
-rwxr-xr-xkubernetes/consul/resources/config/consul-agent-config/scripts/tabular-db-availability.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/tabular-db-availability.sh)2
-rwxr-xr-x[-rw-r--r--]kubernetes/consul/resources/config/consul-agent-config/scripts/vid-mariadb-script.sh (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/vid-mariadb-script.sh)4
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdc-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdc-health.json)10
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdnc-dbhost.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dbhost.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdnc-dgbuilder.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dgbuilder.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdnc-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdnc-portal-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-portal-health.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb01-healthcheck.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnctldb01-healthcheck.json)4
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb02-healthcheck.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnctldb02-healthcheck.json)4
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnhost.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnhost.json)2
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/vfc-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/vfc-health.json)60
-rw-r--r--kubernetes/consul/resources/config/consul-agent-config/vid-health.json (renamed from kubernetes/config/docker/init/src/config/consul/consul-agent-config/vid-health.json)4
-rw-r--r--kubernetes/consul/templates/consul-agent-configmap.yaml39
-rw-r--r--kubernetes/consul/templates/consul-agent-deployment.yaml31
-rw-r--r--kubernetes/consul/templates/consul-server-deployment.yaml23
-rw-r--r--kubernetes/consul/templates/consul-server-service.yaml14
-rw-r--r--kubernetes/consul/values.yaml19
-rw-r--r--kubernetes/dcae/Chart.yaml4
-rw-r--r--kubernetes/dcae/README18
-rwxr-xr-xkubernetes/dcae/cdap/docker/00-provisioning.sh257
-rwxr-xr-xkubernetes/dcae/cdap/docker/01-entrypoint.sh8
-rw-r--r--kubernetes/dcae/cdap/docker/Dockerfile57
-rw-r--r--kubernetes/dcae/cdap/docker/docker-compose.yaml44
-rw-r--r--kubernetes/dcae/cdap/docker/fs/Dockerfile4
-rwxr-xr-xkubernetes/dcae/pgaas/Dockerfile45
-rwxr-xr-xkubernetes/dcae/pgaas/setup.sh437
-rw-r--r--kubernetes/dcae/templates/all-services.yaml129
-rw-r--r--kubernetes/dcae/templates/cdap0-dep.yaml79
-rw-r--r--kubernetes/dcae/templates/cdap1-dep.yaml79
-rw-r--r--kubernetes/dcae/templates/cdap2-dep.yaml79
-rw-r--r--kubernetes/dcae/templates/dcae-collector-common-event.yaml40
-rw-r--r--kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml39
-rw-r--r--kubernetes/dcae/templates/dcae-controller.yaml63
-rw-r--r--kubernetes/dcae/templates/dcae-dmaap.yaml66
-rw-r--r--kubernetes/dcae/templates/dcae-kafka.yaml74
-rw-r--r--kubernetes/dcae/templates/dcae-zookeeper.yaml33
-rw-r--r--kubernetes/dcae/templates/pgaas.yaml49
-rw-r--r--kubernetes/dcae/values.yaml14
-rw-r--r--kubernetes/dcaegen2/Chart.yaml14
-rw-r--r--kubernetes/dcaegen2/dcae-parameters-sample.yaml14
-rw-r--r--kubernetes/dcaegen2/templates/pod.yaml16
-rw-r--r--kubernetes/dcaegen2/values.yaml19
-rw-r--r--kubernetes/esr/.helmignore21
-rw-r--r--kubernetes/esr/Chart.yaml18
-rw-r--r--kubernetes/esr/charts/esr-gui/.helmignore21
-rw-r--r--kubernetes/esr/charts/esr-gui/Chart.yaml18
-rw-r--r--kubernetes/esr/charts/esr-gui/templates/NOTES.txt16
-rw-r--r--kubernetes/esr/charts/esr-gui/templates/deployment.yaml67
-rw-r--r--kubernetes/esr/charts/esr-gui/templates/service.yaml42
-rw-r--r--kubernetes/esr/charts/esr-gui/values.yaml74
-rw-r--r--kubernetes/esr/requirements.yaml21
-rw-r--r--kubernetes/esr/resources/config/log/esrserver/logback.xml27
-rw-r--r--kubernetes/esr/resources/config/log/filebeat/filebeat.yml42
-rw-r--r--kubernetes/esr/templates/NOTES.txt13
-rw-r--r--kubernetes/esr/templates/all-services.yaml53
-rw-r--r--kubernetes/esr/templates/configmap.yaml30
-rw-r--r--kubernetes/esr/templates/deployment.yaml99
-rw-r--r--kubernetes/esr/templates/esr-esrgui-deployment.yaml35
-rw-r--r--kubernetes/esr/templates/esr-esrserver-deployment.yaml35
-rw-r--r--kubernetes/esr/templates/service.yaml43
-rw-r--r--kubernetes/esr/values.yaml93
-rw-r--r--kubernetes/helm/starters/onap-app/.helmignore21
-rw-r--r--kubernetes/helm/starters/onap-app/Chart.yaml18
-rw-r--r--kubernetes/helm/starters/onap-app/README.md14
-rw-r--r--kubernetes/helm/starters/onap-app/requirements.yaml18
-rw-r--r--kubernetes/helm/starters/onap-app/resources/config/README.txt10
-rw-r--r--kubernetes/helm/starters/onap-app/resources/config/application.properties1
-rw-r--r--kubernetes/helm/starters/onap-app/templates/NOTES.txt19
-rw-r--r--kubernetes/helm/starters/onap-app/templates/configmap.yaml21
-rw-r--r--kubernetes/helm/starters/onap-app/templates/deployment.yaml104
-rw-r--r--kubernetes/helm/starters/onap-app/templates/service.yaml53
-rw-r--r--kubernetes/helm/starters/onap-app/values.yaml92
-rw-r--r--kubernetes/kube2msb/Chart.yaml4
-rw-r--r--kubernetes/kube2msb/templates/kube2msb-registrator-deployment.yaml33
-rw-r--r--kubernetes/kube2msb/values.yaml6
-rw-r--r--kubernetes/log/.helmignore21
-rw-r--r--kubernetes/log/Chart.yaml18
-rw-r--r--kubernetes/log/charts/log-elasticsearch/Chart.yaml18
-rw-r--r--kubernetes/log/charts/log-elasticsearch/requirements.yaml18
-rw-r--r--kubernetes/log/charts/log-elasticsearch/resources/config/elasticsearch.yml (renamed from kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml)4
-rw-r--r--kubernetes/log/charts/log-elasticsearch/templates/NOTES.txt19
-rw-r--r--kubernetes/log/charts/log-elasticsearch/templates/configmap.yaml21
-rw-r--r--kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml117
-rw-r--r--kubernetes/log/charts/log-elasticsearch/templates/pv.yaml21
-rw-r--r--kubernetes/log/charts/log-elasticsearch/templates/pvc.yaml25
-rw-r--r--kubernetes/log/charts/log-elasticsearch/templates/service.yaml46
-rw-r--r--kubernetes/log/charts/log-elasticsearch/values.yaml114
-rw-r--r--kubernetes/log/charts/log-kibana/Chart.yaml18
-rw-r--r--kubernetes/log/charts/log-kibana/requirements.yaml18
-rw-r--r--kubernetes/log/charts/log-kibana/resources/config/kibana.yml (renamed from kubernetes/log/resources/kibana/conf/kibana.yml)7
-rw-r--r--kubernetes/log/charts/log-kibana/templates/NOTES.txt19
-rw-r--r--kubernetes/log/charts/log-kibana/templates/configmap.yaml21
-rw-r--r--kubernetes/log/charts/log-kibana/templates/deployment.yaml98
-rw-r--r--kubernetes/log/charts/log-kibana/templates/service.yaml40
-rw-r--r--kubernetes/log/charts/log-kibana/values.yaml94
-rw-r--r--kubernetes/log/charts/log-logstash/Chart.yaml18
-rw-r--r--kubernetes/log/charts/log-logstash/requirements.yaml18
-rw-r--r--kubernetes/log/charts/log-logstash/resources/config/logstash.yml (renamed from kubernetes/log/resources/logstash/conf/logstash.yml)4
-rw-r--r--kubernetes/log/charts/log-logstash/resources/config/onap-pipeline.conf (renamed from kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf)8
-rw-r--r--kubernetes/log/charts/log-logstash/templates/NOTES.txt19
-rw-r--r--kubernetes/log/charts/log-logstash/templates/configmap.yaml21
-rw-r--r--kubernetes/log/charts/log-logstash/templates/deployment.yaml105
-rw-r--r--kubernetes/log/charts/log-logstash/templates/service.yaml46
-rw-r--r--kubernetes/log/charts/log-logstash/values.yaml91
-rw-r--r--kubernetes/log/requirements.yaml4
-rw-r--r--kubernetes/log/templates/all-services.yaml84
-rw-r--r--kubernetes/log/templates/elasticsearch-deployment.yaml87
-rw-r--r--kubernetes/log/templates/kibana-deployment.yaml63
-rw-r--r--kubernetes/log/templates/log-pv-pvc.yaml32
-rw-r--r--kubernetes/log/templates/logstash-deployment.yaml76
-rw-r--r--kubernetes/log/values.yaml34
-rw-r--r--kubernetes/message-router/Chart.yaml14
-rwxr-xr-xkubernetes/message-router/resources/config/dmaap/MsgRtrApi.properties141
-rwxr-xr-xkubernetes/message-router/resources/config/dmaap/cadi.properties21
-rwxr-xr-xkubernetes/message-router/resources/config/dmaap/mykey27
-rw-r--r--kubernetes/message-router/templates/all-services.yaml14
-rw-r--r--kubernetes/message-router/templates/dmaap-configmap.yaml23
-rw-r--r--kubernetes/message-router/templates/message-router-dmaap.yaml30
-rw-r--r--kubernetes/message-router/templates/message-router-kafka.yaml26
-rw-r--r--kubernetes/message-router/templates/message-router-pv-pvc.yaml16
-rw-r--r--kubernetes/message-router/templates/message-router-zookeeper.yaml27
-rw-r--r--kubernetes/message-router/values.yaml16
-rw-r--r--kubernetes/mock/Chart.yaml14
-rw-r--r--kubernetes/mock/templates/all-services.yaml14
-rw-r--r--kubernetes/mock/templates/sniroemulator-deployment.yaml14
-rw-r--r--kubernetes/mock/values.yaml14
-rw-r--r--kubernetes/msb/.helmignore21
-rw-r--r--kubernetes/msb/Chart.yaml18
-rw-r--r--kubernetes/msb/charts/kube2msb/.helmignore21
-rw-r--r--kubernetes/msb/charts/kube2msb/Chart.yaml4
-rw-r--r--kubernetes/msb/charts/kube2msb/requirements.yaml4
-rw-r--r--kubernetes/msb/charts/kube2msb/templates/deployment.yaml67
-rw-r--r--kubernetes/msb/charts/kube2msb/values.yaml58
-rw-r--r--kubernetes/msb/charts/msb-consul/.helmignore21
-rw-r--r--kubernetes/msb/charts/msb-consul/Chart.yaml4
-rw-r--r--kubernetes/msb/charts/msb-consul/requirements.yaml4
-rw-r--r--kubernetes/msb/charts/msb-consul/templates/NOTES.txt19
-rw-r--r--kubernetes/msb/charts/msb-consul/templates/deployment.yaml59
-rw-r--r--kubernetes/msb/charts/msb-consul/templates/service.yaml26
-rw-r--r--kubernetes/msb/charts/msb-consul/values.yaml65
-rw-r--r--kubernetes/msb/charts/msb-discovery/.helmignore21
-rw-r--r--kubernetes/msb/charts/msb-discovery/Chart.yaml4
-rw-r--r--kubernetes/msb/charts/msb-discovery/requirements.yaml4
-rw-r--r--kubernetes/msb/charts/msb-discovery/templates/NOTES.txt19
-rw-r--r--kubernetes/msb/charts/msb-discovery/templates/deployment.yaml76
-rw-r--r--kubernetes/msb/charts/msb-discovery/templates/service.yaml26
-rw-r--r--kubernetes/msb/charts/msb-discovery/values.yaml67
-rw-r--r--kubernetes/msb/charts/msb-eag/.helmignore21
-rw-r--r--kubernetes/msb/charts/msb-eag/Chart.yaml4
-rw-r--r--kubernetes/msb/charts/msb-eag/requirements.yaml4
-rw-r--r--kubernetes/msb/charts/msb-eag/templates/NOTES.txt19
-rw-r--r--kubernetes/msb/charts/msb-eag/templates/deployment.yaml83
-rw-r--r--kubernetes/msb/charts/msb-eag/templates/service.yaml32
-rw-r--r--kubernetes/msb/charts/msb-eag/values.yaml71
-rw-r--r--kubernetes/msb/charts/msb-iag/.helmignore21
-rw-r--r--kubernetes/msb/charts/msb-iag/Chart.yaml4
-rw-r--r--kubernetes/msb/charts/msb-iag/requirements.yaml4
-rw-r--r--kubernetes/msb/charts/msb-iag/templates/NOTES.txt19
-rw-r--r--kubernetes/msb/charts/msb-iag/templates/deployment.yaml83
-rw-r--r--kubernetes/msb/charts/msb-iag/templates/service.yaml32
-rw-r--r--kubernetes/msb/charts/msb-iag/values.yaml71
-rw-r--r--kubernetes/msb/requirements.yaml4
-rw-r--r--kubernetes/msb/templates/all-services.yaml76
-rw-r--r--kubernetes/msb/templates/msb-consul-deployment.yaml32
-rw-r--r--kubernetes/msb/templates/msb-discovery-deployment.yaml52
-rw-r--r--kubernetes/msb/templates/msb-eag-deployment.yaml56
-rw-r--r--kubernetes/msb/templates/msb-iag-deployment.yaml56
-rw-r--r--kubernetes/msb/values.yaml45
-rw-r--r--kubernetes/mso/Chart.yaml14
-rw-r--r--kubernetes/mso/resources/config/log/filebeat/filebeat.yml2
-rw-r--r--kubernetes/mso/templates/all-services.yaml14
-rw-r--r--kubernetes/mso/templates/db-deployment-configmap.yaml14
-rw-r--r--kubernetes/mso/templates/db-deployment.yaml14
-rw-r--r--kubernetes/mso/templates/mso-deployment-configmap.yaml14
-rw-r--r--kubernetes/mso/templates/mso-deployment.yaml14
-rw-r--r--kubernetes/mso/templates/mso-log-configmap.yaml14
-rw-r--r--kubernetes/mso/templates/mso-pv-pvc.yaml16
-rw-r--r--kubernetes/mso/values.yaml18
-rw-r--r--kubernetes/multicloud/Chart.yaml14
-rw-r--r--kubernetes/multicloud/resources/config/log/filebeat/filebeat.yml41
-rw-r--r--kubernetes/multicloud/resources/config/log/framework/log.yml24
-rw-r--r--kubernetes/multicloud/resources/config/log/ocata/log.yml34
-rw-r--r--kubernetes/multicloud/resources/config/log/vio/log.yml24
-rw-r--r--kubernetes/multicloud/resources/config/log/windriver/log.yml34
-rw-r--r--kubernetes/multicloud/templates/all-services.yaml14
-rw-r--r--kubernetes/multicloud/templates/framework-deployment.yaml48
-rw-r--r--kubernetes/multicloud/templates/multicloud-log-configmap.yaml55
-rw-r--r--kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml44
-rw-r--r--kubernetes/multicloud/templates/multicloud-vio-deployment.yaml44
-rw-r--r--kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml44
-rw-r--r--kubernetes/multicloud/values.yaml28
-rw-r--r--kubernetes/onap/Chart.yaml14
-rw-r--r--kubernetes/onap/requirements.yaml39
-rw-r--r--kubernetes/onap/resources/environments/dev.yaml (renamed from kubernetes/onap/resources/environments/onap-demo.yaml)69
-rw-r--r--kubernetes/onap/templates/clusterrolebinding.yaml32
-rw-r--r--kubernetes/onap/templates/secrets.yaml27
-rw-r--r--kubernetes/onap/values.yaml63
-rwxr-xr-xkubernetes/oneclick/createAll.bash195
-rwxr-xr-xkubernetes/oneclick/deleteAll.bash150
-rw-r--r--kubernetes/oneclick/setenv.bash15
-rw-r--r--kubernetes/oneclick/tools/autoCleanConfig.bash54
-rw-r--r--kubernetes/oneclick/tools/autoCreateConfig.bash65
-rw-r--r--kubernetes/oneclick/tools/collectInfo.bash171
-rw-r--r--kubernetes/policy/Chart.yaml14
-rw-r--r--kubernetes/policy/resources/config/log/filebeat/filebeat.yml2
-rw-r--r--kubernetes/policy/templates/all-services.yaml14
-rw-r--r--kubernetes/policy/templates/dep-brmsgw.yaml14
-rw-r--r--kubernetes/policy/templates/dep-drools.yaml14
-rw-r--r--kubernetes/policy/templates/dep-maria.yaml14
-rw-r--r--kubernetes/policy/templates/dep-nexus.yaml14
-rw-r--r--kubernetes/policy/templates/dep-pap.yaml14
-rw-r--r--kubernetes/policy/templates/dep-pdp.yaml14
-rw-r--r--kubernetes/policy/templates/policy-deployment-configmap.yaml14
-rw-r--r--kubernetes/policy/templates/policy-deployment-secret.yaml14
-rw-r--r--kubernetes/policy/templates/policy-log-configmap.yaml14
-rw-r--r--kubernetes/policy/values.yaml18
-rw-r--r--kubernetes/portal/Chart.yaml14
-rw-r--r--kubernetes/portal/resources/config/log/filebeat/filebeat.yml2
-rw-r--r--kubernetes/portal/templates/all-services.yaml14
-rw-r--r--kubernetes/portal/templates/portal-apps-configmap.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/portal/templates/portal-apps-deployment.yaml14
-rw-r--r--kubernetes/portal/templates/portal-logs-configmap.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/portal/templates/portal-mariadb-deployment.yaml14
-rw-r--r--kubernetes/portal/templates/portal-pv-pvc.yaml16
-rw-r--r--kubernetes/portal/templates/portal-vnc-dep.yaml17
-rw-r--r--kubernetes/portal/templates/portal-widgets-deployment.yaml14
-rw-r--r--kubernetes/portal/values.yaml17
-rw-r--r--kubernetes/readiness/dep-health-init.yaml14
-rw-r--r--kubernetes/readiness/docker/init/Dockerfile4
-rw-r--r--kubernetes/readiness/docker/init/job_complete.py97
-rw-r--r--kubernetes/robot/.helmignore22
-rw-r--r--kubernetes/robot/Chart.yaml18
-rw-r--r--kubernetes/robot/all-services.yaml13
-rw-r--r--kubernetes/robot/requirements.yaml21
-rwxr-xr-x[-rw-r--r--]kubernetes/robot/resources/config/authorization (renamed from kubernetes/config/docker/init/src/config/robot/authorization)0
-rwxr-xr-xkubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py (renamed from kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_preload_parameters.py)109
-rwxr-xr-xkubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py (renamed from kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py)4
-rwxr-xr-xkubernetes/robot/resources/config/eteshare/config/vm_config2robot.sh (renamed from kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_config2robot.sh)0
-rwxr-xr-xkubernetes/robot/resources/config/eteshare/config/vm_properties.py79
-rw-r--r--kubernetes/robot/resources/config/robot/resources/asdc_interface.robot (renamed from kubernetes/config/docker/init/src/config/robot/robot/resources/asdc_interface.robot)5
-rw-r--r--kubernetes/robot/resources/config/robot/resources/policy_interface.robot (renamed from kubernetes/config/docker/init/src/config/robot/robot/resources/policy_interface.robot)9
-rw-r--r--kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot (renamed from kubernetes/config/docker/init/src/config/robot/robot/resources/sdngc_interface.robot)10
-rw-r--r--kubernetes/robot/templates/NOTES.txt19
-rw-r--r--kubernetes/robot/templates/all-services.yaml16
-rw-r--r--kubernetes/robot/templates/configmap.yaml37
-rw-r--r--kubernetes/robot/templates/deployment.yaml96
-rw-r--r--kubernetes/robot/templates/robot-deployment.yaml64
-rw-r--r--kubernetes/robot/templates/service.yaml39
-rw-r--r--kubernetes/robot/values.yaml100
-rw-r--r--kubernetes/sdc/Chart.yaml14
-rw-r--r--kubernetes/sdc/resources/config/log/filebeat/filebeat.yml2
-rw-r--r--kubernetes/sdc/templates/all-services.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-be.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-cs.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-environments-configmap.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-es.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-fe-configmap.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-fe.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-kb.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-log-configmap.yaml14
-rw-r--r--kubernetes/sdc/templates/sdc-pv-pvc.yaml16
-rw-r--r--kubernetes/sdc/values.yaml17
-rw-r--r--kubernetes/sdnc/Chart.yaml14
-rw-r--r--kubernetes/sdnc/resources/config/log/filebeat/log4j/filebeat.yml2
-rw-r--r--kubernetes/sdnc/templates/all-services.yaml14
-rw-r--r--kubernetes/sdnc/templates/db-statefulset.yaml23
-rw-r--r--kubernetes/sdnc/templates/dgbuilder-deployment.yaml14
-rw-r--r--kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml14
-rw-r--r--kubernetes/sdnc/templates/dmaap-deployment.yaml14
-rw-r--r--kubernetes/sdnc/templates/mysql-configmap.yaml14
-rw-r--r--kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml14
-rw-r--r--kubernetes/sdnc/templates/sdnc-conf-configmap.yaml14
-rw-r--r--kubernetes/sdnc/templates/sdnc-data-storageclass.yaml14
-rw-r--r--kubernetes/sdnc/templates/sdnc-log-configmap.yaml14
-rw-r--r--kubernetes/sdnc/templates/sdnc-statefulset.yaml14
-rw-r--r--kubernetes/sdnc/templates/ueb-deployment-configmap.yaml14
-rw-r--r--kubernetes/sdnc/templates/ueb-deployment.yaml14
-rw-r--r--kubernetes/sdnc/templates/web-deployment.yaml14
-rw-r--r--kubernetes/sdnc/values.yaml18
-rw-r--r--kubernetes/so/Chart.yaml14
-rw-r--r--kubernetes/so/charts/mariadb/Chart.yaml16
-rw-r--r--kubernetes/so/charts/mariadb/templates/NOTES.txt8
-rw-r--r--kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml19
-rw-r--r--kubernetes/so/charts/mariadb/templates/configmap.yaml14
-rw-r--r--kubernetes/so/charts/mariadb/templates/deployment.yaml22
-rw-r--r--kubernetes/so/charts/mariadb/templates/pv.yaml21
-rw-r--r--kubernetes/so/charts/mariadb/templates/pvc.yaml21
-rw-r--r--kubernetes/so/charts/mariadb/templates/secrets.yaml30
-rw-r--r--kubernetes/so/charts/mariadb/templates/service.yaml16
-rw-r--r--kubernetes/so/charts/mariadb/values.yaml14
-rw-r--r--kubernetes/so/requirements.yaml18
-rw-r--r--kubernetes/so/resources/config/log/filebeat/filebeat.yml2
-rwxr-xr-xkubernetes/so/resources/config/mso/mso-docker.json73
-rw-r--r--kubernetes/so/templates/NOTES.txt8
-rw-r--r--kubernetes/so/templates/clusterrolebinding.yaml19
-rw-r--r--kubernetes/so/templates/configmap.yaml14
-rw-r--r--kubernetes/so/templates/deployment.yaml23
-rw-r--r--kubernetes/so/templates/log-configmap.yaml14
-rw-r--r--kubernetes/so/templates/namespace.yaml4
-rw-r--r--kubernetes/so/templates/service.yaml19
-rw-r--r--kubernetes/so/values.yaml21
-rw-r--r--kubernetes/uui/Chart.yaml14
-rw-r--r--kubernetes/uui/templates/all-services.yaml14
-rw-r--r--kubernetes/uui/templates/uui-deployment.yaml14
-rw-r--r--kubernetes/uui/templates/uui-server-deployment.yaml14
-rw-r--r--kubernetes/uui/values.yaml14
-rw-r--r--kubernetes/vfc/Chart.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/all-services.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-catalog-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-nslcm-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-resmgr-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-vnfres-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-workflow-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml14
-rw-r--r--[-rwxr-xr-x]kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml14
-rw-r--r--kubernetes/vfc/values.yaml14
-rw-r--r--kubernetes/vid/.helmignore21
-rw-r--r--kubernetes/vid/Chart.yaml18
-rw-r--r--kubernetes/vid/charts/mariadb/.helmignore21
-rw-r--r--kubernetes/vid/charts/mariadb/Chart.yaml18
-rw-r--r--[-rwxr-xr-x]kubernetes/vid/charts/mariadb/resources/config/lf_config/vid-my.cnf (renamed from kubernetes/vid/resources/config/lf_config/vid-my.cnf)0
-rw-r--r--[-rwxr-xr-x]kubernetes/vid/charts/mariadb/resources/config/lf_config/vid-pre-init.sql (renamed from kubernetes/vid/resources/config/lf_config/vid-pre-init.sql)0
-rw-r--r--kubernetes/vid/charts/mariadb/templates/NOTES.txt11
-rw-r--r--kubernetes/vid/charts/mariadb/templates/configmap.yaml21
-rw-r--r--kubernetes/vid/charts/mariadb/templates/deployment.yaml109
-rw-r--r--kubernetes/vid/charts/mariadb/templates/pv.yaml37
-rw-r--r--kubernetes/vid/charts/mariadb/templates/pvc.yaml48
-rw-r--r--kubernetes/vid/charts/mariadb/templates/secrets.yaml28
-rw-r--r--kubernetes/vid/charts/mariadb/templates/service.yaml31
-rw-r--r--kubernetes/vid/charts/mariadb/values.yaml102
-rw-r--r--kubernetes/vid/requirements.yaml21
-rw-r--r--kubernetes/vid/resources/config/log/filebeat/filebeat.yml2
-rw-r--r--kubernetes/vid/templates/NOTES.txt19
-rw-r--r--kubernetes/vid/templates/all-services.yaml32
-rw-r--r--kubernetes/vid/templates/configmap.yaml29
-rw-r--r--kubernetes/vid/templates/deployment.yaml162
-rw-r--r--kubernetes/vid/templates/secrets.yaml27
-rw-r--r--kubernetes/vid/templates/service.yaml39
-rw-r--r--kubernetes/vid/templates/vid-lfconfig-configmap.yaml9
-rw-r--r--kubernetes/vid/templates/vid-log-configmap.yaml17
-rw-r--r--kubernetes/vid/templates/vid-mariadb-deployment.yaml70
-rw-r--r--kubernetes/vid/templates/vid-pv-pvc.yaml32
-rw-r--r--kubernetes/vid/templates/vid-server-deployment.yaml127
-rw-r--r--kubernetes/vid/values.yaml116
-rw-r--r--kubernetes/vnfsdk/Chart.yaml14
-rw-r--r--kubernetes/vnfsdk/templates/all-services.yaml14
-rw-r--r--kubernetes/vnfsdk/templates/postgres-deployment.yaml14
-rw-r--r--kubernetes/vnfsdk/templates/refrepo-deployment.yaml14
-rw-r--r--kubernetes/vnfsdk/values.yaml14
631 files changed, 13377 insertions, 6414 deletions
diff --git a/kubernetes/Makefile b/kubernetes/Makefile
index 5e8350492c..4962c825d8 100644
--- a/kubernetes/Makefile
+++ b/kubernetes/Makefile
@@ -1,18 +1,35 @@
+# 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.
+
PARENT_CHART := onap
COMMON_CHARTS_DIR := common
-
# FIXME OOM-765
ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
OUTPUT_DIR := $(ROOT_DIR)/dist
PACKAGE_DIR := $(OUTPUT_DIR)/packages
SECRET_DIR := $(OUTPUT_DIR)/secrets
-EXCLUDES := $(COMMON_CHARTS_DIR) config oneclick readiness test dist $(PARENT_CHART) dcae
-HELM_CHARTS := $(COMMON_CHARTS_DIR) $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) $(PARENT_CHART)
+EXCLUDES := config oneclick readiness test dist helm $(PARENT_CHART) dcae
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.))) $(PARENT_CHART)
.PHONY: $(EXCLUDES) $(HELM_CHARTS)
-all: $(HELM_CHARTS)
+all: $(COMMON_CHARTS_DIR) $(HELM_CHARTS)
+
+$(COMMON_CHARTS):
+ @echo "\n[$@]"
+ @make package-$@
$(HELM_CHARTS):
@echo "\n[$@]"
@@ -30,10 +47,23 @@ lint-%: dep-%
package-%: lint-%
@mkdir -p $(PACKAGE_DIR)
@if [ -f $*/Chart.yaml ]; then helm package -d $(PACKAGE_DIR) $*; fi
+ @helm repo index $(PACKAGE_DIR)
clean:
@rm -f */requirements.lock
@rm -f *tgz */charts/*tgz
- @rm -rf $(PACKAGE_DIR)
+ @rm -rf $(PACKAGE_DIR)/*
+
+# start up a local helm repo to serve up helm chart packages
+repo:
+ @mkdir -p $(PACKAGE_DIR)
+ @helm serve --repo-path $(PACKAGE_DIR) &
+ @helm repo index $(PACKAGE_DIR)
+ @helm repo add local http://127.0.0.1:8879
+
+# stop local helm repo
+repo-stop:
+ @pkill helm
+ @helm repo remove local
%:
- @: \ No newline at end of file
+ @:
diff --git a/kubernetes/README.md b/kubernetes/README.md
index dc49e5445b..9c315cbafe 100644
--- a/kubernetes/README.md
+++ b/kubernetes/README.md
@@ -1,78 +1,87 @@
-## **Quick Start Guide - ONAP on Kubernetes**
+## **Quick Start Guide**
-This is a quick start guide to help you get started on ONAP installation. Creating an ONAP deployment instance requires creating base configuration on the host node and then deploying the runtime containers.
+This is a quick start guide describing how to deploy ONAP on Kubernetes using Helm.
Pre-requisites:
- Your Kubernetes environment must be available. For more information see, [ONAP on Kubernetes](https://wiki.onap.org/display/DW/ONAP+on+Kubernetes).
- Deployment artifacts are customized for your location.
-Step 1
-Review and optionally change configuration parameters:
-
-Setup the [/oom/kubernetes/config/onap-parameters.yaml](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/onap-parameters.yaml;h=7ddaf4d4c3dccf2fad515265f0da9c31ec0e64b1;hb=refs/heads/master) file with key-value pairs specific to your OpenStack environment.
-
-OR
-
-There is a [sample](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/onap-parameters-sample.yaml;h=3a74beddbbf7f9f9ec8e5a6abaecb7cb238bd519;hb=refs/heads/master) that may help you out or even be usable directly if you don't intend to actually use OpenStack resources.
-
-
-Step 2
-
-In-order to be able to support multiple ONAP instances within a single kubernetes environment, a configuration set is required. To do this, execute the [createConfig.sh](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/createConfig.sh;h=f226ccae47ca6de15c1da49be4b8b6de974895ed;hb=refs/heads/master) script:
-
-> oom/kubernetes/config/createConfig.sh -n onap
-
-Where:
-'onap' refers to the name of the instance. This serves as the Namespace prefix for each deployed ONAP component (for example, onap-mso).
-
-Step 3
-
-The bash script [createAll.bash](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/oneclick/createAll.bash;h=5e5f2dc76ea7739452e757282e750638b4e3e1de;hb=refs/heads/master) is used to create an ONAP deployment with kubernetes. It has two primary functions:
-
-- Creating the namespaces used to encapsulate the ONAP components, and
-- Creating the services, pods and containers within each of these namespaces that provide the core functionality of ONAP.
-
-Before you execute the createAll.bash. script, pod config-init ([pod-config-init.yaml](https://gerrit.onap.org/r/gitweb?p=oom.git;a=blob;f=kubernetes/config/pod-config-init.yaml;h=b1285ce21d61815c082f6d6aa3c43d00561811c7;hb=refs/heads/master)) may need editing to match your environment and deployment into the default namespace.
-
-To deploy the containers and create your ONAP system, execute the following command:
-
-> oom/kubernetes/oneclick/createAll.bash -n onap
-
-#### **Additional information on usage of createAll.bash**
-
-Namespaces provide isolation between ONAP components as ONAP release 1.0 contains duplicate application (for example, mariadb) and port usage.
-
-As such createAll.bash requires the user to enter a namespace prefix string that can be used to separate multiple deployments of onap. The result will be set of 10 namespaces (for example, onap-sdc, onap-aai, onap-mso, onap-message-router, onap-robot, onap-vid, onap-sdnc, onap-portal, onap-policy, onap-appc) being created within the kubernetes environment.
-
-
-#### **Deploying multiple ONAP instances within the same Kubernetes cluster**
-
-To deploy multiple ONAP instances, you must specify the number of Instances you would like to create in a Kubernetes cluster using createAllbash.
-
-This is currently required due to the use of NodePort ranges. NodePorts allow external IP:Port access to containers that are running inside a Kubernetes cluster.
-
-To create multiple instances of an ONAP deployment in the cluster, use the following commands:
-
-> oom/kubernetes/config/createConfig.sh -n onap
-
-> oom/kubernetes/oneclick/createAll.bash -n onap -i 2
-
-Where:
-
-- 'onap' refers to the name of the instance.
-
-- ‘i 2’ refers to the number of instances of an ONAP deployment in the cluster.
-
-#### **To delete a deployed instance**
+### **Deploy ONAP Instance**
+
+Step 1. Clone the OOM repository from ONAP gerrit:
+
+```
+> git clone http://gerrit.onap.org/r/oom
+> cd oom/kubernetes
+```
+
+Step 2. Customize the oom/kubernetes/onap parent chart, like the values.yaml file, to suit your deployment. You may want to selectively enable or disable ONAP components by changing the subchart **enabled** flags to *true* or *false*.
+```
+Example:
+...
+robot: # Robot Health Check
+ enabled: true
+sdc:
+ enabled: false
+sdnc:
+ enabled: false
+so: # Service Orchestrator
+ enabled: true
+...
+```
+
+Step 3. To setup a local Helm repository to serve up the local ONAP charts:
+```
+> helm serve &
+```
+Note the port number that is listed and use it in the Helm repo add as follows:
+```
+> helm repo add local http://127.0.0.1:8879
+```
+
+Step 4. Build a local Helm repository (from the kubernetes directory):
+```
+> make all
+```
+
+Step 5. Display the charts that are available to be deployed:
+```
+> helm search -l
+NAME VERSION DESCRIPTION
+local/appc 2.0.0 Application Controller
+local/clamp 2.0.0 ONAP Clamp
+local/onap 2.0.0 Open Network Automation Platform (ONAP)
+local/robot 2.0.0 A helm Chart for kubernetes-ONAP Robot
+local/so 2.0.0 ONAP Service Orchestrator
+...
+```
+
+**Note:**
+Setup of this Helm repository is a one time activity. If you make changes to your deployment charts or values be sure to use **make** to update your local Helm repository.
+
+Step 6. Once the repo is setup, installation of ONAP can be done with a single command:
+```
+> helm install local/onap -name dev --namespace onap
+```
+**Note:** the **--namespace onap** is currently required while all onap helm charts are migrated to version 2.0. After this activity is complete, namespaces will be optional.
+
+Use the following to monitor your deployment and determine when ONAP is ready for use:
+```
+> kubectl get pods --all-namespaces -o=wide
+```
+
+
+#### **Cleanup deployed ONAP instance**
To delete a deployed instance, use the following command:
+```
+> helm del dev --purge
+```
-> oom/kubernetes/oneclick/deleteAll.bash -n onap
-**Note:** Deleting the runtime containers does not remove the configuration created in step 2.
For more information on OOM project documentation, refer to:
diff --git a/kubernetes/README_HELM b/kubernetes/README_HELM
deleted file mode 100644
index 0f65120397..0000000000
--- a/kubernetes/README_HELM
+++ /dev/null
@@ -1,20 +0,0 @@
-Prerequisites:
-- K8s
-- Helm
-
-In order to use Helm with Rancher, check the tiller version installed
-by running "helm version" on the rancher CLI
-and install the appropriate Helm.
-Notice both tiller and helm are installed,
-but you will need to install on your VM.
-
-charts were tested with the following setup:
- Rancher Release v1.6.7
- k8s version 1.7.2
- Helm/Tiller version v2.3.0
-also tested on:
- k8s version v1.5.2
- Helm/Tiller v2.6.0
-
-Download Helm:
-https://github.com/kubernetes/helm
diff --git a/kubernetes/aaf/Chart.yaml b/kubernetes/aaf/Chart.yaml
index 60e4370eaa..24cb7fddf3 100644
--- a/kubernetes/aaf/Chart.yaml
+++ b/kubernetes/aaf/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: aaf
diff --git a/kubernetes/aaf/templates/aaf-configmap.yaml b/kubernetes/aaf/templates/aaf-configmap.yaml
index b6e494df46..f89ccec946 100644
--- a/kubernetes/aaf/templates/aaf-configmap.yaml
+++ b/kubernetes/aaf/templates/aaf-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableAafAaf }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/aaf/templates/aaf-cs-deployment.yaml b/kubernetes/aaf/templates/aaf-cs-deployment.yaml
index 817f876f6f..7f8cdb6f26 100644
--- a/kubernetes/aaf/templates/aaf-cs-deployment.yaml
+++ b/kubernetes/aaf/templates/aaf-cs-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableAafAafCs }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/aaf/templates/aaf-deployment.yaml b/kubernetes/aaf/templates/aaf-deployment.yaml
index c084cd36b6..0341344383 100644
--- a/kubernetes/aaf/templates/aaf-deployment.yaml
+++ b/kubernetes/aaf/templates/aaf-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableAafAaf }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/aaf/templates/aaf-secret.yaml b/kubernetes/aaf/templates/aaf-secret.yaml
index 4b6984ab38..842d0c431e 100644
--- a/kubernetes/aaf/templates/aaf-secret.yaml
+++ b/kubernetes/aaf/templates/aaf-secret.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableAafAafCs }}
apiVersion: v1
kind: Secret
diff --git a/kubernetes/aaf/templates/all-services.yaml b/kubernetes/aaf/templates/all-services.yaml
index 0a06d1dd3c..5ccbd252c8 100644
--- a/kubernetes/aaf/templates/all-services.yaml
+++ b/kubernetes/aaf/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableAafAafCs }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/aaf/values.yaml b/kubernetes/aaf/values.yaml
index eac5d00e19..088adfe6a6 100644
--- a/kubernetes/aaf/values.yaml
+++ b/kubernetes/aaf/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
diff --git a/kubernetes/common/common-templates/.helmignore b/kubernetes/aai/.helmignore
index f0c1319444..f0c1319444 100644
--- a/kubernetes/common/common-templates/.helmignore
+++ b/kubernetes/aai/.helmignore
diff --git a/kubernetes/aai/Chart.yaml b/kubernetes/aai/Chart.yaml
index 2046a1059c..5b36e11e0a 100644
--- a/kubernetes/aai/Chart.yaml
+++ b/kubernetes/aai/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: ONAP Active and Available Inventory
name: aai
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-data-router/.helmignore b/kubernetes/aai/charts/aai-data-router/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-data-router/Chart.yaml b/kubernetes/aai/charts/aai-data-router/Chart.yaml
new file mode 100644
index 0000000000..59d3c77d2e
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI Data-Router
+name: aai-data-router
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/auth/client-cert-onap.p12 b/kubernetes/aai/charts/aai-data-router/resources/config/auth/client-cert-onap.p12
index dbf4fcacec..dbf4fcacec 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/auth/client-cert-onap.p12
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/auth/client-cert-onap.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/auth/data-router_policy.json b/kubernetes/aai/charts/aai-data-router/resources/config/auth/data-router_policy.json
index 1b4a6b0868..1b4a6b0868 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/auth/data-router_policy.json
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/auth/data-router_policy.json
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/auth/tomcat_keystore b/kubernetes/aai/charts/aai-data-router/resources/config/auth/tomcat_keystore
index 9eec841aa2..9eec841aa2 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/auth/tomcat_keystore
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/auth/tomcat_keystore
Binary files differ
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/data-router.properties b/kubernetes/aai/charts/aai-data-router/resources/config/data-router.properties
index e69de29bb2..e69de29bb2 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/data-router.properties
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/data-router.properties
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v10.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml
index 7eddd10179..7eddd10179 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v10.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v10.xml
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v11.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml
index ecf163e097..ecf163e097 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v11.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v11.xml
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v8.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml
index 3ed2ea531f..3ed2ea531f 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v8.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v8.xml
diff --git a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v9.xml b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml
index 87a3d656e5..87a3d656e5 100644
--- a/kubernetes/aai/resources/config/data-router/appconfig/model/aai_oxm_v9.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/config/model/aai_oxm_v9.xml
diff --git a/kubernetes/aai/resources/config/data-router/dynamic/conf/entity-event-policy.xml b/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml
index e995053f12..e995053f12 100644
--- a/kubernetes/aai/resources/config/data-router/dynamic/conf/entity-event-policy.xml
+++ b/kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml
diff --git a/kubernetes/aai/resources/config/data-router/dynamic/routes/entity-event.route b/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route
index 293688ecd4..7b4e902313 100644
--- a/kubernetes/aai/resources/config/data-router/dynamic/routes/entity-event.route
+++ b/kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route
@@ -1,4 +1,4 @@
<route xmlns="http://camel.apache.org/schema/spring" trace="true">
- <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;groupName=datarouter&amp;groupId=datarouter&amp;url=http://dmaap.{{.Values.nsPrefix}}:3904"/>
+ <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;groupName=datarouter&amp;groupId=datarouter&amp;url=http://dmaap.{{.Release.Namespace}}:3904"/>
<to uri="bean:entityEventPolicy?method=process"/>
</route>
diff --git a/kubernetes/aai/charts/aai-data-router/templates/configmap.yaml b/kubernetes/aai/charts/aai-data-router/templates/configmap.yaml
new file mode 100644
index 0000000000..a8793acd9f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/templates/configmap.yaml
@@ -0,0 +1,48 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-prop
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/data-router.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v8
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v8.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v9
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v9.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v10
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v10.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model-v11
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/aai_oxm_v11.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-dynamic
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/dynamic/routes/entity-event.route").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/dynamic/conf/entity-event-policy.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-data-router/templates/deployment.yaml b/kubernetes/aai/charts/aai-data-router/templates/deployment.yaml
new file mode 100644
index 0000000000..79bcff33eb
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/templates/deployment.yaml
@@ -0,0 +1,154 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ initContainers:
+ - command:
+ - /bin/sh
+ - -c
+ - |
+ mkdir -p /logroot/data-router/logs
+ chmod -R 777 /logroot/data-router/logs
+ chown -R root:root /logroot
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ securityContext:
+ privileged: true
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: init-sysctl
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: /logroot/
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: SERVICE_BEANS
+ value: /opt/app/data-router/dynamic/conf
+ - name: CONFIG_HOME
+ value: /opt/app/data-router/config/
+ - name: KEY_STORE_PASSWORD
+ value: {{ .Values.config.keyStorePassword }}
+ - name: DYNAMIC_ROUTES
+ value: /opt/app/data-router/dynamic/routes
+ - name: KEY_MANAGER_PASSWORD
+ value: {{ .Values.config.keyManagerPassword }}
+ - name: PATH
+ value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
+ - name: JAVA_HOME
+ value: usr/lib/jvm/java-8-openjdk-amd64
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v8.xml
+ subPath: aai_oxm_v8.xml
+ name: {{ include "common.fullname" . }}-model-v8
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v9.xml
+ subPath: aai_oxm_v9.xml
+ name: {{ include "common.fullname" . }}-model-v9
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v10.xml
+ subPath: aai_oxm_v10.xml
+ name: {{ include "common.fullname" . }}-model-v10
+ - mountPath: /opt/app/data-router/config/model/aai_oxm_v11.xml
+ subPath: aai_oxm_v11.xml
+ name: {{ include "common.fullname" . }}-model-v11
+ - mountPath: /opt/app/data-router/config/auth
+ name: {{ include "common.fullname" . }}-auth
+ - mountPath: /opt/app/data-router/config/data-router.properties
+ name: {{ include "common.fullname" . }}-properties
+ subPath: data-router.properties
+ - mountPath: /opt/app/data-router/dynamic/routes/entity-event.route
+ subPath: entity-event.route
+ name: {{ include "common.fullname" . }}-dynamic-route
+ - mountPath: /opt/app/data-router/dynamic/conf/entity-event-policy.xml
+ subPath: entity-event-policy.xml
+ name: {{ include "common.fullname" . }}-dynamic-policy
+ - mountPath: /logs/
+ name: {{ include "common.fullname" . }}-logs
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-model-v8
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v8
+ - name: {{ include "common.fullname" . }}-model-v9
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v9
+ - name: {{ include "common.fullname" . }}-model-v10
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v10
+ - name: {{ include "common.fullname" . }}-model-v11
+ configMap:
+ name: {{ include "common.fullname" . }}-model-v11
+ - name: {{ include "common.fullname" . }}-auth
+ secret:
+ secretName: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-properties
+ configMap:
+ name: {{ include "common.fullname" . }}-prop
+ - name: {{ include "common.fullname" . }}-dynamic-route
+ configMap:
+ name: {{ include "common.fullname" . }}-dynamic
+ - name: {{ include "common.fullname" . }}-dynamic-policy
+ configMap:
+ name: {{ include "common.fullname" . }}-dynamic
+ - name: {{ include "common.fullname" . }}-logs
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-data-router/templates/secret.yaml b/kubernetes/aai/charts/aai-data-router/templates/secret.yaml
new file mode 100644
index 0000000000..69bd3f86de
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/templates/secret.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-data-router/values.yaml b/kubernetes/aai/charts/aai-data-router/values.yaml
new file mode 100644
index 0000000000..3957df156d
--- /dev/null
+++ b/kubernetes/aai/charts/aai-data-router/values.yaml
@@ -0,0 +1,86 @@
+# Default values for data-router.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/data-router:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+ keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ name: aai-data-router
+ internalPort: 9502
+
+ingress:
+ enabled: false
+
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ ## storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: aai/data-router/logs
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-elasticsearch/.helmignore b/kubernetes/aai/charts/aai-elasticsearch/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-elasticsearch/Chart.yaml b/kubernetes/aai/charts/aai-elasticsearch/Chart.yaml
new file mode 100644
index 0000000000..348e4fa8cd
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI elasticsearch
+name: aai-elasticsearch
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/elasticsearch/config/elasticsearch.yml b/kubernetes/aai/charts/aai-elasticsearch/resources/config/elasticsearch.yml
index 21e29df84b..822ae32f10 100644
--- a/kubernetes/aai/resources/config/elasticsearch/config/elasticsearch.yml
+++ b/kubernetes/aai/charts/aai-elasticsearch/resources/config/elasticsearch.yml
@@ -155,14 +155,14 @@ network.bind_host: 0.0.0.0
# Set a custom port for the node to node communication (9300 by default):
-transport.tcp.port: 8443
+transport.tcp.port: {{ .Values.config.tcpPort }}
# Enable compression for all communication between nodes (disabled by default):
transport.tcp.compress: false
# Set a custom port to listen for HTTP traffic:
# http.port: 9200
-http.port: 9200
+http.port: {{ .Values.service.internalPort }}
# Set a custom allowed content length:
# http.max_content_length: 100mb
diff --git a/kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml b/kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml
new file mode 100644
index 0000000000..991a06abcf
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml
@@ -0,0 +1,23 @@
+# 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.
+
+#{{ if not .Values.disableAaiElasticsearch }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/elasticsearch.yml").AsConfig . | indent 2 }}
+#{{ end }}
diff --git a/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml b/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml
new file mode 100644
index 0000000000..6792d4cd54
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml
@@ -0,0 +1,96 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ name: {{ include "common.name" . }}
+ spec:
+ initContainers:
+ - command:
+ - /bin/sh
+ - -c
+ - |
+ mkdir -p /logroot/elasticsearch/es-data
+ chmod -R 777 /logroot/elasticsearch/es-data
+ chown -R root:root /logroot
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ securityContext:
+ privileged: true
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: init-sysctl
+ volumeMounts:
+ - name: elasticsearch-data
+ mountPath: /logroot/
+ hostname: {{ include "common.name" . }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ - name: elasticsearch-config
+ subPath: elasticsearch.yml
+ mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
+ - name: elasticsearch-data
+ mountPath: /usr/share/elasticsearch/data
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: elasticsearch-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: elasticsearch-data
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml b/kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml
new file mode 100644
index 0000000000..84548eda86
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.fullname" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-elasticsearch/values.yaml b/kubernetes/aai/charts/aai-elasticsearch/values.yaml
new file mode 100644
index 0000000000..af7fd3d3ed
--- /dev/null
+++ b/kubernetes/aai/charts/aai-elasticsearch/values.yaml
@@ -0,0 +1,84 @@
+# Default values for elasticsearch.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+# application image
+dockerhubRepository: docker.io
+image: elasticsearch:2.4.1
+pullPolicy: Always
+
+# application configuration
+config:
+ tcpPort: 8443
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-elasticsearch
+ internalPort: 9200
+
+ingress:
+ enabled: false
+
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ ## storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: aai/elasticsearch/data
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-hbase/.helmignore b/kubernetes/aai/charts/aai-hbase/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-hbase/Chart.yaml b/kubernetes/aai/charts/aai-hbase/Chart.yaml
new file mode 100644
index 0000000000..eaf6bbdb74
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI hbase
+name: aai-hbase
+version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml b/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml
new file mode 100644
index 0000000000..4c92dfd4a8
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml
@@ -0,0 +1,72 @@
+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 }}
+ name: {{ include "common.name" . }}
+ spec:
+ hostname: aai-hbase
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ - containerPort: {{ .Values.service.internalPort3 }}
+ - containerPort: {{ .Values.service.internalPort4 }}
+ - containerPort: {{ .Values.service.internalPort5 }}
+ - containerPort: {{ .Values.service.internalPort6 }}
+ - containerPort: {{ .Values.service.internalPort7 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: hbase-data
+ mountPath: /tmp
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ volumes:
+ - name: hbase-data
+ hostPath:
+ path: {{ .Values.persistence.mountPath }}/{{ include "common.namespace" . }}/{{ .Values.persistence.mountSubPath }}
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-hbase/templates/service.yaml b/kubernetes/aai/charts/aai-hbase/templates/service.yaml
new file mode 100644
index 0000000000..c503e6ca6a
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/templates/service.yaml
@@ -0,0 +1,55 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ - port: {{ .Values.service.internalPor3t }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
+ name: {{ .Values.service.name }}3
+ - port: {{ .Values.service.internalPort4 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
+ name: {{ .Values.service.name }}4
+ - port: {{ .Values.service.internalPort5 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort5 }}
+ name: {{ .Values.service.name }}5
+ - port: {{ .Values.service.internalPort6 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort6 }}
+ name: {{ .Values.service.name }}6
+ - port: {{ .Values.service.internalPort7 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort7 }}
+ name: {{ .Values.service.name }}7
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ - port: {{ .Values.service.internalPort3 }}
+ name: {{ .Values.service.name }}3
+ - port: {{ .Values.service.internalPort4 }}
+ name: {{ .Values.service.name }}4
+ - port: {{ .Values.service.internalPort5 }}
+ name: {{ .Values.service.name }}5
+ - port: {{ .Values.service.internalPort6 }}
+ name: {{ .Values.service.name }}6
+ - port: {{ .Values.service.internalPort7 }}
+ name: {{ .Values.service.name }}7
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-hbase/values.yaml b/kubernetes/aai/charts/aai-hbase/values.yaml
new file mode 100644
index 0000000000..f1d0c33eff
--- /dev/null
+++ b/kubernetes/aai/charts/aai-hbase/values.yaml
@@ -0,0 +1,92 @@
+# Default values for hbase.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+dockerhubRepository: registry.hub.docker.com
+image: aaionap/hbase:1.2.0
+pullPolicy: Always
+
+# application configuration
+config: {}
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-hbase
+ internalPort: 2181
+ internalPort2: 8080
+ internalPort3: 8085
+ internalPort4: 9090
+ internalPort5: 16000
+ internalPort6: 16010
+ internalPort7: 16201
+
+
+ingress:
+ enabled: false
+
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ ## storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: aai/hbase
+
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-modelloader/.helmignore b/kubernetes/aai/charts/aai-modelloader/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-modelloader/Chart.yaml b/kubernetes/aai/charts/aai-modelloader/Chart.yaml
new file mode 100644
index 0000000000..33558f24b3
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI modelloader
+name: aai-modelloader
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/model-loader/appconfig/auth/aai-os-cert.p12 b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/aai-os-cert.p12
index ee57120fa0..ee57120fa0 100644
--- a/kubernetes/aai/resources/config/model-loader/appconfig/auth/aai-os-cert.p12
+++ b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/aai-os-cert.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/log/model-loader/logback.xml b/kubernetes/aai/charts/aai-modelloader/resources/config/log/logback.xml
index d512d3b91c..d512d3b91c 100644
--- a/kubernetes/aai/resources/config/log/model-loader/logback.xml
+++ b/kubernetes/aai/charts/aai-modelloader/resources/config/log/logback.xml
diff --git a/kubernetes/aai/resources/config/model-loader/appconfig/model-loader.properties b/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties
index 5d61fbaaae..5604c1f877 100644
--- a/kubernetes/aai/resources/config/model-loader/appconfig/model-loader.properties
+++ b/kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties
@@ -1,6 +1,6 @@
# Model Loader Distribution Client Configuration
ml.distribution.ACTIVE_SERVER_TLS_AUTH=false
-ml.distribution.ASDC_ADDRESS=sdc-be.{{.Values.nsPrefix}}:8443
+ml.distribution.ASDC_ADDRESS=sdc-be.{{.Release.Namespace}}:8443
ml.distribution.CONSUMER_GROUP=aai-ml-group
ml.distribution.CONSUMER_ID=aai-ml
ml.distribution.ENVIRONMENT_NAME=AUTO
@@ -13,7 +13,7 @@ ml.distribution.USER=aai
ml.distribution.ARTIFACT_TYPES=MODEL_INVENTORY_PROFILE,MODEL_QUERY_SPEC,VNF_CATALOG
# Model Loader AAI REST Client Configuration
-ml.aai.BASE_URL=https://aai-service.{{.Values.nsPrefix}}:8443
+ml.aai.BASE_URL=https://aai.{{.Release.Namespace}}:8443
ml.aai.MODEL_URL=/aai/v10/service-design-and-creation/models/model/
ml.aai.NAMED_QUERY_URL=/aai/v10/service-design-and-creation/named-queries/named-query/
ml.aai.VNF_IMAGE_URL=/aai/v8/service-design-and-creation/vnf-images
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml b/kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml
new file mode 100644
index 0000000000..8b63cfa048
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/configmap.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-prop
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model-loader.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml b/kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml
new file mode 100644
index 0000000000..38ebe7689f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml
@@ -0,0 +1,97 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CONFIG_HOME
+ value: /opt/app/model-loader/config/
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/model-loader/config/model-loader.properties
+ subPath: model-loader.properties
+ name: {{ include "common.fullname" . }}-prop-config
+ - mountPath: /opt/app/model-loader/config/auth/
+ name: {{ include "common.fullname" . }}-auth-config
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /opt/app/model-loader/bundleconfig/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+
+ # 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" . }}-prop-config
+ configMap:
+ name: {{ include "common.fullname" . }}-prop
+ - name: {{ include "common.fullname" . }}-auth-config
+ secret:
+ secretName: {{ include "common.fullname" . }}
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: aai-filebeat
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/secret.yaml b/kubernetes/aai/charts/aai-modelloader/templates/secret.yaml
new file mode 100644
index 0000000000..69bd3f86de
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/secret.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-modelloader/templates/service.yaml b/kubernetes/aai/charts/aai-modelloader/templates/service.yaml
new file mode 100644
index 0000000000..bd59edb94f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/templates/service.yaml
@@ -0,0 +1,29 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/aai/charts/aai-modelloader/values.yaml b/kubernetes/aai/charts/aai-modelloader/values.yaml
new file mode 100644
index 0000000000..f44d5247ab
--- /dev/null
+++ b/kubernetes/aai/charts/aai-modelloader/values.yaml
@@ -0,0 +1,67 @@
+# Default values for modelloader.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/model-loader:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: aai-modelloader
+ externalPort: 8080
+ internalPort: 8080
+ nodePort: 10
+ externalPort2: 8443
+ internalPort2: 8443
+ nodePort2: 29
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-resources/.helmignore b/kubernetes/aai/charts/aai-resources/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-resources/Chart.yaml b/kubernetes/aai/charts/aai-resources/Chart.yaml
new file mode 100644
index 0000000000..3ab5c1a486
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI resources
+name: aai-resources
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/log/resources/logback.xml b/kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml
index 6cfc293f46..6cfc293f46 100644
--- a/kubernetes/aai/resources/config/log/resources/logback.xml
+++ b/kubernetes/aai/charts/aai-resources/resources/config/log/logback.xml
diff --git a/kubernetes/aai/charts/aai-resources/templates/configmap.yaml b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml
new file mode 100644
index 0000000000..97c720a6ab
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/templates/configmap.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-resources/templates/deployment.yaml b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
new file mode 100644
index 0000000000..6aef4475f7
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/templates/deployment.yaml
@@ -0,0 +1,527 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "_aai-cloudInfrastructure",
+ "version": "v11",
+ "url": "/aai/v11/cloud-infrastructure",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/cloud-infrastructure"
+ },
+ {
+ "serviceName": "_aai-cloudInfrastructure",
+ "version": "v12",
+ "url": "/aai/v12/cloud-infrastructure",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/cloud-infrastructure"
+ },
+ {
+ "serviceName": "_aai-cloudInfrastructure",
+ "version": "v13",
+ "url": "/aai/v13/cloud-infrastructure",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/cloud-infrastructure"
+ },
+ {
+ "serviceName": "_aai-business",
+ "version": "v11",
+ "url": "/aai/v11/business",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/business"
+ },
+ {
+ "serviceName": "_aai-business",
+ "version": "v12",
+ "url": "/aai/v12/business",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/business"
+ },
+ {
+ "serviceName": "_aai-business",
+ "version": "v13",
+ "url": "/aai/v13/business",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/business"
+ },
+ {
+ "serviceName": "_aai-actions",
+ "version": "v11",
+ "url": "/aai/v11/actions",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/actions"
+ },
+ {
+ "serviceName": "_aai-actions",
+ "version": "v12",
+ "url": "/aai/v12/actions",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/actions"
+ },
+ {
+ "serviceName": "_aai-actions",
+ "version": "v13",
+ "url": "/aai/v13/actions",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/actions"
+ },
+ {
+ "serviceName": "_aai-service-design-and-creation",
+ "version": "v11",
+ "url": "/aai/v11/service-design-and-creation",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/service-design-and-creation"
+ },
+ {
+ "serviceName": "_aai-service-design-and-creation",
+ "version": "v12",
+ "url": "/aai/v12/service-design-and-creation",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/service-design-and-creation"
+ },
+ {
+ "serviceName": "_aai-service-design-and-creation",
+ "version": "v13",
+ "url": "/aai/v13/service-design-and-creation",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/service-design-and-creation"
+ },
+ {
+ "serviceName": "_aai-network",
+ "version": "v11",
+ "url": "/aai/v11/network",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/network"
+ },
+ {
+ "serviceName": "_aai-network",
+ "version": "v12",
+ "url": "/aai/v12/network",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/network"
+ },
+ {
+ "serviceName": "_aai-network",
+ "version": "v13",
+ "url": "/aai/v13/network",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/network"
+ },
+ {
+ "serviceName": "_aai-externalSystem",
+ "version": "v11",
+ "url": "/aai/v11/external-system",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/external-system"
+ },
+ {
+ "serviceName": "_aai-externalSystem",
+ "version": "v12",
+ "url": "/aai/v12/external-system",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/external-system"
+ },
+ {
+ "serviceName": "_aai-externalSystem",
+ "version": "v13",
+ "url": "/aai/v13/external-system",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/external-system"
+ },
+ {
+ "serviceName": "aai-cloudInfrastructure",
+ "version": "v11",
+ "url": "/aai/v11/cloud-infrastructure",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-cloudInfrastructure",
+ "version": "v12",
+ "url": "/aai/v12/cloud-infrastructure",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-cloudInfrastructure",
+ "version": "v13",
+ "url": "/aai/v13/cloud-infrastructure",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-business",
+ "version": "v11",
+ "url": "/aai/v11/business",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-business",
+ "version": "v12",
+ "url": "/aai/v12/business",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-business",
+ "version": "v13",
+ "url": "/aai/v13/business",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-actions",
+ "version": "v11",
+ "url": "/aai/v11/actions",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-actions",
+ "version": "v12",
+ "url": "/aai/v12/actions",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-actions",
+ "version": "v13",
+ "url": "/aai/v13/actions",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-service-design-and-creation",
+ "version": "v11",
+ "url": "/aai/v11/service-design-and-creation",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-service-design-and-creation",
+ "version": "v12",
+ "url": "/aai/v12/service-design-and-creation",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-service-design-and-creation",
+ "version": "v13",
+ "url": "/aai/v13/service-design-and-creation",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-network",
+ "version": "v11",
+ "url": "/aai/v11/network",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-network",
+ "version": "v12",
+ "url": "/aai/v12/network",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-network",
+ "version": "v13",
+ "url": "/aai/v13/network",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-externalSystem",
+ "version": "v11",
+ "url": "/aai/v11/external-system",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-externalSystem",
+ "version": "v12",
+ "url": "/aai/v12/external-system",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-externalSystem",
+ "version": "v13",
+ "url": "/aai/v13/external-system",
+ "protocol": "REST",
+ "port": "8447",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ }
+ ]'
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - aai-hbase
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CHEF_BRANCH
+ value: master
+ - name: AAI_CHEF_ENV
+ value: simpledemo
+ - name: AAI_CORE_VERSION
+ value: {{ .Values.config.aaicoreversion }}
+ - name: AAI_CHEF_LOC
+ value: /var/chef/aai-data/environments
+ - name: CHEF_GIT_URL
+ value: http://gerrit.onap.org/r/aai
+ - name: HBASE_STARTUP_ARTIFICIAL_DELAY
+ value: "60"
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
+ subPath: solo.rb
+ name: aai-chef-config
+ - mountPath: /var/chef/aai-data/environments/
+ name: aai-data
+ - mountPath: /var/log/onap
+ name: aai-resources-logs
+ - mountPath: /opt/app/aai-resources/bundleconfig/etc/logback.xml
+ name: aai-resources-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: aai-resources-logs
+ - mountPath: /usr/share/filebeat/data
+ name: aai-resources-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: aai-chef-config
+ configMap:
+ name: aai-chef-config
+ - name: aai-data
+ configMap:
+ name: aai-resources-environments
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: aai-resources-logs
+ emptyDir: {}
+ - name: aai-resources-filebeat
+ emptyDir: {}
+ - name: aai-resources-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-resources/templates/service.yaml b/kubernetes/aai/charts/aai-resources/templates/service.yaml
new file mode 100644
index 0000000000..8cea86cf54
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/templates/service.yaml
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-resources/values.yaml b/kubernetes/aai/charts/aai-resources/values.yaml
new file mode 100644
index 0000000000..f72e29905f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-resources/values.yaml
@@ -0,0 +1,68 @@
+# Default values for resources.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: openecomp/aai-resources:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ aaicoreversion: 1.1.0-SNAPSHOT
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 60
+ periodSeconds: 60
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: false
+
+readiness:
+ initialDelaySeconds: 60
+ periodSeconds: 10
+
+
+service:
+ type: ClusterIP
+ name: aai-resources
+ internalPort: 8447
+ internalPort2: 5005
+
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-search-data/.helmignore b/kubernetes/aai/charts/aai-search-data/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-search-data/Chart.yaml b/kubernetes/aai/charts/aai-search-data/Chart.yaml
new file mode 100644
index 0000000000..da911abb5e
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI search-data
+name: aai-search-data
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/analysis-config.json b/kubernetes/aai/charts/aai-search-data/resources/config/analysis-config.json
index f98ea3799b..f98ea3799b 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/analysis-config.json
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/analysis-config.json
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/search_policy.json b/kubernetes/aai/charts/aai-search-data/resources/config/auth/search_policy.json
index 72d8902fbe..72d8902fbe 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/search_policy.json
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/auth/search_policy.json
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/tomcat_keystore b/kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore
index 9eec841aa2..9eec841aa2 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/auth/tomcat_keystore
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore
Binary files differ
diff --git a/kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties b/kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties
new file mode 100644
index 0000000000..532a9fb2f0
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties
@@ -0,0 +1,5 @@
+# ElasticSearch Configuration
+
+es.cluster-name=ES_AAI
+es.ip-address=aai-elasticsearch.{{.Release.Namespace}}
+es.http-port={{ .Values.config.elasticsearchHttpPort }}
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/filter-config.json b/kubernetes/aai/charts/aai-search-data/resources/config/filter-config.json
index e2d5285824..e2d5285824 100644
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/filter-config.json
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/filter-config.json
diff --git a/kubernetes/aai/resources/config/log/search-data-service/logback.xml b/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
index 14ed4142fe..14ed4142fe 100644
--- a/kubernetes/aai/resources/config/log/search-data-service/logback.xml
+++ b/kubernetes/aai/charts/aai-search-data/resources/config/log/logback.xml
diff --git a/kubernetes/aai/charts/aai-search-data/templates/configmap.yaml b/kubernetes/aai/charts/aai-search-data/templates/configmap.yaml
new file mode 100644
index 0000000000..0715f0d51a
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/configmap.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-service-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-search-data/templates/deployment.yaml b/kubernetes/aai/charts/aai-search-data/templates/deployment.yaml
new file mode 100644
index 0000000000..beaee7d374
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/deployment.yaml
@@ -0,0 +1,137 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CONFIG_HOME
+ value: /opt/app/search-data-service/config/
+ - name: KEY_STORE_PASSWORD
+ value: {{ .Values.config.keyStorePassword }}
+ - name: KEY_MANAGER_PASSWORD
+ value: {{ .Values.config.keyManagerPassword }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/search-data-service/config/filter-config.json
+ subPath: filter-config.json
+ name: {{ include "common.fullname" . }}-service-config
+ - mountPath: /opt/app/search-data-service/config/elastic-search.properties
+ subPath: elastic-search.properties
+ name: {{ include "common.fullname" . }}-service-config
+ - mountPath: /opt/app/search-data-service/config/analysis-config.json
+ subPath: filter-config.json
+ name: {{ include "common.fullname" . }}-service-config
+ - mountPath: /opt/app/search-data-service/config/auth/tomcat_keystore
+ subPath: tomcat_keystore
+ name: {{ include "common.fullname" . }}-service-auth-config
+ - mountPath: /opt/app/search-data-service/config/auth/search_policy.json
+ subPath: search_policy.json
+ name: {{ include "common.fullname" . }}-search-policy-config
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-service-logs
+ - mountPath: /opt/app/search-data-service/bundleconfig/etc/logback.xml
+ name: {{ include "common.fullname" . }}-service-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-service-logs
+ - mountPath: /usr/share/filebeat/data
+ name: {{ include "common.fullname" . }}-service-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-service-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-service-auth-config
+ secret:
+ secretName: {{ include "common.fullname" . }}-keystone
+ - name: {{ include "common.fullname" . }}-search-policy-config
+ secret:
+ secretName: {{ include "common.fullname" . }}-policy
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: {{ include "common.fullname" . }}-service-logs
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-service-filebeat
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-service-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-service-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-search-data/templates/secret.yaml b/kubernetes/aai/charts/aai-search-data/templates/secret.yaml
new file mode 100644
index 0000000000..33b058fc8f
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/secret.yaml
@@ -0,0 +1,16 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-keystone
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/tomcat_keystore").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-policy
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/auth/search_policy.json").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-search-data/templates/service.yaml b/kubernetes/aai/charts/aai-search-data/templates/service.yaml
new file mode 100644
index 0000000000..41bc163696
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-search-data/values.yaml b/kubernetes/aai/charts/aai-search-data/values.yaml
new file mode 100644
index 0000000000..e7bfa6bdfa
--- /dev/null
+++ b/kubernetes/aai/charts/aai-search-data/values.yaml
@@ -0,0 +1,68 @@
+# Default values for search-data.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/search-data-service:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ elasticsearchHttpPort: 9200
+ keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+ keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-search-data
+ internalPort: 9509
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-sparky-be/.helmignore b/kubernetes/aai/charts/aai-sparky-be/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-sparky-be/Chart.yaml b/kubernetes/aai/charts/aai-sparky-be/Chart.yaml
new file mode 100644
index 0000000000..4d8a3a496b
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI sparky-be
+name: aai-sparky-be
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/aai.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties
index aaca346760..813a263d90 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/aai.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties
@@ -6,7 +6,7 @@
#
# The ip address/hostname and port to the desired AAI instance
#
-aai.rest.host=aai-service.{{.Values.nsPrefix}}
+aai.rest.host=aai.{{.Release.Namespace}}
aai.rest.port=8443
############################## REST ##############################
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/aai-os-cert.p12 b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/aai-os-cert.p12
index ee57120fa0..ee57120fa0 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/aai-os-cert.p12
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/aai-os-cert.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/client-cert-onap.p12 b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/client-cert-onap.p12
index dbf4fcacec..dbf4fcacec 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/client-cert-onap.p12
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/client-cert-onap.p12
Binary files differ
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/inventory-ui-keystore b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore
index efa01f8d79..efa01f8d79 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/auth/inventory-ui-keystore
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore
Binary files differ
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/elasticsearch.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties
index 99aea27d9e..082744b94e 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/elasticsearch.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties
@@ -7,8 +7,8 @@
# The ip address/hostname and port to the desired AAI instance
# For development it's recommended to use a local instance of ES
#
-elasticsearch.ipAddress=aai-elasticsearch.{{.Values.nsPrefix}}
-elasticsearch.httpPort=9200
+elasticsearch.ipAddress=aai-elasticsearch.{{.Release.Namespace}}
+elasticsearch.httpPort={{ .Values.config.elasticsearchHttpPort }}
elasticsearch.javaApiPort=8443
############################## Indexes ##############################
diff --git a/kubernetes/aai/resources/config/log/sparky-be/logback.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml
index c1b99c183f..c1b99c183f 100644
--- a/kubernetes/aai/resources/config/log/sparky-be/logback.xml
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/model/aai_oxm_v9.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml
index 6337c32edc..6337c32edc 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/model/aai_oxm_v9.xml
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/model/aai_oxm_v9.xml
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal-authentication.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties
index 0873fc1c61..0873fc1c61 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal-authentication.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal.properties
index 90147362b0..04a19555e2 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/portal/portal.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal.properties
@@ -7,10 +7,10 @@ portal.api.impl.class = org.openecomp.sparky.security.portal.PortalRestAPIServic
# Instance of ECOMP Portal where the app has been on-boarded
# use insecure http for dev purposes to avoid self-signed certificate
-ecomp_rest_url = http://portalapps.{{.Values.nsPrefix}}:8989/ONAPPORTAL/auxapi
+ecomp_rest_url = http://portalapps.{{.Release.Namespace}}:8989/ONAPPORTAL/auxapi
# Standard global logon page
-ecomp_redirect_url = http://portalapps.{{.Values.nsPrefix}}:8989/ONAPPORTAL/login.htm
+ecomp_redirect_url = http://portalapps.{{.Release.Namespace}}:8989/ONAPPORTAL/login.htm
# Name of cookie to extract on login request
csp_cookie_name = EPService
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/roles.config b/kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config
index b8313bd378..b8313bd378 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/roles.config
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/search-service.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties
index 57e34759d3..f28047333a 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/search-service.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties
@@ -6,7 +6,7 @@
#
# The ip address/hostname and port to the desired Search Data Service instance
#
-search-service.ipAddress=search-data-service.{{.Values.nsPrefix}}
+search-service.ipAddress=aai-search-data.{{.Release.Namespace}}
search-service.httpPort=9509
############################## Indexes ##############################
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/suggestive-search.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties
index b82baffc14..b82baffc14 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/suggestive-search.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties
diff --git a/kubernetes/aai/resources/config/sparky-be/appconfig/synchronizer.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties
index 0b84f06abe..0b84f06abe 100644
--- a/kubernetes/aai/resources/config/sparky-be/appconfig/synchronizer.properties
+++ b/kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml
new file mode 100644
index 0000000000..68fa1e4966
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml
@@ -0,0 +1,31 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-model
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-portal
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/portal/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
new file mode 100644
index 0000000000..278a32728e
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
@@ -0,0 +1,149 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CONFIG_HOME
+ value: /opt/app/sparky/config/
+ - name: KEY_MANAGER_PASSWORD
+ value: {{ .Values.config.keyManagerPassword }}
+ - name: KEY_STORE_PASSWORD
+ value: {{ .Values.config.keyStorePassword }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/app/sparky/config/auth/
+ name: {{ include "common.fullname" . }}-auth-config
+ - mountPath: /opt/app/sparky/config/synchronizer.properties
+ subPath: synchronizer.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/suggestive-search.properties
+ subPath: suggestive-search.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/search-service.properties
+ subPath: search-service.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/roles.config
+ subPath: roles.config
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/elasticsearch.properties
+ subPath: elasticsearch.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/aai.properties
+ subPath: aai.properties
+ name: {{ include "common.fullname" . }}-config
+ - mountPath: /opt/app/sparky/config/model/
+ name: {{ include "common.fullname" . }}-model-config
+ - mountPath: /opt/app/sparky/config/portal/
+ name: {{ include "common.fullname" . }}-portal-config
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /opt/app/sparky/bundleconfig/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: {{ include "common.fullname" . }}-logs
+ - mountPath: /usr/share/filebeat/data
+ name: aai-sparky-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-model-config
+ configMap:
+ name: {{ include "common.fullname" . }}-model
+ - name: {{ include "common.fullname" . }}-portal-config
+ configMap:
+ name: {{ include "common.fullname" . }}-portal
+ - name: {{ include "common.fullname" . }}-auth-config
+ secret:
+ secretName: {{ include "common.fullname" . }}
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
+ - name: aai-sparky-filebeat
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml
new file mode 100644
index 0000000000..69bd3f86de
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml
@@ -0,0 +1,8 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-sparky-be/templates/service.yaml b/kubernetes/aai/charts/aai-sparky-be/templates/service.yaml
new file mode 100644
index 0000000000..41bc163696
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/templates/service.yaml
@@ -0,0 +1,25 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-sparky-be/values.yaml b/kubernetes/aai/charts/aai-sparky-be/values.yaml
new file mode 100644
index 0000000000..34be1befb2
--- /dev/null
+++ b/kubernetes/aai/charts/aai-sparky-be/values.yaml
@@ -0,0 +1,70 @@
+# Default values for sparky-be.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/sparky-be:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ elasticsearchHttpPort: 9200
+ keyStorePassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+ keyManagerPassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+
+# override chart name (sparky-be) to share a common namespace
+# suffix with parent chart (aai)
+nsSuffix: aai
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-sparky-be
+ internalPort: 9517
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-traversal/.helmignore b/kubernetes/aai/charts/aai-traversal/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/aai/charts/aai-traversal/Chart.yaml b/kubernetes/aai/charts/aai-traversal/Chart.yaml
new file mode 100644
index 0000000000..8f79b421c3
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP AAI traversal
+name: aai-traversal
+version: 2.0.0
diff --git a/kubernetes/aai/resources/config/log/traversal/logback.xml b/kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml
index fb8d8a53bf..fb8d8a53bf 100644
--- a/kubernetes/aai/resources/config/log/traversal/logback.xml
+++ b/kubernetes/aai/charts/aai-traversal/resources/config/log/logback.xml
diff --git a/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
new file mode 100644
index 0000000000..a7e9428a88
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
new file mode 100644
index 0000000000..b4249aede1
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
@@ -0,0 +1,357 @@
+# 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: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: {{ .Values.replicaCount }}
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "_aai-generic-query",
+ "version": "v11",
+ "url": "/aai/v11/search/generic-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/search/generic-query"
+ },
+ {
+ "serviceName": "_aai-generic-query",
+ "version": "v12",
+ "url": "/aai/v12/search/generic-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/search/generic-query"
+ },
+ {
+ "serviceName": "_aai-generic-query",
+ "version": "v13",
+ "url": "/aai/v13/search/generic-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/search/generic-query"
+ },
+ {
+ "serviceName": "_aai-nodes-query",
+ "version": "v11",
+ "url": "/aai/v11/search/nodes-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/search/nodes-query"
+ },
+ {
+ "serviceName": "_aai-nodes-query",
+ "version": "v12",
+ "url": "/aai/v12/search/nodes-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/search/nodes-query"
+ },
+ {
+ "serviceName": "_aai-nodes-query",
+ "version": "v13",
+ "url": "/aai/v13/search/nodes-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/search/nodes-query"
+ },
+ {
+ "serviceName": "_aai-query",
+ "version": "v11",
+ "url": "/aai/v11/query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v11/query"
+ },
+ {
+ "serviceName": "_aai-query",
+ "version": "v12",
+ "url": "/aai/v12/query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v12/query"
+ },
+ {
+ "serviceName": "_aai-query",
+ "version": "v13",
+ "url": "/aai/v13/query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/v13/query"
+ },
+ {
+ "serviceName": "_aai-named-query",
+ "url": "/aai/search",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1",
+ "path": "/aai/search"
+ },
+ {
+ "serviceName": "aai-generic-query",
+ "version": "v11",
+ "url": "/aai/v11/search/generic-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-generic-query",
+ "version": "v12",
+ "url": "/aai/v12/search/generic-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-generic-query",
+ "version": "v13",
+ "url": "/aai/v13/search/generic-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-nodes-query",
+ "version": "v11",
+ "url": "/aai/v11/search/nodes-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-nodes-query",
+ "version": "v12",
+ "url": "/aai/v12/search/nodes-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-nodes-query",
+ "version": "v13",
+ "url": "/aai/v13/search/nodes-query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-query",
+ "version": "v11",
+ "url": "/aai/v11/query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-query",
+ "version": "v12",
+ "url": "/aai/v12/query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-query",
+ "version": "v13",
+ "url": "/aai/v13/query",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ },
+ {
+ "serviceName": "aai-named-query",
+ "url": "/aai/search",
+ "protocol": "REST",
+ "port": "8446",
+ "enable_ssl": true,
+ "lb_policy":"ip_hash",
+ "visualRange": "1"
+ }
+ ]'
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - aai-resources
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: CHEF_BRANCH
+ value: master
+ - name: AAI_CHEF_ENV
+ value: simpledemo
+ - name: AAI_CORE_VERSION
+ value: {{ .Values.config.aaicoreversion }}
+ - name: AAI_CHEF_LOC
+ value: /var/chef/aai-data/environments
+ - name: CHEF_GIT_URL
+ value: http://gerrit.onap.org/r/aai
+ - name: RESOURCES_HOSTNAME
+ value: aai-resources.{{ include "common.namespace" . }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
+ subPath: solo.rb
+ name: aai-chef-config
+ - mountPath: /var/chef/aai-data/environments/
+ name: aai-data
+ - mountPath: /var/log/onap
+ name: aai-traversal-logs
+ - mountPath: /opt/app/aai-traversal/bundleconfig/etc/logback.xml
+ name: aai-traversal-log-conf
+ subPath: logback.xml
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{ if .Values.liveness.enabled }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ resources:
+{{ toYaml .Values.resources | indent 10 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+ {{- end }}
+
+ # side car containers
+ - name: filebeat-onap
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: aai-traversal-logs
+ - mountPath: /usr/share/filebeat/data
+ name: aai-traversal-filebeat
+
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: aai-chef-config
+ configMap:
+ name: aai-chef-config
+ - name: aai-data
+ configMap:
+ name: aai-resources-environments
+ - name: filebeat-conf
+ configMap:
+ name: aai-filebeat
+ - name: aai-traversal-logs
+ emptyDir: {}
+ - name: aai-traversal-filebeat
+ emptyDir: {}
+ - name: aai-traversal-log-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-log
+ restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-traversal/templates/service.yaml b/kubernetes/aai/charts/aai-traversal/templates/service.yaml
new file mode 100644
index 0000000000..8cea86cf54
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/templates/service.yaml
@@ -0,0 +1,30 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: {{ .Values.service.name }}2
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/aai/charts/aai-traversal/values.yaml b/kubernetes/aai/charts/aai-traversal/values.yaml
new file mode 100644
index 0000000000..17640338d1
--- /dev/null
+++ b/kubernetes/aai/charts/aai-traversal/values.yaml
@@ -0,0 +1,67 @@
+# Default values for traversal.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: openecomp/aai-traversal:v1.1.0
+pullPolicy: Always
+restartPolicy: Always
+
+# application configuration
+config:
+ aaicoreversion: 1.1.0-SNAPSHOT
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 60
+ periodSeconds: 60
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: false
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: ClusterIP
+ name: aai-traversal
+ internalPort: 8446
+ internalPort2: 5005
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/aai/requirements.yaml b/kubernetes/aai/requirements.yaml
new file mode 100644
index 0000000000..56029ab047
--- /dev/null
+++ b/kubernetes/aai/requirements.yaml
@@ -0,0 +1,7 @@
+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' \ No newline at end of file
diff --git a/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json b/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json
index 7b299f7a39..9795975c16 100644
--- a/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json
+++ b/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json
@@ -33,16 +33,16 @@
"PROJECT_HOME": "/opt/app/aai-traversal",
"LOGROOT": "/opt/aai/logroot",
"JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64",
- "AAI_SERVER_URL_BASE": "https://aai-servicei.{{.Values.nsPrefix}}:8443/aai/",
- "AAI_SERVER_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/v11/",
- "AAI_GLOBAL_CALLBACK_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/",
+ "AAI_SERVER_URL_BASE": "https:/aai.{{.Release.Namespace}}:8443/aai/",
+ "AAI_SERVER_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/v11/",
+ "AAI_GLOBAL_CALLBACK_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/",
"AAI_TRUSTSTORE_FILENAME": "aai_keystore",
"AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
"AAI_KEYSTORE_FILENAME": "aai_keystore",
"AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
- "APPLICATION_SERVERS": "aai-service.{{.Values.nsPrefix}}",
+ "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}",
"AAI_DMAAP_PROTOCOL": "http",
- "AAI_DMAAP_HOST_PORT": "dmaap.{{.Values.nsPrefix}}:3904",
+ "AAI_DMAAP_HOST_PORT": "dmaap.{{.Release.Namespace}}:3904",
"AAI_DMAAP_TOPIC_NAME": "AAI-EVENT",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT",
@@ -54,11 +54,11 @@
"AAI_NOTIFICATION_CURRENT_VERSION": "v11",
"RESOURCE_VERSION_ENABLE_FLAG": "true",
"TXN_HBASE_TABLE_NAME": "aailogging.dev",
- "TXN_ZOOKEEPER_QUORUM": "hbase.{{.Values.nsPrefix}}",
+ "TXN_ZOOKEEPER_QUORUM": "aai-hbase.{{.Release.Namespace}}",
"TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181",
"TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1",
- "STORAGE_HOSTNAME": "hbase.{{.Values.nsPrefix}}",
+ "STORAGE_HOSTNAME": "aai-hbase.{{.Release.Namespace}}",
"STORAGE_HBASE_TABLE": "aaigraph.dev",
"STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"DB_CACHE_CLEAN_WAIT": "20",
@@ -85,16 +85,16 @@
"PROJECT_HOME": "/opt/app/aai-resources",
"LOGROOT": "/opt/aai/logroot",
"JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64",
- "AAI_SERVER_URL_BASE": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/",
- "AAI_SERVER_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/v11/",
- "AAI_GLOBAL_CALLBACK_URL": "https://aai-service.{{.Values.nsPrefix}}:8443/aai/",
+ "AAI_SERVER_URL_BASE": "https:/aai.{{.Release.Namespace}}:8443/aai/",
+ "AAI_SERVER_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/v11/",
+ "AAI_GLOBAL_CALLBACK_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/",
"AAI_TRUSTSTORE_FILENAME": "aai_keystore",
"AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
"AAI_KEYSTORE_FILENAME": "aai_keystore",
"AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
- "APPLICATION_SERVERS": "aai-service.{{.Values.nsPrefix}}",
+ "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}",
"AAI_DMAAP_PROTOCOL": "http",
- "AAI_DMAAP_HOST_PORT": "dmaap.{{.Values.nsPrefix}}:3904",
+ "AAI_DMAAP_HOST_PORT": "dmaap.{{.Release.Namespace}}:3904",
"AAI_DMAAP_TOPIC_NAME": "AAI-EVENT",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED",
"AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT",
@@ -106,11 +106,11 @@
"AAI_NOTIFICATION_CURRENT_VERSION": "v11",
"RESOURCE_VERSION_ENABLE_FLAG": "true",
"TXN_HBASE_TABLE_NAME": "aailogging.dev",
- "TXN_ZOOKEEPER_QUORUM": "hbase.{{.Values.nsPrefix}}",
+ "TXN_ZOOKEEPER_QUORUM": "aai-hbase.{{.Release.Namespace}}",
"TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181",
"TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1",
- "STORAGE_HOSTNAME": "hbase.{{.Values.nsPrefix}}",
+ "STORAGE_HOSTNAME": "aai-hbase.{{.Release.Namespace}}",
"STORAGE_HBASE_TABLE": "aaigraph.dev",
"STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase",
"DB_CACHE_CLEAN_WAIT": "20",
diff --git a/kubernetes/aai/resources/config/haproxy/haproxy.cfg b/kubernetes/aai/resources/config/haproxy/haproxy.cfg
index 6e6f489470..b9721ae41a 100644
--- a/kubernetes/aai/resources/config/haproxy/haproxy.cfg
+++ b/kubernetes/aai/resources/config/haproxy/haproxy.cfg
@@ -95,7 +95,7 @@ backend IST_Default_8447
balance roundrobin
http-request set-header X-Forwarded-Port %[src_port]
http-response set-header Strict-Transport-Security max-age=16000000;\ includeSubDomains;\ preload;
- server aai-resources.{{.Values.nsPrefix}} aai-resources.{{.Values.nsPrefix}}:8447 port 8447 ssl verify none
+ server aai-resources.{{.Release.Namespace}} aai-resources.{{.Release.Namespace}}:8447 port 8447 ssl verify none
#######################
# BACKEND 8446#########
@@ -105,7 +105,7 @@ backend IST_AAI_8446
balance roundrobin
http-request set-header X-Forwarded-Port %[src_port]
http-response set-header Strict-Transport-Security max-age=16000000;\ includeSubDomains;\ preload;
- server aai-traversal.{{.Values.nsPrefix}} aai-traversal.{{.Values.nsPrefix}}:8446 port 8446 ssl verify none
+ server aai-traversal.{{.Release.Namespace}} aai-traversal.{{.Release.Namespace}}:8446 port 8446 ssl verify none
listen IST_AAI_STATS
mode http
@@ -118,4 +118,3 @@ listen IST_AAI_STATS
stats show-legends
stats show-desc IST AAI APPLICATION NODES
stats admin if TRUE
-
diff --git a/kubernetes/aai/resources/config/log/filebeat/filebeat.yml b/kubernetes/aai/resources/config/log/filebeat/filebeat.yml
index 89c6932577..b0d4690754 100644
--- a/kubernetes/aai/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/aai/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties b/kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties
deleted file mode 100644
index c19667ad3c..0000000000
--- a/kubernetes/aai/resources/config/search-data-service/appconfig/elastic-search.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-# ElasticSearch Configuration
-
-es.cluster-name=ES_AAI
-es.ip-address=aai-elasticsearch.{{.Values.nsPrefix}}
-es.http-port=9200
diff --git a/kubernetes/aai/templates/aai-deployment-configmap.yaml b/kubernetes/aai/templates/aai-deployment-configmap.yaml
deleted file mode 100644
index 6684555bd0..0000000000
--- a/kubernetes/aai/templates/aai-deployment-configmap.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-#{{ if not .Values.disableAaiAaiService }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-deployment-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/haproxy/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/aai-deployment.yaml b/kubernetes/aai/templates/aai-deployment.yaml
deleted file mode 100644
index db6da6403c..0000000000
--- a/kubernetes/aai/templates/aai-deployment.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-#{{ if not .Values.disableAaiAaiService }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-service
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.aaiServiceReplicas }}
- selector:
- matchLabels:
- app: aai-service
- template:
- metadata:
- labels:
- app: aai-service
- name: aai-service
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - aai-resources
- - --container-name
- - aai-traversal
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: aai-service-readiness
- containers:
- - name: aai-service
- image: "{{ .Values.image.aaiProxy }}:{{ .Values.image.aaiProxyVersion}}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /dev/log
- name: aai-service-log
- - mountPath: /usr/local/etc/haproxy/haproxy.cfg
- subPath: haproxy.cfg
- name: haproxy-cfg
- ports:
- - containerPort: 8080
- - containerPort: 8443
- readinessProbe:
- tcpSocket:
- port: 8443
- initialDelaySeconds: 5
- periodSeconds: 10
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-service-log
- hostPath:
- path: "/dev/log"
- - name: haproxy-cfg
- configMap:
- name: aai-deployment-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/aai-filebeat-configmap.yaml b/kubernetes/aai/templates/aai-filebeat-configmap.yaml
deleted file mode 100644
index 2ca1ac2df5..0000000000
--- a/kubernetes/aai/templates/aai-filebeat-configmap.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-#{{ if not .Values.disableAaiAaiResources }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-filebeat-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/aai-resources-deployment.yaml b/kubernetes/aai/templates/aai-resources-deployment.yaml
deleted file mode 100644
index c07214d958..0000000000
--- a/kubernetes/aai/templates/aai-resources-deployment.yaml
+++ /dev/null
@@ -1,105 +0,0 @@
-#{{ if not .Values.disableAaiAaiResources }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-resources
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.aaiResourceReplicas }}
- selector:
- matchLabels:
- app: aai-resources
- template:
- metadata:
- labels:
- app: aai-resources
- name: aai-resources
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - hbase
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: aai-resources-readiness
- containers:
- - name: aai-resources
- image: "{{ .Values.image.aaiResourcesImage }}:{{ .Values.image.aaiResourcesVersion}}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CHEF_BRANCH
- value: master
- - name: AAI_CHEF_ENV
- value: simpledemo
- - name: AAI_CORE_VERSION
- value: 1.1.0-SNAPSHOT
- - name: AAI_CHEF_LOC
- value: /var/chef/aai-data/environments
- - name: CHEF_GIT_URL
- value: http://gerrit.onap.org/r/aai
- - name: HBASE_STARTUP_ARTIFICIAL_DELAY
- value: "60"
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
- subPath: solo.rb
- name: aai-chef-config
- - mountPath: /var/chef/aai-data/environments/
- name: aai-data
- - mountPath: /var/log/onap
- name: aai-resources-logs
- - mountPath: /opt/app/aai-resources/bundleconfig/etc/logback.xml
- name: aai-resources-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 8447
- readinessProbe:
- tcpSocket:
- port: 8447
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-resources
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-resources-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-resources-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-chef-config
- configMap:
- name: aai-chef-config-configmap
- - name: aai-data
- configMap:
- name: aai-resources-environments-configmap
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-resources-logs
- emptyDir: {}
- - name: aai-resources-filebeat
- emptyDir: {}
- - name: aai-resources-log-conf
- configMap:
- name: aai-resources-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/aai-resources-traversal-configmap.yaml b/kubernetes/aai/templates/aai-resources-traversal-configmap.yaml
deleted file mode 100644
index cdcaae6f64..0000000000
--- a/kubernetes/aai/templates/aai-resources-traversal-configmap.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-#{{ if not .Values.disableAaiAaiResources }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-chef-config-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/aai-data/chef-config/dev/.knife/solo.rb").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-resources-environments-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/aai-data/environments/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-resources-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/resources/logback.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-traversal-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/traversal/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/aai-traversal-deployment.yaml b/kubernetes/aai/templates/aai-traversal-deployment.yaml
deleted file mode 100644
index 84a0d0f289..0000000000
--- a/kubernetes/aai/templates/aai-traversal-deployment.yaml
+++ /dev/null
@@ -1,107 +0,0 @@
-#{{ if not .Values.disableAaiAaiTraversal }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-traversal
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.aaiTraversalReplicas }}
- selector:
- matchLabels:
- app: aai-traversal
- template:
- metadata:
- labels:
- app: aai-traversal
- name: aai-traversal
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - hbase
- - --container-name
- - aai-resources
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: aai-traversal-readiness
- containers:
- - name: aai-traversal
- image: "{{ .Values.image.aaiTraversalImage }}:{{ .Values.image.aaiTraversalVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CHEF_BRANCH
- value: master
- - name: AAI_CHEF_ENV
- value: simpledemo
- - name: AAI_CORE_VERSION
- value: 1.1.0-SNAPSHOT
- - name: AAI_CHEF_LOC
- value: /var/chef/aai-data/environments
- - name: CHEF_GIT_URL
- value: http://gerrit.onap.org/r/aai
- - name: RESOURCES_HOSTNAME
- value: aai-resources.{{ .Values.nsPrefix }}
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
- subPath: solo.rb
- name: aai-chef-config
- - mountPath: /var/chef/aai-data/environments/
- name: aai-data
- - mountPath: /var/log/onap
- name: aai-traversal-logs
- - mountPath: /opt/app/aai-traversal/bundleconfig/etc/logback.xml
- name: aai-traversal-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 8446
- readinessProbe:
- tcpSocket:
- port: 8446
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-traversal
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-traversal-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-traversal-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-chef-config
- configMap:
- name: aai-chef-config-configmap
- - name: aai-data
- configMap:
- name: aai-resources-environments-configmap
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-traversal-logs
- emptyDir: {}
- - name: aai-traversal-filebeat
- emptyDir: {}
- - name: aai-traversal-log-conf
- configMap:
- name: aai-traversal-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/all-services.yaml b/kubernetes/aai/templates/all-services.yaml
deleted file mode 100644
index 01f24a7dd2..0000000000
--- a/kubernetes/aai/templates/all-services.yaml
+++ /dev/null
@@ -1,313 +0,0 @@
-#{{ if not .Values.disableAaiHbase }}
-apiVersion: v1
-kind: Service
-metadata:
- name: hbase
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: hbase
-spec:
- ports:
- - name: "hbase-port-1"
- port: 2181
- - name: "hbase-port-2"
- port: 8080
- - name: "hbase-port-3"
- port: 8085
- - name: "hbase-port-4"
- port: 9090
- - name: "hbase-port-5"
- port: 16000
- - name: "hbase-port-6"
- port: 16010
- - name: "hbase-port-7"
- port: 16201
- selector:
- app: hbase
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiAaiService }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-service
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-service
- annotations:
- msb.onap.org/service-info: '[
- {
- "serviceName": "aai-cloudInfrastructure",
- "version": "v11",
- "url": "/aai/v11/cloud-infrastructure",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1"
- },
- {
- "serviceName": "aai-cloudInfrastructure-deprecated",
- "version": "v11",
- "url": "/aai/v11/cloud-infrastructure",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1",
- "path": "/aai/v11/cloud-infrastructure"
- },
- {
- "serviceName": "aai-business",
- "version": "v11",
- "url": "/aai/v11/business",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1"
- },
- {
- "serviceName": "aai-business-deprecated",
- "version": "v11",
- "url": "/aai/v11/business",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1",
- "path": "/aai/v11/business"
- },
- {
- "serviceName": "aai-search",
- "version": "v11",
- "url": "/aai/v11/search",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1"
- },
- {
- "serviceName": "aai-search-deprecated",
- "version": "v11",
- "url": "/aai/v11/search",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1",
- "path": "/aai/v11/search"
- },
- {
- "serviceName": "aai-actions",
- "version": "v11",
- "url": "/aai/v11/actions",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1"
- },
- {
- "serviceName": "aai-actions-deprecated",
- "version": "v11",
- "url": "/aai/v11/actions",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1",
- "path": "/aai/v11/actions"
- },
- {
- "serviceName": "aai-service-design-and-creation",
- "version": "v11",
- "url": "/aai/v11/service-design-and-creation",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1"
- },
- {
- "serviceName": "aai-service-design-and-creation-deprecated",
- "version": "v11",
- "url": "/aai/v11/service-design-and-creation",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1",
- "path": "/aai/v11/service-design-and-creation"
- },
- {
- "serviceName": "aai-network",
- "version": "v11",
- "url": "/aai/v11/network",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1"
- },
- {
- "serviceName": "aai-network-deprecated",
- "version": "v11",
- "url": "/aai/v11/network",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1",
- "path": "/aai/v11/network"
- },
- {
- "serviceName": "aai-externalSystem",
- "version": "v11",
- "url": "/aai/v11/external-system",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1"
- },
- {
- "serviceName": "aai-externalSystem-deprecated",
- "version": "v11",
- "url": "/aai/v11/external-system",
- "protocol": "REST",
- "port": "8443",
- "enable_ssl": true,
- "visualRange": "1",
- "path": "/aai/v11/external-system"
- }
- ]'
-spec:
- ports:
- - name: "aai-service-port-8443"
- port: 8443
- targetPort: 8443
- nodePort: {{ .Values.nodePortPrefix }}33
- - name: "aai-service-port-8080"
- port: 8080
- targetPort: 8080
- nodePort: {{ .Values.nodePortPrefix }}32
- type: NodePort
- selector:
- app: aai-service
- clusterIP: {{ .Values.aaiServiceClusterIp }}
-#{{ end }}
-#{{ if not .Values.disableAaiModelLoaderService }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: model-loader-service
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: model-loader-service
-spec:
- ports:
- - name: "model-loader-service-port-8443"
- port: 8443
- nodePort: {{ .Values.nodePortPrefix }}29
- - name: "model-loader-service-port-8080"
- port: 8080
- nodePort: {{ .Values.nodePortPrefix }}10
- type: NodePort
- selector:
- app: model-loader-service
-#{{ end }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: gremlin
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: gremlin
-spec:
- ports:
- - name: "gremlin-port"
- port: 8182
- selector:
- app: gremlin
- clusterIP: None
-#{{ if not .Values.disableAaiElasticsearch }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-elasticsearch
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-elasticsearch
-spec:
- ports:
- - name: "aai-elasticsearch-port"
- port: 9200
- selector:
- app: aai-elasticsearch
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiSearchDataService }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: search-data-service
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: search-data-service
-spec:
- ports:
- - name: "search-data-service-port-9509"
- port: 9509
- selector:
- app: search-data-service
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiAaiTraversal }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-traversal
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-traversal
-spec:
- ports:
- - name: "aai-traversal-port-8446"
- port: 8446
- - name: aai-traversal-port-debug
- port: 5005
- selector:
- app: aai-traversal
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiAaiResources }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: aai-resources
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: aai-resources
-spec:
- ports:
- - name: "aai-resources-port-8447"
- port: 8447
- - name: aai-resources-port-debug
- port: 5005
- selector:
- app: aai-resources
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAaiSparkyBe }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: sparky-be
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: sparky-be
-spec:
- ports:
- - name: "sparky-be-port-9517"
- port: 9517
- selector:
- app: sparky-be
- clusterIP: None
-#{{ end }}
diff --git a/kubernetes/aai/templates/configmap.yaml b/kubernetes/aai/templates/configmap.yaml
new file mode 100644
index 0000000000..78235bcd4f
--- /dev/null
+++ b/kubernetes/aai/templates/configmap.yaml
@@ -0,0 +1,35 @@
+# this is a shared resource for subcharts
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-filebeat
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-deployment-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/haproxy/*").AsConfig . | indent 2 }}
+---
+# this is a shared resource for subcharts
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-chef-config
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aai-data/chef-config/dev/.knife/solo.rb").AsConfig . | indent 2 }}
+---
+# this is a shared resource for subcharts
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: aai-resources-environments
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aai-data/environments/*").AsConfig . | indent 2 }}
+
diff --git a/kubernetes/aai/templates/data-router-configmap.yaml b/kubernetes/aai/templates/data-router-configmap.yaml
deleted file mode 100644
index 3de38a740a..0000000000
--- a/kubernetes/aai/templates/data-router-configmap.yaml
+++ /dev/null
@@ -1,59 +0,0 @@
-#{{ if not .Values.disableAaiDataRouter }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-prop-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/data-router.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v8-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v8.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v9-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v9.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v10-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v10.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-model-v11-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/model/aai_oxm_v11.xml").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-data-router-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/appconfig/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-data-router-dynamic-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/data-router/dynamic/routes/entity-event.route").AsConfig . | indent 2 }}
-{{ tpl (.Files.Glob "resources/config/data-router/dynamic/conf/entity-event-policy.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/data-router-deployment.yaml b/kubernetes/aai/templates/data-router-deployment.yaml
deleted file mode 100644
index 610ecb6e39..0000000000
--- a/kubernetes/aai/templates/data-router-deployment.yaml
+++ /dev/null
@@ -1,129 +0,0 @@
-#{{ if not .Values.disableAaiDataRouter }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-data-router
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.dataRouterReplicas }}
- selector:
- matchLabels:
- app: aai-data-router
- template:
- metadata:
- labels:
- app: aai-data-router
- name: aai-data-router
- spec:
- initContainers:
- - command:
- - /bin/sh
- - -c
- - |
- mkdir -p /logroot/data-router/logs
- chmod -R 777 /logroot/data-router/logs
- chown -R root:root /logroot
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- securityContext:
- privileged: true
- image: {{ .Values.image.es_bb }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: init-sysctl
- volumeMounts:
- - name: aai-data-router-logs
- mountPath: /logroot/
- containers:
- - name: aai-data-router
- image: "{{ .Values.image.dataRouterImage }}:{{ .Values.image.dataRouterVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: SERVICE_BEANS
- value: /opt/app/data-router/dynamic/conf
- - name: CONFIG_HOME
- value: /opt/app/data-router/config/
- - name: KEY_STORE_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- - name: DYNAMIC_ROUTES
- value: /opt/app/data-router/dynamic/routes
- - name: KEY_MANAGER_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- - name: PATH
- value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- - name: JAVA_HOME
- value: usr/lib/jvm/java-8-openjdk-amd64
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v8.xml
- subPath: aai_oxm_v8.xml
- name: aai-data-router-model-v8
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v9.xml
- subPath: aai_oxm_v9.xml
- name: aai-data-router-model-v9
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v10.xml
- subPath: aai_oxm_v10.xml
- name: aai-data-router-model-v10
- - mountPath: /opt/app/data-router/config/model/aai_oxm_v11.xml
- subPath: aai_oxm_v11.xml
- name: aai-data-router-model-v11
- - mountPath: /opt/app/data-router/config/auth
- name: aai-data-router-auth
- - mountPath: /opt/app/data-router/config/data-router.properties
- name: aai-data-router-properties
- subPath: data-router.properties
- - mountPath: /opt/app/data-router/dynamic/routes/entity-event.route
- subPath: entity-event.route
- name: aai-data-router-dynamic-route
- - mountPath: /opt/app/data-router/dynamic/conf/entity-event-policy.xml
- subPath: entity-event-policy.xml
- name: aai-data-router-dynamic-policy
- - mountPath: /logs/
- name: aai-data-router-logs
- ports:
- - containerPort: 9502
- readinessProbe:
- tcpSocket:
- port: 9502
- initialDelaySeconds: 5
- periodSeconds: 10
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-data-router-model-v8
- configMap:
- name: aai-data-router-model-v8-configmap
- - name: aai-data-router-model-v9
- configMap:
- name: aai-data-router-model-v9-configmap
- - name: aai-data-router-model-v10
- configMap:
- name: aai-data-router-model-v10-configmap
- - name: aai-data-router-model-v11
- configMap:
- name: aai-data-router-model-v11-configmap
- - name: aai-data-router-auth
- secret:
- secretName: aai-data-router-secret
- - name: aai-data-router-properties
- configMap:
- name: aai-data-router-prop-configmap
- - name: aai-data-router-dynamic-route
- configMap:
- name: aai-data-router-dynamic-configmap
- - name: aai-data-router-dynamic-policy
- configMap:
- name: aai-data-router-dynamic-configmap
- - name: aai-data-router-logs
- hostPath:
- path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/data-router/logs"
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/deployment.yaml b/kubernetes/aai/templates/deployment.yaml
new file mode 100644
index 0000000000..6216758749
--- /dev/null
+++ b/kubernetes/aai/templates/deployment.yaml
@@ -0,0 +1,86 @@
+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" . }}
+ name: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - aai-traversal
+ 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: "{{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /dev/log
+ name: aai-service-log
+ - mountPath: /usr/local/etc/haproxy/haproxy.cfg
+ subPath: haproxy.cfg
+ name: haproxy-cfg
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.internalPort2 }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort2 }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort2 }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ 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:
+ path: /etc/localtime
+ - name: aai-service-log
+ hostPath:
+ path: "/dev/log"
+ - name: haproxy-cfg
+ configMap:
+ name: aai-deployment-configmap
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/templates/elasticsearch-configmap.yaml b/kubernetes/aai/templates/elasticsearch-configmap.yaml
deleted file mode 100644
index 56b02529bc..0000000000
--- a/kubernetes/aai/templates/elasticsearch-configmap.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-#{{ if not .Values.disableAaiElasticsearch }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-elasticsearch-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/elasticsearch/config/elasticsearch.yml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/elasticsearch-deployment.yaml b/kubernetes/aai/templates/elasticsearch-deployment.yaml
deleted file mode 100644
index 1babb05897..0000000000
--- a/kubernetes/aai/templates/elasticsearch-deployment.yaml
+++ /dev/null
@@ -1,73 +0,0 @@
-#{{ if not .Values.disableAaiElasticsearch }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-elasticsearch
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.elasticsearchReplicas }}
- selector:
- matchLabels:
- app: aai-elasticsearch
- template:
- metadata:
- labels:
- app: aai-elasticsearch
- name: aai-elasticsearch
- spec:
- initContainers:
- - command:
- - /bin/sh
- - -c
- - |
- mkdir -p /logroot/elasticsearch/es-data
- chmod -R 777 /logroot/elasticsearch/es-data
- chown -R root:root /logroot
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- securityContext:
- privileged: true
- image: {{ .Values.image.es_bb }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: init-sysctl
- volumeMounts:
- - name: elasticsearch-data
- mountPath: /logroot/
- hostname: aai-elasticsearch
- containers:
- - name: aai-elasticsearch
- image: "{{ .Values.image.elasticsearchImage }}:{{ .Values.image.elasticsearchVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- ports:
- - containerPort: 9200
- readinessProbe:
- tcpSocket:
- port: 9200
- initialDelaySeconds: 5
- periodSeconds: 10
- volumeMounts:
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- - name: elasticsearch-config
- subPath: elasticsearch.yml
- mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
- - name: elasticsearch-data
- mountPath: /usr/share/elasticsearch/data
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: elasticsearch-config
- configMap:
- name: aai-elasticsearch-configmap
- - name: elasticsearch-data
- hostPath:
- path: "/dockerdata-nfs/{{ .Values.nsPrefix }}/aai/elasticsearch/data"
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/hbase-deployment.yaml b/kubernetes/aai/templates/hbase-deployment.yaml
deleted file mode 100644
index f8ef61353c..0000000000
--- a/kubernetes/aai/templates/hbase-deployment.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-#{{ if not .Values.disableAaiHbase }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-hbase
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.hbaseReplicas }}
- selector:
- matchLabels:
- app: hbase
- template:
- metadata:
- labels:
- app: hbase
- name: aai-hbase
- spec:
- hostname: hbase
- containers:
- - name: hbase
- image: "{{ .Values.image.aaiHbaseImage }}:{{ .Values.image.aaiHbaseVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- ports:
- - containerPort: 2181
- - containerPort: 8080
- - containerPort: 8085
- - containerPort: 9090
- - containerPort: 16000
- - containerPort: 16010
- - containerPort: 16201
- readinessProbe:
- tcpSocket:
- port: 2181
- initialDelaySeconds: 5
- periodSeconds: 10
- volumeMounts:
- - name: hbase-data
- mountPath: /tmp
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- volumes:
- - name: hbase-data
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/aai/hbase
- - name: localtime
- hostPath:
- path: /etc/localtime
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/modelloader-deployment-configmap.yaml b/kubernetes/aai/templates/modelloader-deployment-configmap.yaml
deleted file mode 100644
index 9337f551b8..0000000000
--- a/kubernetes/aai/templates/modelloader-deployment-configmap.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-#{{ if not .Values.disableAaiModelLoaderService }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-model-loader-prop-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/model-loader/appconfig/model-loader.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-model-loader-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/model-loader/appconfig/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-model-loader-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/model-loader/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/modelloader-deployment.yaml b/kubernetes/aai/templates/modelloader-deployment.yaml
deleted file mode 100644
index e11df7c878..0000000000
--- a/kubernetes/aai/templates/modelloader-deployment.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-#{{ if not .Values.disableAaiModelLoaderService }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-model-loader-service
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.modelLoaderReplicas }}
- selector:
- matchLabels:
- app: model-loader-service
- template:
- metadata:
- labels:
- app: model-loader-service
- name: aai-model-loader-service
- spec:
- containers:
- - name: model-loader-service
- image: "{{ .Values.image.modelLoaderImage }}:{{ .Values.image.modelLoaderVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CONFIG_HOME
- value: /opt/app/model-loader/config/
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/model-loader/config/model-loader.properties
- subPath: model-loader.properties
- name: aai-model-loader-prop-config
- - mountPath: /opt/app/model-loader/config/auth/
- name: aai-model-loader-auth-config
- - mountPath: /var/log/onap
- name: aai-model-loader-logs
- - mountPath: /opt/app/model-loader/bundleconfig/etc/logback.xml
- name: aai-model-loader-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 8080
- - containerPort: 8443
- - name: filebeat-onap-aai-model-loader
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-model-loader-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-model-loader-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-model-loader-prop-config
- configMap:
- name: aai-model-loader-prop-configmap
- - name: aai-model-loader-auth-config
- secret:
- secretName: aai-model-loader-secret
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-model-loader-logs
- emptyDir: {}
- - name: aai-model-loader-filebeat
- emptyDir: {}
- - name: aai-model-loader-log-conf
- configMap:
- name: aai-model-loader-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/search-data-service-configmap.yaml b/kubernetes/aai/templates/search-data-service-configmap.yaml
deleted file mode 100644
index 43d9da02e2..0000000000
--- a/kubernetes/aai/templates/search-data-service-configmap.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-#{{ if not .Values.disableAaiSearchDataService }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-search-data-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-search-data-keystone-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/auth/tomcat_keystore").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-search-policy-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/search-data-service/appconfig/auth/search_policy.json").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-search-data-service-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/search-data-service/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/search-data-service-deployment.yaml b/kubernetes/aai/templates/search-data-service-deployment.yaml
deleted file mode 100644
index fc5a0d2fe2..0000000000
--- a/kubernetes/aai/templates/search-data-service-deployment.yaml
+++ /dev/null
@@ -1,97 +0,0 @@
-#{{ if not .Values.disableAaiSearchDataService }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-search-data-service
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.searchDataServiceReplicas }}
- selector:
- matchLabels:
- app: search-data-service
- template:
- metadata:
- labels:
- app: search-data-service
- name: aai-search-data-service
- spec:
- containers:
- - name: search-data-service
- image: "{{ .Values.image.searchDataImage }}:{{ .Values.image.searchDataVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CONFIG_HOME
- value: /opt/app/search-data-service/config/
- - name: KEY_STORE_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- - name: KEY_MANAGER_PASSWORD
- value: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/search-data-service/config/filter-config.json
- subPath: filter-config.json
- name: aai-search-data-service-config
- - mountPath: /opt/app/search-data-service/config/elastic-search.properties
- subPath: elastic-search.properties
- name: aai-search-data-service-config
- - mountPath: /opt/app/search-data-service/config/analysis-config.json
- subPath: filter-config.json
- name: aai-search-data-service-config
- - mountPath: /opt/app/search-data-service/config/auth/tomcat_keystore
- subPath: tomcat_keystore
- name: aai-search-data-service-auth-config
- - mountPath: /opt/app/search-data-service/config/auth/search_policy.json
- subPath: search_policy.json
- name: aai-search-data-search-policy-config
- - mountPath: /var/log/onap
- name: aai-search-data-service-logs
- - mountPath: /opt/app/search-data-service/bundleconfig/etc/logback.xml
- name: aai-search-data-service-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 9509
- readinessProbe:
- tcpSocket:
- port: 9509
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-search
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-search-data-service-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-search-data-service-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-search-data-service-config
- configMap:
- name: aai-search-data-configmap
- - name: aai-search-data-service-auth-config
- secret:
- secretName: aai-search-data-keystone-secret
- - name: aai-search-data-search-policy-config
- configMap:
- name: aai-search-policy-configmap
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-search-data-service-logs
- emptyDir: {}
- - name: aai-search-data-service-filebeat
- emptyDir: {}
- - name: aai-search-data-service-log-conf
- configMap:
- name: aai-search-data-service-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/templates/service.yaml b/kubernetes/aai/templates/service.yaml
new file mode 100644
index 0000000000..d21ac7ed87
--- /dev/null
+++ b/kubernetes/aai/templates/service.yaml
@@ -0,0 +1,33 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.name" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - name: {{ .Values.service.name }}
+ port: {{ .Values.service.internalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ - name: {{ .Values.service.name }}2
+ port: {{ .Values.service.internalPort2 }}
+ targetPort: {{ .Values.service.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPort2 }}
+ targetPort: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.name }}2
+ {{- end}}
+ type: {{ .Values.service.type }}
+ selector:
+ app: {{ include "common.name" . }}
+ clusterIP: {{ .Values.config.aaiServiceClusterIp }}
diff --git a/kubernetes/aai/templates/sparky-be-deployment-configmap.yaml b/kubernetes/aai/templates/sparky-be-deployment-configmap.yaml
deleted file mode 100644
index 3a0c7fb556..0000000000
--- a/kubernetes/aai/templates/sparky-be-deployment-configmap.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-#{{ if not .Values.disableAaiSparkyBe }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-model-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/model/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-portal-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/portal/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: aai-sparky-be-secret
- namespace: {{ .Values.nsPrefix }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/config/sparky-be/appconfig/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: aai-sparky-be-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/sparky-be/logback.xml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/aai/templates/sparky-be-deployment.yaml b/kubernetes/aai/templates/sparky-be-deployment.yaml
deleted file mode 100644
index e73c7b393b..0000000000
--- a/kubernetes/aai/templates/sparky-be-deployment.yaml
+++ /dev/null
@@ -1,109 +0,0 @@
-#{{ if not .Values.disableAaiSparkyBe }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: aai-sparky-be
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.sparkyReplicas }}
- selector:
- matchLabels:
- app: sparky-be
- template:
- metadata:
- labels:
- app: sparky-be
- name: aai-sparky-be
- spec:
- containers:
- - name: sparky-be
- image: "{{ .Values.image.sparkyBeImage }}:{{ .Values.image.sparkyBeVersion }}"
- imagePullPolicy: {{ .Values.pullPolicy }}
- env:
- - name: CONFIG_HOME
- value: /opt/app/sparky/config/
- - name: KEY_MANAGER_PASSWORD
- value: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
- - name: KEY_STORE_PASSWORD
- value: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/app/sparky/config/auth/
- name: aai-sparky-be-auth-config
- - mountPath: /opt/app/sparky/config/synchronizer.properties
- subPath: synchronizer.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/suggestive-search.properties
- subPath: suggestive-search.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/search-service.properties
- subPath: search-service.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/roles.config
- subPath: roles.config
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/elasticsearch.properties
- subPath: elasticsearch.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/aai.properties
- subPath: aai.properties
- name: aai-sparky-be-config
- - mountPath: /opt/app/sparky/config/model/
- name: aai-sparky-be-model-config
- - mountPath: /opt/app/sparky/config/portal/
- name: aai-sparky-be-portal-config
- - mountPath: /var/log/onap
- name: aai-sparky-be-logs
- - mountPath: /opt/app/sparky/bundleconfig/etc/logback.xml
- name: aai-sparky-be-log-conf
- subPath: logback.xml
- ports:
- - containerPort: 9517
- readinessProbe:
- tcpSocket:
- port: 9517
- initialDelaySeconds: 5
- periodSeconds: 10
- - name: filebeat-onap-aai-sparky
- image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- subPath: filebeat.yml
- name: filebeat-conf
- - mountPath: /var/log/onap
- name: aai-sparky-be-logs
- - mountPath: /usr/share/filebeat/data
- name: aai-sparky-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aai-sparky-be-config
- configMap:
- name: aai-sparky-be-configmap
- - name: aai-sparky-be-model-config
- configMap:
- name: aai-sparky-be-model-configmap
- - name: aai-sparky-be-portal-config
- configMap:
- name: aai-sparky-be-portal-configmap
- - name: aai-sparky-be-auth-config
- secret:
- secretName: aai-sparky-be-secret
- - name: filebeat-conf
- configMap:
- name: aai-filebeat-configmap
- - name: aai-sparky-be-logs
- emptyDir: {}
- - name: aai-sparky-filebeat
- emptyDir: {}
- - name: aai-sparky-be-log-conf
- configMap:
- name: aai-sparky-be-log-configmap
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/aai/values.yaml b/kubernetes/aai/values.yaml
index 4cbd327dba..b06456800a 100644
--- a/kubernetes/aai/values.yaml
+++ b/kubernetes/aai/values.yaml
@@ -1,39 +1,95 @@
-nsPrefix: onap
+# 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.
+
+# Default values for aai.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repository: nexus3.onap.org:10001
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ dockerhubRepository: docker.io
+ busyboxImage: busybox
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+ restartPolicy: Always
+
+# application image
+dockerhubRepository: registry.hub.docker.com
+image: aaionap/haproxy:1.1.0
pullPolicy: Always
-nodePortPrefix: 302
-
-# POLICY hotfix - Note this must be temporary
-# See https://jira.onap.org/browse/POLICY-510
-aaiServiceClusterIp: 10.43.255.254
-aaiServiceReplicas: 1
-aaiResourceReplicas: 1
-aaiTraversalReplicas: 1
-dataRouterReplicas: 1
-elasticsearchReplicas: 1
-hbaseReplicas: 1
-modelLoaderReplicas: 1
-searchDataServiceReplicas: 1
-sparkyReplicas: 1
-image:
- readiness: oomk8s/readiness-check:1.1.0
- aaiProxy: aaionap/haproxy
- aaiProxyVersion: 1.1.0
- aaiHbaseImage: aaionap/hbase
- aaiHbaseVersion: 1.2.0
- modelLoaderImage: nexus3.onap.org:10001/onap/model-loader
- modelLoaderVersion: v1.1.0
- aaiResourcesImage: nexus3.onap.org:10001/openecomp/aai-resources
- aaiResourcesVersion: v1.1.0
- aaiTraversalImage: nexus3.onap.org:10001/openecomp/aai-traversal
- aaiTraversalVersion: v1.1.0
- dataRouterImage: nexus3.onap.org:10001/onap/data-router
- dataRouterVersion: v1.1.0
- elasticsearchImage: elasticsearch
- elasticsearchVersion: 2.4.1
- searchDataImage: nexus3.onap.org:10001/onap/search-data-service
- searchDataVersion: v1.1.0
- sparkyBeImage: nexus3.onap.org:10001/onap/sparky-be
- sparkyBeVersion: v1.1.0
- gremlinServerImage: aaionap/gremlin-server
- filebeat: docker.elastic.co/beats/filebeat:5.5.0
- es_bb: busybox
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ # POLICY hotfix - Note this must be temporary
+ # See https://jira.onap.org/browse/POLICY-510
+ aaiServiceClusterIp:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: aai
+ externalPort: 8080
+ internalPort: 8080
+ nodePort: 32
+ externalPort2: 8443
+ internalPort2: 8443
+ nodePort2: 33
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/appc/.helmignore b/kubernetes/appc/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/appc/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/appc/Chart.yaml b/kubernetes/appc/Chart.yaml
index da4f1b3edc..ca35cd16c4 100644
--- a/kubernetes/appc/Chart.yaml
+++ b/kubernetes/appc/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: Application Controller
name: appc
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/appc/requirements.yaml b/kubernetes/appc/requirements.yaml
new file mode 100644
index 0000000000..1ca4de1815
--- /dev/null
+++ b/kubernetes/appc/requirements.yaml
@@ -0,0 +1,10 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
+ - name: mysql
+ version: ~2.0.0
+ repository: '@local'
+ - name: dgbuilder
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/bin/installAppcDb.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh
index 526d6f94ae..f260f3d84a 100755
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/bin/installAppcDb.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh
@@ -20,7 +20,7 @@
SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
APPC_HOME=${APPC_HOME:-/opt/openecomp/appc}
-MYSQL_PASSWD=${MYSQL_PASSWD:-openECOMP1.0}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
APPC_DB_USER=${APPC_DB_USER:-appcctl}
APPC_DB_PASSWD=${APPC_DB_PASSWD:-appcctl}
@@ -28,7 +28,7 @@ APPC_DB_DATABASE=${SDN_DB_DATABASE:-appcctl}
# Create tablespace and user account
-mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} mysql <<-END
+mysql -h {{.Values.mysql.service.name}}.{{.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}';
@@ -39,16 +39,16 @@ END
if [ -f ${APPC_HOME}/data/appcctl.dump ]
then
- mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} appcctl < ${APPC_HOME}/data/appcctl.dump
+ mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} appcctl < ${APPC_HOME}/data/appcctl.dump
fi
if [ -f ${APPC_HOME}/data/sdnctl.dump ]
then
- mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sdnctl.dump
+ mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sdnctl.dump
fi
if [ -f ${APPC_HOME}/data/sqlData.dump ]
then
- mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sqlData.dump
+ mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sqlData.dump
fi
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
index ba4ff52147..0b9e63127b 100755
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/bin/startODL.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/bash -x
###
# ============LICENSE_START=======================================================
@@ -26,12 +26,39 @@
# if not already installed, and starts the APPC Docker Container
#
+function enable_odl_cluster(){
+ if [ -z $APPC_REPLICAS ]; then
+ echo "APPC_REPLICAS is not configured in Env field"
+ exit
+ fi
+
+ echo "Installing Opendaylight cluster features"
+ ${ODL_HOME}/bin/client -u karaf feature:install odl-mdsal-clustering
+ ${ODL_HOME}/bin/client -u karaf feature:install odl-jolokia
+
+ echo "Update cluster information statically"
+ hm=$(hostname)
+ echo "Get current Hostname ${hm}"
+
+ node=($(echo ${hm} | sed 's/-[0-9]*$//g'))
+ node_index=($(echo ${hm} | awk -F"-" '{print $NF}'))
+ node_list="${node}-0.{{ .Values.service.name }}-cluster.{{.Release.Namespace}}";
+
+ for ((i=1;i<${APPC_REPLICAS};i++));
+ do
+ node_list="${node_list} ${node}-$i.{{ .Values.service.name }}-cluster.{{.Release.Namespace}}"
+ done
+
+ /opt/opendaylight/current/bin/configure_cluster.sh $((node_index+1)) ${node_list}
+}
+
ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
-APPC_HOME=${APPC_HOME:-/opt/openecomp/appc}
+APPC_HOME=${APPC_HOME:-/opt/onap/appc}
SLEEP_TIME=${SLEEP_TIME:-120}
-MYSQL_PASSWD=${MYSQL_PASSWD:-openECOMP1.0}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
#
# Adding the DMAAP_TOPIC_ENV variable into APPC-ASDC-LISTENER properties
@@ -55,7 +82,7 @@ echo "" >> $APPC_HOME/data/properties/appc.properties
# Wait for database to init properly
#
echo "Waiting for mysql"
-until mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} mysql &> /dev/null
+until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null
do
printf "."
sleep 1
@@ -97,6 +124,8 @@ then
${APPC_HOME}/svclogic/bin/install-converted-dgs.sh
fi
+ if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi
+
echo "Restarting OpenDaylight"
${ODL_HOME}/bin/stop
echo "Installed at `date`" > ${SDNC_HOME}/.installed
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/aaiclient.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties
index 9e29744bb3..b2f7102d8c 100644
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/aaiclient.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties
@@ -39,7 +39,7 @@ org.onap.ccsdk.sli.adaptors.aai.application=openECOMP
#
# Configuration file for A&AI Client
#
-org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-service.{{.Values.nsPrefix}}:8443
+org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-service.{{.Release.Namespace}}:8443
# query
@@ -133,8 +133,8 @@ org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v11/service-design-and
# UBB Notify
org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v11/actions/notify
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai-service.{{.Values.nsPrefix}}:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=https://aai-service.{{.Values.nsPrefix}}:8443/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai-service.{{.Release.Namespace}}:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=https://aai-service.{{.Release.Namespace}}:8443/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
# Service
org.onap.ccsdk.sli.adaptors.aai.path.service=/aai/v11/service-design-and-creation/services/service/{service-id}
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/appc.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
index de577c43cb..f4ee6fcfc7 100644
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/appc.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
@@ -22,7 +22,7 @@
### ###
### Properties for demo ###
### ###
-appc.demo.poolMembers=dmaap.{{.Values.nsPrefix}}:3904
+appc.demo.poolMembers=dmaap.{{.Release.Namespace}}:3904
appc.demo.topic.read=APPC-CL
appc.demo.topic.write=APPC-CL
appc.demo.client.name=appcDemoEventListener
@@ -33,7 +33,7 @@ appc.demo.threads.poolsize.max=2
appc.demo.provider.user=admin
appc.demo.provider.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
appc.demo.provider.url=http://localhost:8181/restconf/operations/appc-provider
-appc.provider.vfodl.url=http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@appc-sdnhost.{{.Values.nsPrefix}}:8282/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:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@appc-sdnhost.{{.Release.Namespace}}:8282/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
@@ -41,11 +41,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.openecomp.appc.db.url.appcctl=jdbc:mysql://appc-dbhost.{{.Values.nsPrefix}}:3306/appcctl
+org.openecomp.appc.db.url.appcctl=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/appcctl
org.openecomp.appc.db.user.appcctl=appcctl
org.openecomp.appc.db.pass.appcctl=appcctl
-org.openecomp.appc.db.url.sdnctl=jdbc:mysql://appc-dbhost.{{.Values.nsPrefix}}:3306/sdnctl
+org.openecomp.appc.db.url.sdnctl=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
org.openecomp.appc.db.user.sdnctl=sdnctl
org.openecomp.appc.db.pass.sdnctl=gamma
@@ -74,11 +74,11 @@ provider1.tenant1.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
# Property below is valid in appc-command-executor-core, appc-license-manager-core, appc-lifecycle-management-core,
# appc-request-handler-core, appc-workflow-management-core (all from the appc-dispatcher package).
-dmaap.poolMembers=dmaap.{{.Values.nsPrefix}}:3904
+dmaap.poolMembers=dmaap.{{.Release.Namespace}}:3904
# appc-event-listener-bundle properties (only defined in src/test of default.properties)
-appc.LCM.poolMembers=dmaap.{{.Values.nsPrefix}}:3904
+appc.LCM.poolMembers=dmaap.{{.Release.Namespace}}:3904
appc.LCM.topic.read=APPC-LCM-READ
appc.LCM.topic.write=APPC-LCM-WRITE
appc.LCM.client.name=APPC-EVENT-LISTENER-TEST
@@ -87,8 +87,8 @@ appc.LCM.provider.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
appc.LCM.provider.url=http://localhost:8181/restconf/operations/appc-provider-lcm
# properties from appc-netconf-adapter-bundle, appc-dg-common, appc-dmaap-adapter-bundle
-poolMembers=dmaap.{{.Values.nsPrefix}}:3904
-event.pool.members=dmaap.{{.Values.nsPrefix}}:3904
+poolMembers=dmaap.{{.Release.Namespace}}:3904
+event.pool.members=dmaap.{{.Release.Namespace}}:3904
restconf.user=admin
restconf.pass=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
@@ -106,7 +106,7 @@ test.url=http://api.appc.local/vm/9999999/test/99999999-9999-9999-9999-999999999
org.openecomp.appc.iaas.skiphypervisorcheck=true
# Properties from default.properties in the src/test and src/main paths of appc-asdc-listener-bundle
-appc.sdc.host=sdc-be.{{.Values.nsPrefix}}:8443
+appc.sdc.host=sdc-be.{{.Release.Namespace}}:8443
appc.sdc.env=APPC-ASDC-ENV
appc.sdc.user=test
appc.sdc.pass=test
@@ -118,12 +118,12 @@ appc.sdc.provider.url=http://localhost:8181/restconf/operations/AsdcMessage:conf
DCAE.dmaap.event.topic.write=EventSenderTest
DCAE.dmaap.appc.username=test
DCAE.dmaap.appc.password=test
-DCAE.dmaap.event.pool.members=dmaap.{{.Values.nsPrefix}}:3904
+DCAE.dmaap.event.pool.members=dmaap.{{.Release.Namespace}}:3904
#OAM Listener
appc.OAM.disabled=true
appc.OAM.provider.url=http://localhost:8181/restconf/operations/appc-oam
-appc.OAM.poolMembers=dmaap.{{.Values.nsPrefix}}:3904
+appc.OAM.poolMembers=dmaap.{{.Release.Namespace}}:3904
appc.OAM.service=ueb
appc.OAM.topic.read=testOAM
appc.OAM.topic.write=testOAM
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/dblib.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties
index 888ee9f0d9..17b7ffdfb0 100644
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/dblib.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties
@@ -22,7 +22,7 @@
org.onap.ccsdk.sli.dbtype=jdbc
org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://appc-dbhost.{{.Values.nsPrefix}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
org.onap.ccsdk.sli.jdbc.database=sdnctl
org.onap.ccsdk.sli.jdbc.user=sdnctl
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties
index ea38616810..fd62b08b5f 100644
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/data/properties/svclogic.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties
@@ -20,7 +20,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://appc-dbhost.{{.Values.nsPrefix}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
org.onap.ccsdk.sli.jdbc.database=sdnctl
org.onap.ccsdk.sli.jdbc.user=sdnctl
org.onap.ccsdk.sli.jdbc.password=gamma
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/svclogic/bin/showActiveGraphs.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh
index 5409d9e552..03ad425242 100755
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/svclogic/bin/showActiveGraphs.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh
@@ -22,7 +22,7 @@
MYSQL_USER=${MYSQL_USER:-sdnctl}
MYSQL_PWD=${MYSQL_PWD:-gamma}
MYSQL_DB=${MYSQL_DB:-sdnctl}
-MYSQL_HOST=${MYSQL_HOST:-appc-dbhost.{{.Values.nsPrefix}}}
+MYSQL_HOST=${MYSQL_HOST:-{{.Values.mysql.service.name}}.{{.Release.Namespace}}}
mysql --user=${MYSQL_USER} --password=${MYSQL_PWD} --host=${MYSQL_HOST} ${MYSQL_DB} <<-END
SELECT module, rpc, version, mode from SVC_LOGIC where active='Y';
diff --git a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/svclogic/config/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties
index 2f67a5822f..bd581e0241 100644
--- a/kubernetes/appc/resources/config/appc/opt/openecomp/appc/svclogic/config/svclogic.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties
@@ -20,7 +20,7 @@
###
org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://appc-sdnctldb01.{{.Values.nsPrefix}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
org.onap.ccsdk.sli.jdbc.database = sdnctl
org.onap.ccsdk.sli.jdbc.user = sdnctl
org.onap.ccsdk.sli.jdbc.password = gamma
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh
index 75680bd942..25560fbef4 100755
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/installSdncDb.sh
@@ -22,7 +22,7 @@
###
SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
-MYSQL_PASSWD=${MYSQL_PASSWD:-openECOMP1.0}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
SDNC_DB_USER=${SDNC_DB_USER:-sdnctl}
SDNC_DB_PASSWD=${SDNC_DB_PASSWD:-gamma}
@@ -30,7 +30,7 @@ SDNC_DB_DATABASE=${SDN_DB_DATABASE:-sdnctl}
# Create tablespace and user account
-mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} mysql <<-END
+mysql -h {{.Values.mysql.service.name}}.{{.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}';
@@ -41,6 +41,6 @@ END
if [ -f ${SDNC_HOME}/data/odlsli.dump ]
then
-mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/odlsli.dump
+mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/odlsli.dump
fi
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh
index 87c95ee3b3..a84893c00f 100755
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/bin/startODL.sh
@@ -28,13 +28,13 @@ 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:-openECOMP1.0}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
#
# Wait for database
#
echo "Waiting for mysql"
-until mysql -h appc-dbhost.{{.Values.nsPrefix}} -u root -p${MYSQL_PASSWD} mysql &> /dev/null
+until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null
do
printf "."
sleep 1
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties
index 9e29744bb3..b2f7102d8c 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/aaiclient.properties
@@ -39,7 +39,7 @@ org.onap.ccsdk.sli.adaptors.aai.application=openECOMP
#
# Configuration file for A&AI Client
#
-org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-service.{{.Values.nsPrefix}}:8443
+org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-service.{{.Release.Namespace}}:8443
# query
@@ -133,8 +133,8 @@ org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v11/service-design-and
# UBB Notify
org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v11/actions/notify
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai-service.{{.Values.nsPrefix}}:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=https://aai-service.{{.Values.nsPrefix}}:8443/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai-service.{{.Release.Namespace}}:8443/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=https://aai-service.{{.Release.Namespace}}:8443/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
# Service
org.onap.ccsdk.sli.adaptors.aai.path.service=/aai/v11/service-design-and-creation/services/service/{service-id}
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties
index 6107a80416..f603977013 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/dblib.properties
@@ -23,7 +23,7 @@
org.onap.ccsdk.sli.dbtype=jdbc
org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://appc-dbhost.{{.Values.nsPrefix}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
org.onap.ccsdk.sli.jdbc.database=sdnctl
org.onap.ccsdk.sli.jdbc.user=sdnctl
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties
index 2954bb00a5..908d60a089 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/data/properties/svclogic.properties
@@ -21,7 +21,7 @@
org.onap.ccsdk.sli.dbtype = dblib
#Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://appc-dbhost.{{.Values.nsPrefix}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
org.onap.ccsdk.sli.jdbc.database=sdnctl
org.onap.ccsdk.sli.jdbc.user=sdnctl
org.onap.ccsdk.sli.jdbc.password=gamma
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh
index ceeea5914f..a568dfdc20 100755
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh
+++ b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh
@@ -22,7 +22,7 @@
MYSQL_USER=${MYSQL_USER:-sdnctl}
MYSQL_PWD=${MYSQL_PWD:-gamma}
MYSQL_DB=${MYSQL_DB:-sdnctl}
-MYSQL_HOST=${MYSQL_HOST:-appc-dbhost.{{.Values.nsPrefix}}}
+MYSQL_HOST=${MYSQL_HOST:-{{.Values.mysql.service.name}}.{{.Release.Namespace}}}
mysql --user=${MYSQL_USER} --password=${MYSQL_PWD} --host=${MYSQL_HOST} ${MYSQL_DB} <<-END
SELECT module, rpc, version, mode from SVC_LOGIC where active='Y';
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties
index bcf321c947..44ae32f9cc 100644
--- a/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties
+++ b/kubernetes/appc/resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties
@@ -20,7 +20,7 @@
###
org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://appc-sdnctldb01.{{.Values.nsPrefix}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
org.onap.ccsdk.sli.jdbc.database = sdnctl
org.onap.ccsdk.sli.jdbc.user = sdnctl
org.onap.ccsdk.sli.jdbc.password = gamma
diff --git a/kubernetes/appc/resources/config/log/filebeat/log4j/filebeat.yml b/kubernetes/appc/resources/config/log/filebeat/log4j/filebeat.yml
index 2cd63e1d98..49d818a807 100644
--- a/kubernetes/appc/resources/config/log/filebeat/log4j/filebeat.yml
+++ b/kubernetes/appc/resources/config/log/filebeat/log4j/filebeat.yml
@@ -29,7 +29,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/appc/templates/NOTES.txt b/kubernetes/appc/templates/NOTES.txt
new file mode 100644
index 0000000000..24371d08ab
--- /dev/null
+++ b/kubernetes/appc/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/appc/templates/all-services.yaml b/kubernetes/appc/templates/all-services.yaml
deleted file mode 100644
index 181cab9590..0000000000
--- a/kubernetes/appc/templates/all-services.yaml
+++ /dev/null
@@ -1,85 +0,0 @@
-#{{ if not .Values.disableAppcAppcDbhost }}
-apiVersion: v1
-kind: Service
-metadata:
- name: appc-dbhost
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: appc-dbhost
-spec:
- ports:
- - name: "appc-dbhost-port"
- port: 3306
- selector:
- app: appc-dbhost
- clusterIP: None
----
-apiVersion: v1
-kind: Service
-metadata:
- name: appc-sdnctldb01
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: appc-dbhost
-spec:
- ports:
- - port: 3306
- selector:
- app: appc-dbhost
- clusterIP: None
----
-apiVersion: v1
-kind: Service
-metadata:
- name: appc-sdnctldb02
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: appc-dbhost
-spec:
- ports:
- - port: 3306
- selector:
- app: appc-dbhost
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableAppcAppc }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: appc-sdnhost
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: appc
-spec:
- ports:
- - name: "appc-port-8282"
- port: 8282
- targetPort: 8181
- nodePort: {{ .Values.nodePortPrefix }}30
- - name: "appc-port-1830"
- port: 1830
- nodePort: {{ .Values.nodePortPrefix }}31
- type: NodePort
- selector:
- app: appc
-#{{ end }}
-#{{ if not .Values.disableAppcAppcDgbuilder }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: appc-dgbuilder
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: appc-dgbuilder
-spec:
- ports:
- - name: "appc-dgbuilder-port"
- port: 3000
- targetPort: 3100
- nodePort: {{ .Values.nodePortPrefix }}28
- type: NodePort
- selector:
- app: appc-dgbuilder
-#{{ end }}
diff --git a/kubernetes/appc/templates/appc-configmap.yaml b/kubernetes/appc/templates/appc-configmap.yaml
deleted file mode 100644
index 8d00842183..0000000000
--- a/kubernetes/appc/templates/appc-configmap.yaml
+++ /dev/null
@@ -1,73 +0,0 @@
-#{{ if not .Values.disableAppcAppc }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-openecomp-appc-data-properties-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/openecomp/appc/data/properties/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-openecomp-appc-svclogic-config-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/openecomp/appc/svclogic/config/svclogic.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-openecomp-appc-svclogic-bin-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/openecomp/appc/svclogic/bin/showActiveGraphs.sh").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-openecomp-appc-bin-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/openecomp/appc/bin/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-onap-sdnc-data-properties-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/data/properties/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-onap-sdnc-svclogic-config-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/svclogic/config/svclogic.properties").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-onap-sdnc-svclogic-bin-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-onap-sdnc-bin-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/bin/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-scripts-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/scripts/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/appc/templates/appc-deployment.yaml b/kubernetes/appc/templates/appc-deployment.yaml
deleted file mode 100644
index 78bef5e22d..0000000000
--- a/kubernetes/appc/templates/appc-deployment.yaml
+++ /dev/null
@@ -1,167 +0,0 @@
-#{{ if not .Values.disableAppcAppc }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: appc
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.appcReplicas }}
- selector:
- matchLabels:
- app: appc
- template:
- metadata:
- labels:
- app: appc
- name: appc
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - appc-db-container
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: appc-readiness
- containers:
- - command:
- - /opt/openecomp/appc/bin/startODL.sh
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- - name: SDNC_CONFIG_DIR
- value: /opt/openecomp/appc/data/properties
- - name: APPC_CONFIG_DIR
- value: /opt/openecomp/appc/data/properties
- - name: DMAAP_TOPIC_ENV
- value: SUCCESS
- - name: MYSQL_HOST
- value: appc-dbhost
- image: {{ .Values.image.appc }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: appc-controller-container
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /opt/openecomp/appc/data/properties/dblib.properties
- name: appc-openecomp-appc-data-properties
- subPath: dblib.properties
- - mountPath: /opt/openecomp/appc/data/properties/svclogic.properties
- name: appc-openecomp-appc-data-properties
- subPath: svclogic.properties
- - mountPath: /opt/openecomp/appc/data/properties/appc.properties
- name: appc-openecomp-appc-data-properties
- subPath: appc.properties
- - mountPath: /opt/openecomp/appc/data/properties/aaiclient.properties
- name: appc-openecomp-appc-data-properties
- subPath: aaiclient.properties
- - mountPath: /opt/openecomp/appc/svclogic/config/svclogic.properties
- name: appc-openecomp-appc-svclogic-config
- subPath: svclogic.properties
- - mountPath: /opt/openecomp/appc/svclogic/bin/showActiveGraphs.sh
- name: appc-openecomp-appc-svclogic-bin
- subPath: showActiveGraphs.sh
- - mountPath: /opt/openecomp/appc/bin/startODL.sh
- name: appc-openecomp-appc-bin
- subPath: startODL.sh
- - mountPath: /opt/openecomp/appc/bin/installAppcDb.sh
- name: appc-openecomp-appc-bin
- subPath: installAppcDb.sh
- - mountPath: /opt/onap/sdnc/data/properties/dblib.properties
- name: appc-onap-sdnc-data-properties
- subPath: dblib.properties
- - mountPath: /opt/onap/sdnc/data/properties/svclogic.properties
- name: appc-onap-sdnc-data-properties
- subPath: svclogic.properties
- - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
- name: appc-onap-sdnc-data-properties
- subPath: aaiclient.properties
- - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
- name: appc-onap-sdnc-svclogic-config
- subPath: svclogic.properties
- - mountPath: /opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh
- name: appc-onap-sdnc-svclogic-bin
- subPath: showActiveGraphs.sh
- - mountPath: /opt/onap/sdnc/bin/startODL.sh
- name: appc-onap-sdnc-bin
- subPath: startODL.sh
- - mountPath: /opt/onap/sdnc/bin/installSdncDb.sh
- name: appc-onap-sdnc-bin
- subPath: installSdncDb.sh
- - mountPath: /var/log/onap
- name: appc-logs
- - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
- name: appc-log-config
- subPath: org.ops4j.pax.logging.cfg
- ports:
- - containerPort: 8181
- - containerPort: 1830
- readinessProbe:
- tcpSocket:
- port: 8181
- initialDelaySeconds: 5
- periodSeconds: 10
- - image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: filebeat-onap
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- name: filebeat-conf
- subPath: filebeat.yml
- - mountPath: /var/log/onap
- name: appc-logs
- - mountPath: /usr/share/filebeat/data
- name: appc-data-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: filebeat-conf
- configMap:
- name: appc-filebeat-configmap
- - name: appc-log-config
- configMap:
- name: appc-logging-cfg-configmap
- - name: appc-logs
- emptyDir: {}
- - name: appc-data-filebeat
- emptyDir: {}
- - name: appc-openecomp-appc-data-properties
- configMap:
- name: appc-openecomp-appc-data-properties-configmap
- - name: appc-openecomp-appc-svclogic-config
- configMap:
- name: appc-openecomp-appc-svclogic-config-configmap
- - name: appc-openecomp-appc-svclogic-bin
- configMap:
- name: appc-openecomp-appc-svclogic-bin-configmap
- defaultMode: 0755
- - name: appc-openecomp-appc-bin
- configMap:
- name: appc-openecomp-appc-bin-configmap
- defaultMode: 0755
- - name: appc-onap-sdnc-data-properties
- configMap:
- name: appc-onap-sdnc-data-properties-configmap
- - name: appc-onap-sdnc-svclogic-config
- configMap:
- name: appc-onap-sdnc-svclogic-config-configmap
- - name: appc-onap-sdnc-svclogic-bin
- configMap:
- name: appc-onap-sdnc-svclogic-bin-configmap
- defaultMode: 0755
- - name: appc-onap-sdnc-bin
- configMap:
- name: appc-onap-sdnc-bin-configmap
- defaultMode: 0755
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/appc/templates/appc-dgbuilder-configmap.yaml b/kubernetes/appc/templates/appc-dgbuilder-configmap.yaml
deleted file mode 100644
index f846c199a1..0000000000
--- a/kubernetes/appc/templates/appc-dgbuilder-configmap.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-#{{ if not .Values.disableAppcAppc }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-dgbuilder-conf-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/dgbuilder/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-dgbuilder-scripts-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/scripts/dgbuilder/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/appc/templates/appc-log-configmap.yaml b/kubernetes/appc/templates/appc-log-configmap.yaml
deleted file mode 100644
index 9e102e1b88..0000000000
--- a/kubernetes/appc/templates/appc-log-configmap.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-#{{ if not .Values.disableAppcAppc }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-filebeat-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: appc-logging-cfg-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/appc/templates/appc-pv-pvc.yaml b/kubernetes/appc/templates/appc-pv-pvc.yaml
deleted file mode 100644
index ff0f89af49..0000000000
--- a/kubernetes/appc/templates/appc-pv-pvc.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#{{ if not .Values.disableAppcAppcDbhost }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
- name: "{{ .Values.nsPrefix }}-appc"
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- name: "{{ .Values.nsPrefix }}-appc"
-spec:
- capacity:
- storage: 2Gi
- accessModes:
- - ReadWriteMany
- persistentVolumeReclaimPolicy: Retain
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/appc/data
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: appc-db
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 2Gi
- selector:
- matchLabels:
- name: "{{ .Values.nsPrefix }}-appc"
-#{{ end }}
diff --git a/kubernetes/appc/templates/configmap.yaml b/kubernetes/appc/templates/configmap.yaml
new file mode 100644
index 0000000000..0574cfcf22
--- /dev/null
+++ b/kubernetes/appc/templates/configmap.yaml
@@ -0,0 +1,79 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-sdnc-bin
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/bin/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-sdnc-data-properties
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/data/properties/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-bin
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/svclogic/bin/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/sdnc/svclogic/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-appc-bin
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/bin/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-appc-data-properties
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/data/properties/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-appc-svclogic-bin
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/svclogic/bin/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-onap-appc-svclogic-config
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/svclogic/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-filebeat
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logging-cfg
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/appc/templates/db-deployment.yaml b/kubernetes/appc/templates/db-deployment.yaml
deleted file mode 100644
index 41d9d5b520..0000000000
--- a/kubernetes/appc/templates/db-deployment.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
-#{{ if not .Values.disableAppcAppcDbhost }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: appc-dbhost
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.dbReplicas }}
- selector:
- matchLabels:
- app: appc-dbhost
- template:
- metadata:
- labels:
- app: appc-dbhost
- spec:
- containers:
- - env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- - name: MYSQL_ROOT_HOST
- value: '%'
- image: {{ .Values.image.mysqlServer }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: appc-db-container
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /var/lib/mysql
- name: appc-data
- ports:
- - containerPort: 3306
- readinessProbe:
- tcpSocket:
- port: 3306
- initialDelaySeconds: 5
- periodSeconds: 10
- restartPolicy: Always
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: appc-data
- persistentVolumeClaim:
- claimName: appc-db
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/appc/templates/dgbuilder-deployment.yaml b/kubernetes/appc/templates/dgbuilder-deployment.yaml
deleted file mode 100644
index fe9a198aef..0000000000
--- a/kubernetes/appc/templates/dgbuilder-deployment.yaml
+++ /dev/null
@@ -1,85 +0,0 @@
-#{{ if not .Values.disableAppcAppcDgbuilder }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: appc-dgbuilder
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.dgbuilderReplicas }}
- selector:
- matchLabels:
- app: appc-dgbuilder
- template:
- metadata:
- labels:
- app: appc-dgbuilder
- name: appc-dgbuilder
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - appc-db-container
- - --container-name
- - appc-controller-container
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: appc-dgbuilder-readiness
- containers:
- - command:
- - /bin/bash
- - -c
- - cd /opt/onap/sdnc/dgbuilder/ && ./start.sh sdnc1.0 && wait
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: openECOMP1.0
- - name: SDNC_CONFIG_DIR
- value: /opt/onap/sdnc/data/properties
- image: {{ .Values.image.dgbuilderSdnc }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: appc-dgbuilder-container
- ports:
- - containerPort: 3100
- readinessProbe:
- tcpSocket:
- port: 3100
- initialDelaySeconds: 5
- periodSeconds: 10
- volumeMounts:
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- - name: dgbuilder-conf
- mountPath: /opt/onap/sdnc/dgbuilder/releases/sdnc1.0/conf/svclogic.properties
- subPath: svclogic.properties
- - name: dgbuilder-conf
- mountPath: /opt/onap/sdnc/dgbuilder/svclogic/svclogic.properties
- subPath: svclogic.properties
- - name: dgbuilder-scripts
- mountPath: /opt/onap/sdnc/dgbuilder/createReleaseDir.sh
- subPath: createReleaseDir.sh
- - name: dgbuilder-scripts
- mountPath: /opt/onap/sdnc/dgbuilder/releases/sdnc1.0/customSettings.js
- subPath: customSettings.js
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: dgbuilder-conf
- configMap:
- name: appc-dgbuilder-conf-configmap
- - name: dgbuilder-scripts
- configMap:
- name: appc-dgbuilder-scripts-configmap
- defaultMode: 0755
- restartPolicy: Always
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/so/templates/secrets.yaml b/kubernetes/appc/templates/secrets.yaml
index 269d40649d..345c194d96 100644
--- a/kubernetes/so/templates/secrets.yaml
+++ b/kubernetes/appc/templates/secrets.yaml
@@ -1,13 +1,13 @@
apiVersion: v1
kind: Secret
metadata:
- name: {{ include "common.name" . }}-docker-registry-key
+ name: {{ include "common.fullname" . }}
namespace: {{ include "common.namespace" . }}
labels:
- app: {{ include "common.name" . }}
+ app: {{ include "common.fullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
+type: Opaque
data:
- .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }}
-type: kubernetes.io/dockercfg \ No newline at end of file
+ db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }}
diff --git a/kubernetes/appc/templates/service.yaml b/kubernetes/appc/templates/service.yaml
new file mode 100644
index 0000000000..6ffef221a6
--- /dev/null
+++ b/kubernetes/appc/templates/service.yaml
@@ -0,0 +1,62 @@
+apiVersion: v1
+kind: Service
+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 }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "appc",
+ "version": "v1",
+ "url": "/",
+ "protocol": "REST",
+ "port": "{{ .Values.service.externalPort }}",
+ "visualRange":"1",
+ "path": "/"
+ }
+ ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: "{{ .Values.service.name }}-8282"
+ - port: {{ .Values.service.externalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+ name: "{{ .Values.service.name }}-1830"
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}-cluster
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ annotations:
+ service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
+spec:
+ ports:
+ - name: "{{ .Values.service.name }}-cluster-port"
+ port: {{ .Values.service.clusterPort }}
+ clusterIP: None
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ sessionAffinity: None
+ type: ClusterIP
diff --git a/kubernetes/appc/templates/statefulset.yaml b/kubernetes/appc/templates/statefulset.yaml
new file mode 100644
index 0000000000..6ecfc19342
--- /dev/null
+++ b/kubernetes/appc/templates/statefulset.yaml
@@ -0,0 +1,186 @@
+apiVersion: apps/v1beta1
+kind: StatefulSet
+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:
+ serviceName: "{{ .Values.service.name }}-cluster"
+ replicas: {{ .Values.replicaCount }}
+ podManagementPolicy: Parallel
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - {{ .Values.mysql.nameOverride }}
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /opt/appc/bin/startODL.sh
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.externalPort2 }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ - name: SDNC_CONFIG_DIR
+ value: "{{ .Values.config.configDir }}"
+ - name: APPC_CONFIG_DIR
+ value: "{{ .Values.config.configDir }}"
+ - name: DMAAP_TOPIC_ENV
+ value: "{{ .Values.config.dmaapTopic }}"
+ - name: ENABLE_ODL_CLUSTER
+ value: "{{ .Values.config.enableClustering }}"
+ - name: APPC_REPLICAS
+ value: "{{ .Values.replicaCount }}"
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/onap/appc/data/properties/dblib.properties
+ name: onap-appc-data-properties
+ subPath: dblib.properties
+ - mountPath: /opt/onap/appc/data/properties/svclogic.properties
+ name: onap-appc-data-properties
+ subPath: svclogic.properties
+ - mountPath: /opt/onap/appc/data/properties/appc.properties
+ name: onap-appc-data-properties
+ subPath: appc.properties
+ - mountPath: /opt/onap/appc/data/properties/aaiclient.properties
+ name: onap-appc-data-properties
+ subPath: aaiclient.properties
+ - mountPath: /opt/onap/appc/svclogic/config/svclogic.properties
+ name: onap-appc-svclogic-config
+ subPath: svclogic.properties
+ - mountPath: /opt/onap/appc/svclogic/bin/showActiveGraphs.sh
+ name: onap-appc-svclogic-bin
+ subPath: showActiveGraphs.sh
+ - mountPath: /opt/onap/appc/bin/startODL.sh
+ name: onap-appc-bin
+ subPath: startODL.sh
+ - mountPath: /opt/onap/appc/bin/installAppcDb.sh
+ name: onap-appc-bin
+ subPath: installAppcDb.sh
+ - mountPath: /opt/onap/sdnc/data/properties/dblib.properties
+ name: onap-sdnc-data-properties
+ subPath: dblib.properties
+ - mountPath: /opt/onap/sdnc/data/properties/svclogic.properties
+ name: onap-sdnc-data-properties
+ subPath: svclogic.properties
+ - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
+ name: onap-sdnc-data-properties
+ subPath: aaiclient.properties
+ - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
+ name: onap-sdnc-svclogic-config
+ subPath: svclogic.properties
+ - mountPath: /opt/onap/sdnc/svclogic/bin/showActiveGraphs.sh
+ name: onap-sdnc-svclogic-bin
+ subPath: showActiveGraphs.sh
+ - mountPath: /opt/onap/sdnc/bin/startODL.sh
+ name: onap-sdnc-bin
+ subPath: startODL.sh
+ - mountPath: /opt/onap/sdnc/bin/installSdncDb.sh
+ name: onap-sdnc-bin
+ subPath: installSdncDb.sh
+ - mountPath: /var/log/onap
+ name: logs
+ - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
+ name: log-config
+ subPath: org.ops4j.pax.logging.cfg
+ 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
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: logs
+ - mountPath: /usr/share/filebeat/data
+ name: data-filebeat
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: filebeat-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-filebeat
+ - name: log-config
+ configMap:
+ name: {{ include "common.fullname" . }}-logging-cfg
+ - name: logs
+ emptyDir: {}
+ - name: data-filebeat
+ emptyDir: {}
+ - name: onap-appc-data-properties
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-appc-data-properties
+ - name: onap-appc-svclogic-config
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-appc-svclogic-config
+ - name: onap-appc-svclogic-bin
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-appc-svclogic-bin
+ defaultMode: 0755
+ - name: onap-appc-bin
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-appc-bin
+ defaultMode: 0755
+ - name: onap-sdnc-data-properties
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-sdnc-data-properties
+ - name: onap-sdnc-svclogic-config
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
+ - name: onap-sdnc-svclogic-bin
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-bin
+ defaultMode: 0755
+ - name: onap-sdnc-bin
+ configMap:
+ name: {{ include "common.fullname" . }}-onap-sdnc-bin
+ defaultMode: 0755
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/appc/values.yaml b/kubernetes/appc/values.yaml
index 1a0cc51b71..b5a13ef87c 100644
--- a/kubernetes/appc/values.yaml
+++ b/kubernetes/appc/values.yaml
@@ -1,13 +1,117 @@
-nsPrefix: onap
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+# If mountPath is over NFS (e.g. /dockerdata-nfs is NFS mounted between the nodes), uncomment following lines.
+# persistence:
+# mountPath: /dockerdata
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/appc-image:1.3.0-SNAPSHOT-latest
pullPolicy: Always
-nodePortPrefix: 302
-appcReplicas: 1
-dbReplicas: 1
-dgbuilderReplicas: 1
-dataRootDir: /dockerdata-nfs
-image:
- readiness: oomk8s/readiness-check:1.1.0
- appc: nexus3.onap.org:10001/openecomp/appc-image:v1.2.0
- mysqlServer: mysql/mysql-server:5.6
- dgbuilderSdnc: nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image:v0.1.0
- filebeat: docker.elastic.co/beats/filebeat:5.5.0
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ dbRootPassword: openECOMP1.0
+ enableClustering: true
+ configDir: /opt/onap/appc/data/properties
+ dmaapTopic: SUCCESS
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+mysql:
+ nameOverride: appc-db
+ service:
+ name: appc-dbhost
+ nfsprovisionerPrefix: appc
+ sdnctlPrefix: appc
+ persistence:
+ mountSubPath: appc/data
+ enabled: true
+ disableNfsProvisioner: true
+
+dgbuilder:
+ nameOverride: appc-dgbuilder
+ dbPodName: appc-db
+ dbServiceName: appc-dbhost
+
+# default number of instances
+replicaCount: 3
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: appc
+ #targetPort
+ internalPort: 8181
+ #port
+ externalPort: 8282
+ nodePort: 30
+
+ externalPort2: 1830
+ nodePort2: 31
+ clusterPort: 2550
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/clamp/Chart.yaml b/kubernetes/clamp/Chart.yaml
index a162ca7dd0..11a38c208b 100644
--- a/kubernetes/clamp/Chart.yaml
+++ b/kubernetes/clamp/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: ONAP Clamp
name: clamp
-version: 1.1.0
+version: 2.0.0
diff --git a/kubernetes/clamp/charts/mariadb/Chart.yaml b/kubernetes/clamp/charts/mariadb/Chart.yaml
new file mode 100644
index 0000000000..6b4471ac55
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: MariaDB Service
+name: mariadb
+version: 2.0.0
diff --git a/kubernetes/clamp/charts/mariadb/NOTES.txt b/kubernetes/clamp/charts/mariadb/NOTES.txt
new file mode 100644
index 0000000000..91d8ed42f1
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/clamp/resources/config/mariadb/conf.d/conf1/my.cnf b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/conf.d/conf1/my.cnf
index 0be1bd7aa3..0be1bd7aa3 100644
--- a/kubernetes/clamp/resources/config/mariadb/conf.d/conf1/my.cnf
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/conf.d/conf1/my.cnf
diff --git a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql
index 3312daf56f..3312daf56f 100644
--- a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql
diff --git a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql
index 112cb2b55e..112cb2b55e 100644
--- a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-stored-procedures.sql
diff --git a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql
index 478eaf0e09..478eaf0e09 100644
--- a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/drop/clds-drop-db-objects.sql
diff --git a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
index 4924922c91..4924922c91 100644
--- a/kubernetes/clamp/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
+++ b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
diff --git a/kubernetes/clamp/templates/clamp-mariadb-configmap.yaml b/kubernetes/clamp/charts/mariadb/templates/configmap.yaml
index 9a5fd8f284..aa35185428 100644
--- a/kubernetes/clamp/templates/clamp-mariadb-configmap.yaml
+++ b/kubernetes/clamp/charts/mariadb/templates/configmap.yaml
@@ -1,9 +1,23 @@
+# 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.
+
#{{ if not .Values.disableClampClampMariadb }}
apiVersion: v1
kind: ConfigMap
metadata:
name: clamp-entrypoint-initdb-configmap
- namespace: {{ .Values.nsPrefix }}
+ namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
---
@@ -11,7 +25,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: clamp-entrypoint-drop-configmap
- namespace: {{ .Values.nsPrefix }}
+ namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/drop/*").AsConfig . | indent 2 }}
---
@@ -19,7 +33,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: clamp-entrypoint-bulkload-configmap
- namespace: {{ .Values.nsPrefix }}
+ namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/*").AsConfig . | indent 2 }}
---
@@ -27,7 +41,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: clamp-mariadb-conf-configmap
- namespace: {{ .Values.nsPrefix }}
+ namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/mariadb/conf.d/conf1/*").AsConfig . | indent 2 }}
#{{ end }}
diff --git a/kubernetes/clamp/charts/mariadb/templates/deployment.yaml b/kubernetes/clamp/charts/mariadb/templates/deployment.yaml
new file mode 100644
index 0000000000..e1db655f41
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/deployment.yaml
@@ -0,0 +1,108 @@
+# 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: 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:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ volumeMounts:
+ - mountPath: /docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
+ name: docker-entrypoint-initdb
+ subPath: load-sql-files-tests-automation.sh
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /docker-entrypoint-initdb.d/drop/
+ name: docker-entrypoint-clds-drop
+ - mountPath: /docker-entrypoint-initdb.d/bulkload/
+ name: docker-entrypoint-bulkload
+ - mountPath: /etc/mysql/conf.d/conf1/
+ name: clamp-mariadb-conf
+ - mountPath: /var/lib/mysql
+ name: clamp-mariadb-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:
+ {{- if .Values.persistence.enabled }}
+ - name: clamp-mariadb-data
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ - name: docker-entrypoint-initdb
+ configMap:
+ name: clamp-entrypoint-initdb-configmap
+ - name: docker-entrypoint-clds-drop
+ configMap:
+ name: clamp-entrypoint-drop-configmap
+ - name: docker-entrypoint-bulkload
+ configMap:
+ name: clamp-entrypoint-bulkload-configmap
+ - name: clamp-mariadb-conf
+ configMap:
+ name: clamp-mariadb-conf-configmap
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/clamp/charts/mariadb/templates/pv.yaml b/kubernetes/clamp/charts/mariadb/templates/pv.yaml
new file mode 100644
index 0000000000..184728f8ad
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/pv.yaml
@@ -0,0 +1,37 @@
+{{/*
+# 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.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+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 }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/clamp/charts/mariadb/templates/pvc.yaml b/kubernetes/clamp/charts/mariadb/templates/pvc.yaml
new file mode 100644
index 0000000000..e27c3311e9
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/pvc.yaml
@@ -0,0 +1,48 @@
+{{/*
+# 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.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ name: {{ include "common.fullname" . }}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/kubernetes/clamp/charts/mariadb/templates/secrets.yaml b/kubernetes/clamp/charts/mariadb/templates/secrets.yaml
new file mode 100644
index 0000000000..3bcaae0ea8
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/secrets.yaml
@@ -0,0 +1,27 @@
+# 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: v1
+kind: Secret
+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 }}
+type: Opaque
+data:
+ db-root-password: {{ .Values.config.mysqlPassword | b64enc | quote }}
diff --git a/kubernetes/clamp/charts/mariadb/templates/service.yaml b/kubernetes/clamp/charts/mariadb/templates/service.yaml
new file mode 100644
index 0000000000..6995f078ee
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/templates/service.yaml
@@ -0,0 +1,38 @@
+# 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: v1
+kind: Service
+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:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ {{- end}}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }} \ No newline at end of file
diff --git a/kubernetes/clamp/charts/mariadb/values.yaml b/kubernetes/clamp/charts/mariadb/values.yaml
new file mode 100644
index 0000000000..a35c854973
--- /dev/null
+++ b/kubernetes/clamp/charts/mariadb/values.yaml
@@ -0,0 +1,105 @@
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+ persistence: {}
+
+# application image
+repository: nexus3.onap.org:10001
+image: mariadb:10.1.11
+pullPolicy: Always
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+config:
+ mysqlPassword: strong_pitchou
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ # storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: clamp/mariadb/data
+
+service:
+ type: ClusterIP
+ name: mariadb
+ internalPort: 3306
+ externalPort: 3306
+
+
+ingress:
+ enabled: false
+
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/clamp/requirements.yaml b/kubernetes/clamp/requirements.yaml
new file mode 100644
index 0000000000..9b24f824d5
--- /dev/null
+++ b/kubernetes/clamp/requirements.yaml
@@ -0,0 +1,21 @@
+# 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.
+
+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' \ No newline at end of file
diff --git a/kubernetes/clamp/templates/NOTES.txt b/kubernetes/clamp/templates/NOTES.txt
new file mode 100644
index 0000000000..91d8ed42f1
--- /dev/null
+++ b/kubernetes/clamp/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/clamp/templates/all-services.yaml b/kubernetes/clamp/templates/all-services.yaml
deleted file mode 100644
index b3b9c65f46..0000000000
--- a/kubernetes/clamp/templates/all-services.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#{{ if not .Values.disableClampClampMariadb }}
-apiVersion: v1
-kind: Service
-metadata:
- name: clamp-mariadb
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: clamp-mariadb
-spec:
- ports:
- - name: clamp-mariadb
- port: 3306
- selector:
- app: clamp-mariadb
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableClampClamp }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: clamp
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- ports:
- - name: clamp
- port: 8080
- nodePort: {{ .Values.nodePortPrefix }}95
- selector:
- app: clamp
- type: NodePort
-#{{ end }} \ No newline at end of file
diff --git a/kubernetes/clamp/templates/clamp-deployment.yaml b/kubernetes/clamp/templates/clamp-deployment.yaml
deleted file mode 100644
index 2c2e13f994..0000000000
--- a/kubernetes/clamp/templates/clamp-deployment.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-#{{ if not .Values.disableClampClamp }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: clamp
- name: clamp
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.clampReplicas }}
- selector:
- matchLabels:
- app: clamp
- template:
- metadata:
- labels:
- app: clamp
- name: clamp
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - clamp-mariadb
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: clamp-readiness
- containers:
- - env:
- - name: SPRING_APPLICATION_JSON
- value: '{
- "spring.datasource.camunda.url": "jdbc:mariadb:sequential://clamp-mariadb.{{ .Values.nsPrefix }}:3306/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&retriesAllDown=2147483647&failoverLoopRetries=2147483647",
- "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clamp-mariadb.{{ .Values.nsPrefix }}:3306/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&retriesAllDown=2147483647&failoverLoopRetries=2147483647"
- }'
- image: {{ .Values.image.clampImage }}:{{ .Values.image.clampVersion }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: clamp
- readinessProbe:
- tcpSocket:
- port: 8080
- initialDelaySeconds: 5
- periodSeconds: 10
- imagePullSecrets:
- - name: {{ .Values.nsPrefix }}-docker-registry-key
-#{{ end }}
diff --git a/kubernetes/clamp/templates/clamp-mariadb-deployment.yaml b/kubernetes/clamp/templates/clamp-mariadb-deployment.yaml
deleted file mode 100644
index a12489ef63..0000000000
--- a/kubernetes/clamp/templates/clamp-mariadb-deployment.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
-#{{ if not .Values.disableClampClampMariadb }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: clamp-mariadb
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.clampMariaDbReplicas }}
- selector:
- matchLabels:
- app: clamp-mariadb
- template:
- metadata:
- labels:
- app: clamp-mariadb
- name: clamp-mariadb
- spec:
- hostname: clamp-mariadb
- containers:
- - args:
- image: {{ .Values.image.mariadbImage }}:{{ .Values.image.mariadbVersion }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: "clamp-mariadb"
- env:
- - name: MYSQL_ROOT_PASSWORD
- value: {{ .Values.mysqlPassword }}
- volumeMounts:
- - mountPath: /docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh
- name: docker-entrypoint-initdb
- subPath: load-sql-files-tests-automation.sh
- - mountPath: /docker-entrypoint-initdb.d/drop/
- name: docker-entrypoint-clds-drop
- - mountPath: /docker-entrypoint-initdb.d/bulkload/
- name: docker-entrypoint-bulkload
- - mountPath: /etc/mysql/conf.d/conf1/
- name: clamp-mariadb-conf
- - mountPath: /var/lib/mysql
- name: clamp-mariadb-data
- readinessProbe:
- tcpSocket:
- port: 3306
- initialDelaySeconds: 5
- periodSeconds: 10
- volumes:
- - name: docker-entrypoint-initdb
- configMap:
- name: clamp-entrypoint-initdb-configmap
- - name: docker-entrypoint-clds-drop
- configMap:
- name: clamp-entrypoint-drop-configmap
- - name: docker-entrypoint-bulkload
- configMap:
- name: clamp-entrypoint-bulkload-configmap
- - name: clamp-mariadb-conf
- configMap:
- name: clamp-mariadb-conf-configmap
- - name: clamp-mariadb-data
- persistentVolumeClaim:
- claimName: clamp-db
- imagePullSecrets:
- - name: {{ .Values.nsPrefix }}-docker-registry-key
-#{{ end }}
diff --git a/kubernetes/clamp/templates/clamp-pv-pvc.yaml b/kubernetes/clamp/templates/clamp-pv-pvc.yaml
deleted file mode 100644
index c542de6026..0000000000
--- a/kubernetes/clamp/templates/clamp-pv-pvc.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#{{ if not .Values.disableClampClampMariadb }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
- name: "{{ .Values.nsPrefix }}-clamp"
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- name: "{{ .Values.nsPrefix }}-clamp"
-spec:
- capacity:
- storage: 2Gi
- accessModes:
- - ReadWriteMany
- persistentVolumeReclaimPolicy: Retain
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/clamp/mariadb/data
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: clamp-db
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 2Gi
- selector:
- matchLabels:
- name: "{{ .Values.nsPrefix }}-clamp"
-#{{ end }}
diff --git a/kubernetes/clamp/templates/configmap.yaml b/kubernetes/clamp/templates/configmap.yaml
new file mode 100644
index 0000000000..b680487fc0
--- /dev/null
+++ b/kubernetes/clamp/templates/configmap.yaml
@@ -0,0 +1,26 @@
+# 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: 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:
+ spring_application_json: {{ .Values.config.springApplicationJson | quote }}
diff --git a/kubernetes/clamp/templates/deployment.yaml b/kubernetes/clamp/templates/deployment.yaml
new file mode 100644
index 0000000000..20beabfb0c
--- /dev/null
+++ b/kubernetes/clamp/templates/deployment.yaml
@@ -0,0 +1,85 @@
+# 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: 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
+ - {{ .Values.mariadb.nameOverride }}
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: SPRING_APPLICATION_JSON
+ valueFrom:
+ configMapKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: spring_application_json
+ 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 }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/clamp/templates/service.yaml b/kubernetes/clamp/templates/service.yaml
new file mode 100644
index 0000000000..59187228d1
--- /dev/null
+++ b/kubernetes/clamp/templates/service.yaml
@@ -0,0 +1,39 @@
+# 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: v1
+kind: Service
+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:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/clamp/values.yaml b/kubernetes/clamp/values.yaml
index 103472afd9..8e01f4210f 100644
--- a/kubernetes/clamp/values.yaml
+++ b/kubernetes/clamp/values.yaml
@@ -1,13 +1,99 @@
-nsPrefix: onap
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.0.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+
+subChartsOnly:
+ enabled: true
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/clamp
pullPolicy: Always
-nodePortPrefix: 302
-mysqlPassword: strong_pitchou
-dataRootDir: /dockerdata-nfs
-clampReplicas: 1
-clampMariaDbReplicas: 1
-image:
- readiness: oomk8s/readiness-check:1.1.0
- clampImage: nexus3.onap.org:10001/onap/clamp
- clampVersion: v1.1.0
- mariadbImage: nexus3.onap.org:10001/mariadb
- mariadbVersion: 10.1.11
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+config:
+ mysqlPassword: strong_pitchou
+ dataRootDir: /dockerdata-nfs
+ springApplicationJson: '{
+ "spring.datasource.camunda.url": "jdbc:mariadb:sequential://clamp-mariadb.{{include "common.namespace" .}}:3306/camundabpm?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&retriesAllDown=2147483647&failoverLoopRetries=2147483647",
+ "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clamp-mariadb.{{include "common.namespace" .}}:3306/cldsdb4?verifyServerCertificate=false&useSSL=false&requireSSL=false&autoReconnect=true&retriesAllDown=2147483647&failoverLoopRetries=2147483647"
+ }'
+
+# subchart configuration
+mariadb:
+ nameOverride: clampdb
+
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+
+service:
+ type: NodePort
+ name: clamp
+ internalPort: 8080
+ nodePort: 95
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/cli/Chart.yaml b/kubernetes/cli/Chart.yaml
index 077cc6ecd6..6befea70a8 100644
--- a/kubernetes/cli/Chart.yaml
+++ b/kubernetes/cli/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: cli
diff --git a/kubernetes/cli/templates/all-service.yaml b/kubernetes/cli/templates/all-service.yaml
index e928c67e6e..1ce6d97fd0 100644
--- a/kubernetes/cli/templates/all-service.yaml
+++ b/kubernetes/cli/templates/all-service.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableCliCli }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/cli/templates/cli-deployment.yaml b/kubernetes/cli/templates/cli-deployment.yaml
index d4812fb783..5afc6f8995 100644
--- a/kubernetes/cli/templates/cli-deployment.yaml
+++ b/kubernetes/cli/templates/cli-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableCliCli }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/cli/values.yaml b/kubernetes/cli/values.yaml
index 3030237554..f10711f1b4 100644
--- a/kubernetes/cli/values.yaml
+++ b/kubernetes/cli/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
diff --git a/kubernetes/common/.helmignore b/kubernetes/common/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/common/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/common/Makefile b/kubernetes/common/Makefile
index 1900f31a44..d634a8c506 100644
--- a/kubernetes/common/Makefile
+++ b/kubernetes/common/Makefile
@@ -1,4 +1,24 @@
-EXCLUDES := test
+# 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.
+
+# FIXME OOM-765
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
HELM_CHARTS := $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
.PHONY: $(EXCLUDES) $(HELM_CHARTS)
@@ -7,7 +27,7 @@ all: $(HELM_CHARTS)
$(HELM_CHARTS):
@echo "\n[$@]"
- @make lint-$@
+ @make package-$@
make-%:
@if [ -f $*/Makefile ]; then make -C $*; fi
@@ -18,8 +38,14 @@ dep-%: make-%
lint-%: dep-%
@if [ -f $*/Chart.yaml ]; then helm lint $*; fi
+package-%: lint-%
+ @mkdir -p $(PACKAGE_DIR)
+ @if [ -f $*/Chart.yaml ]; then helm package -d $(PACKAGE_DIR) $*; fi
+ @helm repo index $(PACKAGE_DIR)
+
clean:
@rm -f */requirements.lock
@rm -f *tgz */charts/*tgz
+ @rm -rf $(PACKAGE_DIR)
%:
@: \ No newline at end of file
diff --git a/kubernetes/common/common-templates/Chart.yaml b/kubernetes/common/common-templates/Chart.yaml
deleted file mode 100644
index 01135755ba..0000000000
--- a/kubernetes/common/common-templates/Chart.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: v1
-description: Common templates for inclusion in other charts
-name: common-templates
-version: 2.0.0
diff --git a/kubernetes/common/common-templates/templates/_name.tpl b/kubernetes/common/common-templates/templates/_name.tpl
deleted file mode 100644
index f6c221f15d..0000000000
--- a/kubernetes/common/common-templates/templates/_name.tpl
+++ /dev/null
@@ -1,15 +0,0 @@
-{{/*
- Expand the name of a chart.
-*/}}
-{{- define "common.name" -}}
- {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
- Create a default fully qualified application name.
- Truncated at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-*/}}
-{{- define "common.fullname" -}}
- {{- $name := default .Chart.Name .Values.nameOverride -}}
- {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}} \ No newline at end of file
diff --git a/kubernetes/common/common-templates/templates/_namespace.tpl b/kubernetes/common/common-templates/templates/_namespace.tpl
deleted file mode 100644
index 2964a0f207..0000000000
--- a/kubernetes/common/common-templates/templates/_namespace.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-{{/*
- Resolve the namespace to apply to a chart. The default namespace suffix
- is the name of the chart. This can be overridden if necessary (eg. for subcharts)
- using the following value:
-
- - .Values.nsPrefix : override namespace prefix
- - .Values.nsSuffix : override namespace suffix
-*/}}
-{{- define "common.namespace" -}}
- {{- default .Release.Name .Values.nsPrefix -}}
-{{- end -}}
diff --git a/kubernetes/common/common/Chart.yaml b/kubernetes/common/common/Chart.yaml
new file mode 100644
index 0000000000..7d58e53dfd
--- /dev/null
+++ b/kubernetes/common/common/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: Common templates for inclusion in other charts
+name: common
+version: 2.0.0
diff --git a/kubernetes/common/common/templates/_name.tpl b/kubernetes/common/common/templates/_name.tpl
new file mode 100644
index 0000000000..4299984673
--- /dev/null
+++ b/kubernetes/common/common/templates/_name.tpl
@@ -0,0 +1,31 @@
+{{/*
+# 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.
+*/}}
+
+{{/*
+ Expand the name of a chart.
+*/}}
+{{- define "common.name" -}}
+ {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+ Create a default fully qualified application name.
+ Truncated at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+*/}}
+{{- define "common.fullname" -}}
+ {{- $name := default .Chart.Name .Values.nameOverride -}}
+ {{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}} \ No newline at end of file
diff --git a/kubernetes/common/common/templates/_namespace.tpl b/kubernetes/common/common/templates/_namespace.tpl
new file mode 100644
index 0000000000..94c9ee72d9
--- /dev/null
+++ b/kubernetes/common/common/templates/_namespace.tpl
@@ -0,0 +1,26 @@
+{{/*
+# 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.
+*/}}
+
+{{/*
+ Resolve the namespace to apply to a chart. The default namespace suffix
+ is the name of the chart. This can be overridden if necessary (eg. for subcharts)
+ using the following value:
+
+ - .Values.nsPrefix : override namespace prefix
+*/}}
+{{- define "common.namespace" -}}
+ {{- default .Release.Namespace .Values.nsPrefix -}}
+{{- end -}}
diff --git a/kubernetes/common/common-templates/values.yaml b/kubernetes/common/common/values.yaml
index 112875753d..c8ded9a5dd 100644
--- a/kubernetes/common/common-templates/values.yaml
+++ b/kubernetes/common/common/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#################################################################
# Global configuration default values that can be inherited by
# all subcharts.
@@ -13,7 +27,7 @@ global:
# readiness check
readinessRepository: oomk8s
- readinessImage: readiness-check:1.0.0
+ readinessImage: readiness-check:1.1.0
# logging agent
loggingRepository: docker.elastic.co
@@ -28,4 +42,4 @@ global:
mountPath: /dockerdata-nfs
# flag to enable debugging - application support required
- debugEnabled: true \ No newline at end of file
+ debugEnabled: true
diff --git a/kubernetes/common/dgbuilder/.helmignore b/kubernetes/common/dgbuilder/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/common/dgbuilder/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/common/dgbuilder/Chart.yaml b/kubernetes/common/dgbuilder/Chart.yaml
new file mode 100644
index 0000000000..e1955a137c
--- /dev/null
+++ b/kubernetes/common/dgbuilder/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: D.G. Builder application
+name: dgbuilder
+version: 2.0.0 \ No newline at end of file
diff --git a/kubernetes/common/dgbuilder/requirements.yaml b/kubernetes/common/dgbuilder/requirements.yaml
new file mode 100644
index 0000000000..acca8ef7e2
--- /dev/null
+++ b/kubernetes/common/dgbuilder/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/appc/resources/config/dgbuilder/svclogic.properties b/kubernetes/common/dgbuilder/resources/config/svclogic.properties
index 8b0723b72b..fdaf5779e2 100644
--- a/kubernetes/appc/resources/config/dgbuilder/svclogic.properties
+++ b/kubernetes/common/dgbuilder/resources/config/svclogic.properties
@@ -1,5 +1,5 @@
org.onap.ccsdk.sli.dbtype=jdbc
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://appc-dbhost.{{.Values.nsPrefix}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.dbServiceName}}.{{ include "common.namespace" . }}:3306/sdnctl
org.onap.ccsdk.sli.jdbc.database=sdnctl
org.onap.ccsdk.sli.jdbc.user=sdnctl
org.onap.ccsdk.sli.jdbc.password=gamma
diff --git a/kubernetes/appc/resources/scripts/dgbuilder/createReleaseDir.sh b/kubernetes/common/dgbuilder/resources/scripts/createReleaseDir.sh
index d63687a644..38f7fe2720 100755
--- a/kubernetes/appc/resources/scripts/dgbuilder/createReleaseDir.sh
+++ b/kubernetes/common/dgbuilder/resources/scripts/createReleaseDir.sh
@@ -15,7 +15,7 @@ releaseDir="$1"
name="Release $releaseDir"
loginId="$2"
emailid="$3"
-dbHost="appc-dbhost.{{.Values.nsPrefix}}"
+dbHost="{{.Values.dbServiceName}}.{{.Release.Namespace}}"
dbPort="3306"
dbName="sdnctl"
dbUser="sdnctl"
@@ -96,7 +96,7 @@ fi
if [ ! -e "./$svclogicPropFile" ]
then
echo "org.onap.ccsdk.sli.dbtype=jdbc" >$svclogicPropFile
- echo "org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://appc-dbhost.{{.Values.nsPrefix}}:3306/sdnctl" >>$svclogicPropFile
+ echo "org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.dbServiceName}}.{{.Release.Namespace}}:3306/sdnctl" >>$svclogicPropFile
echo "org.onap.ccsdk.sli.jdbc.database=sdnctl" >>$svclogicPropFile
echo "org.onap.ccsdk.sli.jdbc.user=sdnctl" >>$svclogicPropFile
echo "org.onap.ccsdk.sli.jdbc.password=gamma" >>$svclogicPropFile
diff --git a/kubernetes/appc/resources/scripts/dgbuilder/customSettings.js b/kubernetes/common/dgbuilder/resources/scripts/customSettings.js
index 40a624d44d..f09d396f96 100644
--- a/kubernetes/appc/resources/scripts/dgbuilder/customSettings.js
+++ b/kubernetes/common/dgbuilder/resources/scripts/customSettings.js
@@ -14,7 +14,7 @@ module.exports={
"user": "dguser",
"pass": "cc03e747a6afbbcbf8be7668acfebee5"
},
- "dbHost": "appc-dbhost.{{.Values.nsPrefix}}",
+ "dbHost": "{{.Values.dbServiceName}}.{{ include "common.namespace" . }}",
"dbPort": "3306",
"dbName": "sdnctl",
"dbUser": "sdnctl",
diff --git a/kubernetes/common/dgbuilder/templates/NOTES.txt b/kubernetes/common/dgbuilder/templates/NOTES.txt
new file mode 100644
index 0000000000..2465e03634
--- /dev/null
+++ b/kubernetes/common/dgbuilder/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/common/dgbuilder/templates/configmap.yaml b/kubernetes/common/dgbuilder/templates/configmap.yaml
new file mode 100644
index 0000000000..7ef92d09e7
--- /dev/null
+++ b/kubernetes/common/dgbuilder/templates/configmap.yaml
@@ -0,0 +1,15 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-config
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-scripts
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/scripts/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/common/dgbuilder/templates/deployment.yaml b/kubernetes/common/dgbuilder/templates/deployment.yaml
new file mode 100644
index 0000000000..4e1f1019ee
--- /dev/null
+++ b/kubernetes/common/dgbuilder/templates/deployment.yaml
@@ -0,0 +1,98 @@
+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
+ - {{ .Values.dbPodName }}
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /bin/bash
+ - -c
+ - cd /opt/onap/sdnc/dgbuilder/ && ./start.sh sdnc1.0 && wait
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ - name: SDNC_CONFIG_DIR
+ value: /opt/onap/sdnc/data/properties
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - name: config
+ mountPath: /opt/app/application.properties
+ subPath: application.properties
+ - name: config
+ mountPath: /opt/onap/sdnc/dgbuilder/releases/sdnc1.0/conf/svclogic.properties
+ subPath: svclogic.properties
+ - name: config
+ mountPath: /opt/onap/sdnc/dgbuilder/svclogic/svclogic.properties
+ subPath: svclogic.properties
+ - name: scripts
+ mountPath: /opt/onap/sdnc/dgbuilder/createReleaseDir.sh
+ subPath: createReleaseDir.sh
+ - name: scripts
+ mountPath: /opt/onap/sdnc/dgbuilder/releases/sdnc1.0/customSettings.js
+ subPath: customSettings.js
+ 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:
+ path: /etc/localtime
+ - name: config
+ configMap:
+ name: {{ include "common.fullname" . }}-config
+ - name: scripts
+ configMap:
+ name: {{ include "common.fullname" . }}-scripts
+ defaultMode: 0755
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/common/dgbuilder/templates/secrets.yaml b/kubernetes/common/dgbuilder/templates/secrets.yaml
new file mode 100644
index 0000000000..7604be8239
--- /dev/null
+++ b/kubernetes/common/dgbuilder/templates/secrets.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+ db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }} \ No newline at end of file
diff --git a/kubernetes/common/dgbuilder/templates/service.yaml b/kubernetes/common/dgbuilder/templates/service.yaml
new file mode 100644
index 0000000000..c61cdd549b
--- /dev/null
+++ b/kubernetes/common/dgbuilder/templates/service.yaml
@@ -0,0 +1,26 @@
+apiVersion: v1
+kind: Service
+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:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }} \ No newline at end of file
diff --git a/kubernetes/common/dgbuilder/values.yaml b/kubernetes/common/dgbuilder/values.yaml
new file mode 100644
index 0000000000..23f8eea78e
--- /dev/null
+++ b/kubernetes/common/dgbuilder/values.yaml
@@ -0,0 +1,93 @@
+# Global configuration default values that can be inherited by
+# all subcharts.
+#################################################################
+global:
+ # Change to an unused port prefix range to prevent port conflicts
+ # with other instances running within the same k8s cluster
+ nodePortPrefix: 302
+
+ # image repositories
+ repository: nexus3.onap.org:10001
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+ # readiness check
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.0.0
+
+ # logging agent
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+
+ # image pull policy
+ pullPolicy: Always
+
+ # default mount path root directory referenced
+ # by persistent volumes and log files
+ persistence:
+ mountPath: /dockerdata-nfs
+
+ # flag to enable debugging - application support required
+ debugEnabled: true
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/ccsdk-dgbuilder-image:v0.1.0
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ dbRootPassword: openECOMP1.0
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: dgbuilder
+ externalPort: 3000
+ internalPort: 3100
+ nodePort: 28
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/common/mysql/.helmignore b/kubernetes/common/mysql/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/common/mysql/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/common/mysql/Chart.yaml b/kubernetes/common/mysql/Chart.yaml
new file mode 100644
index 0000000000..99e7c44fb9
--- /dev/null
+++ b/kubernetes/common/mysql/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: MySQL Server
+name: mysql
+version: 2.0.0
diff --git a/kubernetes/common/mysql/requirements.yaml b/kubernetes/common/mysql/requirements.yaml
new file mode 100644
index 0000000000..acca8ef7e2
--- /dev/null
+++ b/kubernetes/common/mysql/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/common/mysql/templates/configmap.yaml b/kubernetes/common/mysql/templates/configmap.yaml
new file mode 100644
index 0000000000..dd2b5b7db2
--- /dev/null
+++ b/kubernetes/common/mysql/templates/configmap.yaml
@@ -0,0 +1,18 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-db-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+ master.cnf: |
+ # Apply this config only on the master.
+ [mysqld]
+ log-bin
+ [localpathprefix]
+ master
+ slave.cnf: |
+ # Apply this config only on slaves.
+ [mysqld]
+ super-read-only
+ [localpathprefix]
+ slave
diff --git a/kubernetes/common/mysql/templates/nfs-provisoner.yaml b/kubernetes/common/mysql/templates/nfs-provisoner.yaml
new file mode 100644
index 0000000000..478224e1a1
--- /dev/null
+++ b/kubernetes/common/mysql/templates/nfs-provisoner.yaml
@@ -0,0 +1,62 @@
+#{{ if not .Values.disableNfsProvisioner }}
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+ 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 }}
+ strategy:
+ type: Recreate
+ template:
+ metadata:
+ labels:
+ app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+ release: {{ .Release.Name }}
+ spec:
+ containers:
+ - name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+ image: "{{ .Values.global.nfsprovisionerRepository | default .Values.nfsprovisionerRepository }}/{{ .Values.nfsprovisionerImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - name: nfs
+ containerPort: {{ .Values.service.nfsPort }}
+ - name: mountd
+ containerPort: {{ .Values.service.mountdPort }}
+ - name: rpcbind
+ containerPort: {{ .Values.service.rpcbindPort }}
+ - name: rpcbind-udp
+ containerPort: {{ .Values.service.rpcbindUdpPort }}
+ protocol: UDP
+ securityContext:
+ capabilities:
+ add:
+ - DAC_READ_SEARCH
+ - SYS_RESOURCE
+ args:
+ - "-provisioner={{ include "common.fullname" . }}/nfs"
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ fieldPath: status.podIP
+ - name: SERVICE_NAME
+ value: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+ - name: POD_NAMESPACE
+ valueFrom:
+ fieldRef:
+ fieldPath: metadata.namespace
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - name: export-volume
+ mountPath: /export
+ volumes:
+ - name: export-volume
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}
+#{{ end }}
diff --git a/kubernetes/common/mysql/templates/pv.yaml b/kubernetes/common/mysql/templates/pv.yaml
new file mode 100644
index 0000000000..ba128b95d0
--- /dev/null
+++ b/kubernetes/common/mysql/templates/pv.yaml
@@ -0,0 +1,22 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}-data
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ 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.Namespace }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/common/mysql/templates/pvc.yaml b/kubernetes/common/mysql/templates/pvc.yaml
new file mode 100644
index 0000000000..a2949fef36
--- /dev/null
+++ b/kubernetes/common/mysql/templates/pvc.yaml
@@ -0,0 +1,23 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}-data
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+ storageClassName: "{{ include "common.fullname" . }}-data"
+{{- end -}} \ No newline at end of file
diff --git a/kubernetes/common/mysql/templates/secrets.yaml b/kubernetes/common/mysql/templates/secrets.yaml
new file mode 100644
index 0000000000..7604be8239
--- /dev/null
+++ b/kubernetes/common/mysql/templates/secrets.yaml
@@ -0,0 +1,13 @@
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+ db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }} \ No newline at end of file
diff --git a/kubernetes/common/mysql/templates/service.yaml b/kubernetes/common/mysql/templates/service.yaml
new file mode 100644
index 0000000000..c6a28c4605
--- /dev/null
+++ b/kubernetes/common/mysql/templates/service.yaml
@@ -0,0 +1,90 @@
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ ports:
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
+#{{ if not .Values.disableNfsProvisioner }}
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+spec:
+ ports:
+ - name: nfs
+ port: {{ .Values.service.nfsPort }}
+ - name: mountd
+ port: {{ .Values.service.mountdPort }}
+ - name: rpcbind
+ port: {{ .Values.service.rpcbindPort }}
+ - name: rpcbind-udp
+ port: {{ .Values.service.rpcbindUdpPort }}
+ protocol: UDP
+ selector:
+ app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+#{{ end }}
+---
+# Client service for connecting to any MySQL instance for reads.
+# Only master: sdnc-dbhost-0 accepts the write request.
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}-read
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+spec:
+ ports:
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.sdnctlPrefix }}-sdnctldb01
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+spec:
+ ports:
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Values.sdnctlPrefix }}-sdnctldb02
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+spec:
+ ports:
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
diff --git a/kubernetes/common/mysql/templates/statefulset.yaml b/kubernetes/common/mysql/templates/statefulset.yaml
new file mode 100644
index 0000000000..7b55bf2be0
--- /dev/null
+++ b/kubernetes/common/mysql/templates/statefulset.yaml
@@ -0,0 +1,238 @@
+apiVersion: apps/v1beta1
+kind: StatefulSet
+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:
+ serviceName: {{ .Values.service.name }}
+ replicas: {{ .Values.replicaCount }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ initContainers:
+#{{ if not .Values.disableNfsProvisioner }}
+ - name: {{ include "common.name" . }}-readiness
+ command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+#{{ end }}
+ - name: init-mysql
+ image: "{{ .Values.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - bash
+ - "-c"
+ - |
+ set -ex
+ # Generate mysql server-id from pod ordinal index.
+ [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
+ ordinal=${BASH_REMATCH[1]}
+ echo BASH_REMATCH=${BASH_REMATCH}
+ echo [mysqld] > /mnt/conf.d/server-id.cnf
+ # Add an offset to avoid reserved server-id=0 value.
+ echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-id.cnf
+ # Copy appropriate conf.d files from config-map to emptyDir.
+ if [[ $ordinal -eq 0 ]]; then
+ cp /mnt/config-map/master.cnf /mnt/conf.d/
+ else
+ cp /mnt/config-map/slave.cnf /mnt/conf.d/
+ fi
+ volumeMounts:
+ - name: conf
+ mountPath: /mnt/conf.d
+ - name: config-map
+ mountPath: /mnt/config-map
+
+ - name: clone-mysql
+ image: "{{ .Values.global.xtrabackupRepository | default .Values.xtrabackupRepository }}/{{ .Values.xtrabackupImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ command:
+ - bash
+ - "-c"
+ - |
+ set -ex
+ # Skip the clone if data already exists.
+ [[ -d /var/lib/mysql/mysql ]] && exit 0
+ # Skip the clone on master (ordinal index 0).
+ [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
+ ordinal=${BASH_REMATCH[1]}
+ echo ${BASH_REMATCH}
+ [[ $ordinal -eq 0 ]] && exit 0
+ # Clone data from previous peer.
+ ncat --recv-only {{ template "common.name" . }}-$(($ordinal-1)).{{ .Values.service.name }}.{{ include "common.namespace" . }} 3307 | xbstream -x -C /var/lib/mysql
+ # Prepare the backup.
+ xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --prepare --target-dir=/var/lib/mysql
+ ls -l /var/lib/mysql
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-data
+ mountPath: /var/lib/mysql
+ subPath: mysql
+ - name: conf
+ mountPath: /etc/mysql/conf.d
+
+ containers:
+ #sdnc-db-container
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ exec:
+ command: ["mysqladmin", "ping"]
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+ {{end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ - name: MYSQL_ROOT_HOST
+ value: '%'
+ - name: MYSQL_ALLOW_EMPTY_PASSWORD
+ value: {{ .Values.config.dbAllowEmptyPassword | default "0" | quote }}
+ volumeMounts:
+ - mountPath: /var/lib/mysql
+ name: {{ include "common.fullname" . }}-data
+ subPath: mysql
+ - mountPath: /etc/mysql/conf.d
+ name: conf
+ 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 }}
+
+ - name: xtrabackup
+ image: "{{ .Values.global.xtrabackupRepository | default .Values.xtrabackupRepository }}/{{ .Values.xtrabackupImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ ports:
+ - containerPort: {{ .Values.xtrabackup.internalPort }}
+ name: xtrabackup
+ command:
+ - bash
+ - "-c"
+ - |
+ set -ex
+ cd /var/lib/mysql
+ ls -l
+ # Determine binlog position of cloned data, if any.
+ if [[ -f xtrabackup_slave_info ]]; then
+ echo "Inside xtrabackup_slave_info"
+ # XtraBackup already generated a partial "CHANGE MASTER TO" query
+ # because we're cloning from an existing slave.
+ mv xtrabackup_slave_info change_master_to.sql.in
+ # Ignore xtrabackup_binlog_info in this case (it's useless).
+ rm -f xtrabackup_binlog_info
+ elif [[ -f xtrabackup_binlog_info ]]; then
+ echo "Inside xtrabackup_binlog_info"
+ # We're cloning directly from master. Parse binlog position.
+ [[ `cat xtrabackup_binlog_info` =~ ^(.*?)[[:space:]]+(.*?)$ ]] || exit 1
+ rm xtrabackup_binlog_info
+ echo "CHANGE MASTER TO MASTER_LOG_FILE='${BASH_REMATCH[1]}',\
+ MASTER_LOG_POS=${BASH_REMATCH[2]}" > change_master_to.sql.in
+ fi
+
+ # Check if we need to complete a clone by starting replication.
+ if [[ -f change_master_to.sql.in ]]; then
+ echo "Waiting for mysqld to be ready (accepting connections)"
+ [[ `hostname` =~ -([0-9]+)$ ]] || exit 1
+ ordinal=${BASH_REMATCH[1]}
+ echo $ordinal
+ until mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h localhost -e "SELECT 1"; do sleep 1; done
+
+ echo "Initializing replication from clone position"
+ # In case of container restart, attempt this at-most-once.
+ mv change_master_to.sql.in change_master_to.sql.orig
+ mysql --user=root --password=$MYSQL_ROOT_PASSWORD -h localhost <<EOF
+ $(<change_master_to.sql.orig),
+ MASTER_HOST="{{ template "common.name" . }}-0.{{ .Values.service.name }}.{{ include "common.namespace" . }}",
+ MASTER_USER="root",
+ MASTER_PASSWORD="$MYSQL_ROOT_PASSWORD",
+ MASTER_CONNECT_RETRY=10;
+ START SLAVE;
+ EOF
+ fi
+
+ # Start a server to send backups when requested by peers.
+ exec ncat --listen --keep-open --send-only --max-conns=1 3307 -c \
+ "xtrabackup --user=root --password=$MYSQL_ROOT_PASSWORD --backup --slave-info --stream=xbstream --host=localhost"
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-data
+ mountPath: /var/lib/mysql
+ subPath: mysql
+ - name: conf
+ mountPath: /etc/mysql/conf.d
+ volumes:
+ - name: conf
+ emptyDir: {}
+ - name: config-map
+ configMap:
+ name: {{ include "common.fullname" . }}-db-configmap
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-data
+#{{ if not .Values.disableNfsProvisioner }}
+ volumeClaimTemplates:
+ - metadata:
+ name: {{ include "common.fullname" . }}-data
+ annotations:
+ volume.beta.kubernetes.io/storage-class: "{{ include "common.fullname" . }}-data"
+ spec:
+ accessModes: ["ReadWriteMany"]
+ resources:
+ requests:
+ storage: 1Gi
+#{{ else if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}-data
+#{{ else }}
+ emptyDir: {}
+#{{ end }}
diff --git a/kubernetes/common/mysql/templates/storageclass.yaml b/kubernetes/common/mysql/templates/storageclass.yaml
new file mode 100644
index 0000000000..1a4e6b6bb7
--- /dev/null
+++ b/kubernetes/common/mysql/templates/storageclass.yaml
@@ -0,0 +1,6 @@
+kind: StorageClass
+apiVersion: storage.k8s.io/v1
+metadata:
+ name: "{{ include "common.fullname" . }}-data"
+ namespace: {{ include "common.namespace" . }}
+provisioner: {{ include "common.fullname" . }}/nfs
diff --git a/kubernetes/common/mysql/values.yaml b/kubernetes/common/mysql/values.yaml
new file mode 100644
index 0000000000..c0beb6fd22
--- /dev/null
+++ b/kubernetes/common/mysql/values.yaml
@@ -0,0 +1,111 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ persistence: {}
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.0.0
+
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+#repository: mysql
+repository: registry.hub.docker.com
+image: library/mysql:5.7
+pullPolicy: Always
+
+# application configuration
+config:
+ dbRootPassword: openECOMP1.0
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 30
+ periodSeconds: 10
+ timeoutSeconds: 5
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 5
+ periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+ enabled: false
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ accessMode: ReadWriteMany
+ size: 1Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: mysql/data
+
+service:
+ name: mysql
+ internalPort: 3306
+ # nfs provisioner ports
+ nfsPort: 2049
+ mountdPort: 20048
+ rpcbindPort: 111
+ rpcbindUdpPort: 111
+
+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
+
+#################################################################
+# Sidecar Configuration.
+#
+# xtrabackup configuration defaults.
+#################################################################
+xtrabackupRepository: gcr.io/google-samples
+xtrabackupImage: xtrabackup:1.0
+xtrabackup:
+ internalPort: 3307
+
+nfsprovisionerRepository: quay.io
+nfsprovisionerImage: kubernetes_incubator/nfs-provisioner:v1.0.8
+nfsprovisionerPrefix: mysql
+
+sdnctlPrefix: mysql
diff --git a/kubernetes/config/Chart.yaml b/kubernetes/config/Chart.yaml
index ddad999b9a..5c114e0761 100644
--- a/kubernetes/config/Chart.yaml
+++ b/kubernetes/config/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: ONAP configuration pod
name: config
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/bin/kubectl b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/bin/kubectl
deleted file mode 100755
index d53ce5f7f2..0000000000
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/bin/kubectl
+++ /dev/null
Binary files differ
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/aai-search-storage-write-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/aai-search-storage-write-script.sh
deleted file mode 100755
index fce0a63015..0000000000
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/aai-search-storage-write-script.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-if curl -s -X PUT http://elasticsearch.namespace-placeholder:9200/searchhealth/stats/testwrite -d @/consul/config/scripts/aai-search-storage-write-doc.txt | grep '\"created\":true'; then
- if curl -s -X DELETE http://elasticsearch.namespace-placeholder:9200/searchhealth/stats/testwrite | grep '\"failed\":0'; then
- if curl -s -X GET http://elasticsearch.namespace-placeholder:9200/searchhealth/stats/testwrite | grep '\"found\":false'; then
- echo Successful PUT, DELETE, GET from Search Document Storage 2>&1
- exit 0
- else
- echo Failed GET from Search Document Storage 2>&1
- exit 1
- fi
- else
- echo Failed DELETE from Search Document Storage 2>&1
- exit 1
- fi
-else
- echo Failed PUT from Search Document Storage 2>&1
- exit 1
-fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/appc-dbhost-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/appc-dbhost-script.sh
deleted file mode 100755
index 9abfd49ca7..0000000000
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/appc-dbhost-script.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-APPC_DBHOST_POD=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "appc-dbhost-[^[:space:]]*")
-if [ -n "$APPC_DBHOST_POD" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $APPC_DBHOST_POD -- ./healthcheck.sh |grep -i "mysqld is alive"; then
- echo Success. APPC DBHost is running. 2>&1
- exit 0
- else
- echo Failed. APPC DBHost is not running. 2>&1
- exit 1
- fi
-else
- echo Failed. APPC DBHost is offline. 2>&1
- exit 1
-fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/gremlin-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/gremlin-script.sh
deleted file mode 100755
index e55c90fdc1..0000000000
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/gremlin-script.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-
-NAME=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "gremlin[^[:space:]]*")
-
-if [ -n "$NAME" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $NAME -- ps -efww | grep 'java' | grep 'gremlin-server' > /dev/null; then
-
- echo Success. Gremlin Server process is running. 2>&1
- exit 0
- else
- echo Failed. Gremlin Server process is not running. 2>&1
- exit 1
- fi
-else
- echo Failed. Gremlin Server container is offline. 2>&1
- exit 1
-fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdnc-dbhost-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdnc-dbhost-script.sh
deleted file mode 100755
index 8a523ce0b5..0000000000
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdnc-dbhost-script.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-SDNC_DBHOST_POD=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "sdnc-dbhost-[^[:space:]]*")
-if [ -n "$SDNC_DBHOST_POD" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $SDNC_DBHOST_POD -- ./healthcheck.sh |grep -i "mysqld is alive"; then
- echo Success. SDNC DBHost is running. 2>&1
- exit 0
- else
- echo Failed. SDNC DBHost is not running. 2>&1
- exit 1
- fi
-else
- echo Failed. SDNC DBHost is offline. 2>&1
- exit 1
-fi
diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py b/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py
deleted file mode 100755
index 1b96b3a001..0000000000
--- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_properties.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# File generated from /opt/config
-#
-GLOBAL_INJECTED_AAI1_IP_ADDR = "aai-service.namespace-placeholder"
-GLOBAL_INJECTED_AAI2_IP_ADDR = "N/A"
-GLOBAL_INJECTED_APPC_IP_ADDR = "appc-sdnhost.namespace-placeholder"
-GLOBAL_INJECTED_ARTIFACTS_VERSION = "1.1.0-SNAPSHOT"
-GLOBAL_INJECTED_CLAMP_IP_ADDR = "clamp.namespace-placeholder"
-GLOBAL_INJECTED_CLOUD_ENV = "openstack"
-GLOBAL_INJECTED_DCAE_IP_ADDR = "dcae-controller.namespace-placeholder"
-GLOBAL_INJECTED_DNS_IP_ADDR = "10.0.100.1"
-GLOBAL_INJECTED_DOCKER_VERSION = "1.1-STAGING-latest"
-#GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
-GLOBAL_INJECTED_GERRIT_BRANCH = "master"
-GLOBAL_INJECTED_KEYSTONE = "OPENSTACK_KEYSTONE_IP_HERE"
-GLOBAL_INJECTED_MR_IP_ADDR = "dmaap.namespace-placeholder"
-GLOBAL_INJECTED_MSO_IP_ADDR = "mso.namespace-placeholder"
-GLOBAL_INJECTED_NETWORK = "OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE"
-GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "nexus3.onap.org:10001"
-GLOBAL_INJECTED_NEXUS_PASSWORD = "docker"
-GLOBAL_INJECTED_NEXUS_REPO = "https://nexus.onap.org/content/sites/raw"
-GLOBAL_INJECTED_NEXUS_USERNAME = "docker"
-GLOBAL_INJECTED_OPENO_IP_ADDR = "msb-iag.namespace-placeholder"
-GLOBAL_INJECTED_OPENSTACK_PASSWORD = "OPENSTACK_PASSWORD_HERE"
-GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "OPENSTACK_TENANT_ID_HERE"
-GLOBAL_INJECTED_OPENSTACK_USERNAME = "OPENSTACK_USERNAME_HERE"
-GLOBAL_INJECTED_POLICY_IP_ADDR = "pypdp.namespace-placeholder"
-GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "drools.namespace-placeholder"
-GLOBAL_INJECTED_PORTAL_IP_ADDR = "portalapps.namespace-placeholder"
-GLOBAL_INJECTED_REGION = "OPENSTACK_REGION_HERE"
-GLOBAL_INJECTED_REMOTE_REPO = "http://gerrit.onap.org/r/testsuite/properties.git"
-GLOBAL_INJECTED_SDC_IP_ADDR = "sdc-be.namespace-placeholder"
-GLOBAL_INJECTED_SDC_FE_IP_ADDR = "sdc-fe.namespace-placeholder"
-GLOBAL_INJECTED_SDC_BE_IP_ADDR = "sdc-be.namespace-placeholder"
-GLOBAL_INJECTED_SDNC_IP_ADDR = "sdnhost.namespace-placeholder"
-GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "sdnc-portal.namespace-placeholder"
-GLOBAL_INJECTED_SO_IP_ADDR = "mso.namespace-placeholder"
-GLOBAL_INJECTED_VID_IP_ADDR = "vid-server.namespace-placeholder"
-GLOBAL_INJECTED_VM_FLAVOR = "OPENSTACK_FLAVOUR_MEDIUM_HERE"
-GLOBAL_INJECTED_VM_IMAGE_NAME = "UBUNTU_14_IMAGE_NAME_HERE"
-GLOBAL_INJECTED_PUBLIC_NET_ID = "OPENSTACK_PUBLIC_NET_ID_HERE"
-
-GLOBAL_INJECTED_PROPERTIES = {
- "GLOBAL_INJECTED_AAI1_IP_ADDR" : "aai-service.namespace-placeholder",
- "GLOBAL_INJECTED_APPC_IP_ADDR" : "appc-sdnhost.namespace-placeholder",
- "GLOBAL_INJECTED_ARTIFACTS_VERSION" : "1.1.0-SNAPSHOT",
- "GLOBAL_INJECTED_CLAMP_IP_ADDR" : "clamp.namespace-placeholder",
- "GLOBAL_INJECTED_CLOUD_ENV" : "openstack",
- "GLOBAL_INJECTED_DCAE_IP_ADDR" : "dcae-controller.namespace-placeholder",
- "GLOBAL_INJECTED_DNS_IP_ADDR" : "10.0.100.1",
- "GLOBAL_INJECTED_DOCKER_VERSION" : "1.1-STAGING-latest",
- "GLOBAL_INJECTED_GERRIT_BRANCH" : "master",
- "GLOBAL_INJECTED_KEYSTONE" : "OPENSTACK_KEYSTONE_IP_HERE",
- "GLOBAL_INJECTED_MR_IP_ADDR" : "dmaap.namespace-placeholder",
- "GLOBAL_INJECTED_MSO_IP_ADDR" : "mso.namespace-placeholder",
- "GLOBAL_INJECTED_NETWORK" : "OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE",
- "GLOBAL_INJECTED_NEXUS_DOCKER_REPO" : "nexus3.onap.org:10001",
- "GLOBAL_INJECTED_NEXUS_PASSWORD" : "docker",
- "GLOBAL_INJECTED_NEXUS_REPO" : "https://nexus.onap.org/content/sites/raw",
- "GLOBAL_INJECTED_NEXUS_USERNAME" : "docker",
- "GLOBAL_INJECTED_OPENO_IP_ADDR" : "msb-iag.namespace-placeholder",
- "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "OPENSTACK_PASSWORD_HERE",
- "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "OPENSTACK_TENANT_ID_HERE",
- "GLOBAL_INJECTED_OPENSTACK_USERNAME" : "OPENSTACK_USERNAME_HERE",
- "GLOBAL_INJECTED_POLICY_IP_ADDR" : "pypdp.namespace-placeholder",
- "GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR" : "drools.namespace-placeholder",
- "GLOBAL_INJECTED_PORTAL_IP_ADDR" : "portalapps.namespace-placeholder",
- "GLOBAL_INJECTED_REGION" : "OPENSTACK_REGION_HERE",
- "GLOBAL_INJECTED_REMOTE_REPO" : "http://gerrit.onap.org/r/testsuite/properties.git",
- "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "sdc-fe.namespace-placeholder",
- "GLOBAL_INJECTED_SDC_BE_IP_ADDR" : "sdc-be.namespace-placeholder",
- "GLOBAL_INJECTED_SDNC_IP_ADDR" : "sdnhost.namespace-placeholder",
- "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "sdnc-portal.namespace-placeholder",
- "GLOBAL_INJECTED_SO_IP_ADDR" : "mso.namespace-placeholder",
- "GLOBAL_INJECTED_VID_IP_ADDR" : "vid-server.namespace-placeholder",
- "GLOBAL_INJECTED_VM_FLAVOR" : "OPENSTACK_FLAVOUR_MEDIUM_HERE",
- "GLOBAL_INJECTED_VM_IMAGE_NAME" : "UBUNTU_14_IMAGE_NAME_HERE",
- "GLOBAL_INJECTED_PUBLIC_NET_ID" : "OPENSTACK_PUBLIC_NET_ID_HERE"
-}
diff --git a/kubernetes/config/onap-parameters-sample.yaml b/kubernetes/config/onap-parameters-sample.yaml
index 51d5138c4c..80f05da6e3 100644
--- a/kubernetes/config/onap-parameters-sample.yaml
+++ b/kubernetes/config/onap-parameters-sample.yaml
@@ -1,3 +1,17 @@
+# 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.
+
OPENSTACK_UBUNTU_14_IMAGE: "Ubuntu_14.04.5_LTS"
OPENSTACK_PUBLIC_NET_ID: "e8f51956-00dd-4425-af36-045716781ffc"
OPENSTACK_OAM_NETWORK_ID: "d4769dfb-c9e4-4f72-b3d6-1d18f4ac4ee6"
diff --git a/kubernetes/config/onap-parameters.yaml b/kubernetes/config/onap-parameters.yaml
index 3910b60786..cd5154f09c 100644
--- a/kubernetes/config/onap-parameters.yaml
+++ b/kubernetes/config/onap-parameters.yaml
@@ -1,3 +1,17 @@
+# 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.
+
OPENSTACK_UBUNTU_14_IMAGE: ""
OPENSTACK_PUBLIC_NET_ID: ""
OPENSTACK_OAM_NETWORK_ID: ""
diff --git a/kubernetes/config/templates/pod.yaml b/kubernetes/config/templates/pod.yaml
index 38d27ee6e1..93c64ab3dd 100644
--- a/kubernetes/config/templates/pod.yaml
+++ b/kubernetes/config/templates/pod.yaml
@@ -1,3 +1,17 @@
+# 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: v1
kind: ConfigMap
metadata:
diff --git a/kubernetes/config/values.yaml b/kubernetes/config/values.yaml
index 243996d2d7..9fbbbfa3ea 100644
--- a/kubernetes/config/values.yaml
+++ b/kubernetes/config/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
# Default values for config.
nsPrefix: onap
dockerSharePath: /dockerdata-nfs
diff --git a/kubernetes/consul/Chart.yaml b/kubernetes/consul/Chart.yaml
index 2d2d7ba82c..b82c39b0be 100644
--- a/kubernetes/consul/Chart.yaml
+++ b/kubernetes/consul/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: ONAP Consul Heath Monitor
name: consul
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-data-router-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-data-router-health.json
index a60203694a..be41934e77 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-data-router-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/aai-data-router-health.json
@@ -5,7 +5,7 @@
{
"id": "data-router-process",
"name": "Synapse Presence",
- "script": "/consul/config/scripts/data-router-script.sh",
+ "script": "/consul/scripts/data-router-script.sh",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-hbase-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-hbase-health.json
index 1d23b88e0f..6b42e0cc4a 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-hbase-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/aai-hbase-health.json
@@ -5,7 +5,7 @@
{
"id": "hbase-aai",
"name": "HBase Health Check",
- "http": "http://hbase.namespace-placeholder:8080/status/cluster",
+ "http": "http://hbase.{{ .Values.nsPrefix }}:8080/status/cluster",
"method": "GET",
"header": {
"Cache-Control": ["no-cache"],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-model-loader-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-model-loader-health.json
index 4e2e305afd..044a844e35 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-model-loader-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/aai-model-loader-health.json
@@ -5,7 +5,7 @@
{
"id": "model-loader-process",
"name": "Model Loader Presence",
- "script": "/consul/config/scripts/model-loader-script.sh",
+ "script": "/consul/scripts/model-loader-script.sh",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-search-data-service-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-search-data-service-health.json
index bf8830f0df..2a111d66eb 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-search-data-service-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/aai-search-data-service-health.json
@@ -5,26 +5,26 @@
{
"id": "elasticsearch",
"name": "Search Data Service Document Store",
- "http": "http://aai-elasticsearch.namespace-placeholder:9200/_cat/indices?v",
+ "http": "http://aai-elasticsearch.{{ .Values.nsPrefix }}:9200/_cat/indices?v",
"interval": "15s",
"timeout": "1s"
},
{
"id": "elasticsearch-write-health",
"name": "Search Data Service Document Store Write Test",
- "script": "/consul/config/scripts/aai-search-storage-write-script.sh",
+ "script": "/consul/scripts/aai-search-storage-write-script.sh",
"interval": "60s"
},
{
"id": "search-data-service-availability",
"name": "Search Data Service Availability",
- "script": "curl -k --cert /consul/config/certs/client-cert-onap.crt.pem --cert-type PEM --key /consul/config/bin/client-cert-onap.key.pem --key-type PEM https://search-data-service.namespace-placeholder:9509/services/search-data-service/v1/jaxrsExample/jaxrs-services/echo/up 2>&1 | grep 'Up'",
+ "script": "curl -k --cert /consul/certs/client-cert-onap.crt.pem --cert-type PEM --key /consul/certs/client-cert-onap.key.pem --key-type PEM https://search-data-service.{{ .Values.nsPrefix }}:9509/services/search-data-service/v1/jaxrsExample/jaxrs-services/echo/up 2>&1 | grep 'Up'",
"interval": "15s"
},
{
"id": "search-data-service-api",
"name": "Search Data Service Operational Test",
- "script": "/consul/config/scripts/search-data-service-availability.sh",
+ "script": "/consul/scripts/search-data-service-availability.sh",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-services-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-services-health.json
index 99d964e7d8..0274cd53c7 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-services-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/aai-services-health.json
@@ -5,7 +5,7 @@
{
"id": "aai-service",
"name": "Core A&AI",
- "http": "https://aai-service.namespace-placeholder:8443/aai/util/echo",
+ "http": "https://aai-service.{{ .Values.nsPrefix }}:8443/aai/util/echo",
"header": {
"Authorization": ["Basic QUFJOkFBSQ=="],
"X-TransactionId": ["ConsulHealthCheck"],
@@ -18,7 +18,7 @@
{
"id": "aai-resources",
"name": "Resources Microservice",
- "http": "https://aai-resources.namespace-placeholder:8447/aai/util/echo",
+ "http": "https://aai-resources.{{ .Values.nsPrefix }}:8447/aai/util/echo",
"header": {
"Authorization": ["Basic QUFJOkFBSQ=="],
"X-TransactionId": ["ConsulHealthCheck"],
@@ -31,7 +31,7 @@
{
"id": "aai-traversal",
"name": "Traversal Microservice",
- "http": "https://aai-traversal.namespace-placeholder:8446/aai/util/echo",
+ "http": "https://aai-traversal.{{ .Values.nsPrefix }}:8446/aai/util/echo",
"header": {
"Authorization": ["Basic QUFJOkFBSQ=="],
"X-TransactionId": ["ConsulHealthCheck"],
@@ -40,13 +40,6 @@
"tls_skip_verify": true,
"interval": "15s",
"timeout": "1s"
- },
- {
- "id": "gremlin-server",
- "name": "Graph Data Store",
- "script": "/consul/config/scripts/gremlin-script.sh",
- "interval": "15s",
- "timeout": "1s"
}
]
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-sparky-be-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-sparky-be-health.json
index 6af58dbf4f..bf6305c1d0 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-sparky-be-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/aai-sparky-be-health.json
@@ -5,7 +5,7 @@
{
"id": "sparky-be-process",
"name": "UI Backend Presence",
- "script": "/consul/config/scripts/sparky-be-script.sh",
+ "script": "/consul/scripts/sparky-be-script.sh",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-tabular-backend-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-tabular-backend-health.json
index f76b33b3d8..c7fc19b2ee 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-tabular-backend-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/aai-tabular-backend-health.json
@@ -5,7 +5,7 @@
{
"id": "tabular-backend",
"name": "Tabular Data Store Operational Test",
- "script": "/consul/config/scripts/tabular-db-availability.sh",
+ "script": "/consul/scripts/tabular-db-availability.sh",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-dbbuilder.json b/kubernetes/consul/resources/config/consul-agent-config/appc-dbbuilder.json
index a6c3467855..9505246c25 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-dbbuilder.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/appc-dbbuilder.json
@@ -5,7 +5,7 @@
{
"id": "appc-dgbuilder",
"name": "APPC-Dgbuilder Server Health Check",
- "http": "http://appc-dgbuilder.namespace-placeholder:3000/",
+ "http": "http://appc-dgbuilder.{{ .Values.nsPrefix }}:3000/",
"method": "HEAD",
"header": {
"Authorization": ["Basic ZGd1c2VyOnRlc3QxMjM="],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-health.json b/kubernetes/consul/resources/config/consul-agent-config/appc-health.json
index 9d09a59982..86f2ce8da0 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/appc-health.json
@@ -5,7 +5,7 @@
{
"id": "appc-dbhost-healthcheck",
"name": "APPC DBHost Health Check",
- "script": "/consul/config/scripts/appc-dbhost-script.sh",
+ "script": "/consul/scripts/appc-dbhost-script.sh",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnctldb01-healthcheck.json b/kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb01-healthcheck.json
index 31f1b253f6..f36251a78f 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnctldb01-healthcheck.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb01-healthcheck.json
@@ -3,9 +3,9 @@
"name": "Health Check: APPC-SDN-CTL-DB-01",
"checks": [
{
- "id": "appc-sdnctldb01.namespace-placeholder",
+ "id": "appc-sdnctldb01.{{ .Values.nsPrefix }}",
"name": "APPC SDNCTLDB01 Health Check",
- "tcp": "appc-sdnctldb01.namespace-placeholder:3306",
+ "tcp": "appc-sdnctldb01.{{ .Values.nsPrefix }}:3306",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnctldb02-healthcheck.json b/kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb02-healthcheck.json
index 559e5a8cfe..8c8171fe5f 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnctldb02-healthcheck.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb02-healthcheck.json
@@ -3,9 +3,9 @@
"name": "Health Check: APPC-SDN-CTL-DB-02",
"checks": [
{
- "id": "appc-sdnctldb02.namespace-placeholder",
+ "id": "appc-sdnctldb02.{{ .Values.nsPrefix }}",
"name": "APPC SDNCTLDB02 Health Check",
- "tcp": "appc-sdnctldb02.namespace-placeholder:3306",
+ "tcp": "appc-sdnctldb02.{{ .Values.nsPrefix }}:3306",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnhost.json b/kubernetes/consul/resources/config/consul-agent-config/appc-sdnhost.json
index 09b50077d7..ec6db9d0cb 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/appc-sdnhost.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/appc-sdnhost.json
@@ -5,7 +5,7 @@
{
"id": "appc-sdnhost",
"name": "APPC SDN Host Health Check",
- "http": "http://appc-sdnhost.namespace-placeholder:8282/apidoc/explorer/index.html",
+ "http": "http://appc-sdnhost.{{ .Values.nsPrefix }}:8282/apidoc/explorer/index.html",
"method": "HEAD",
"header": {
"Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/certs/client-cert-onap.crt.pem b/kubernetes/consul/resources/config/consul-agent-config/certs/client-cert-onap.crt.pem
index 5696aa3570..5696aa3570 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/certs/client-cert-onap.crt.pem
+++ b/kubernetes/consul/resources/config/consul-agent-config/certs/client-cert-onap.crt.pem
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/certs/client-cert-onap.key.pem b/kubernetes/consul/resources/config/consul-agent-config/certs/client-cert-onap.key.pem
index c7e386e55f..c7e386e55f 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/certs/client-cert-onap.key.pem
+++ b/kubernetes/consul/resources/config/consul-agent-config/certs/client-cert-onap.key.pem
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-elastic-search.json b/kubernetes/consul/resources/config/consul-agent-config/log-elastic-search.json
index 3586f58932..d14b16487f 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-elastic-search.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/log-elastic-search.json
@@ -5,7 +5,7 @@
{
"id": "log-elasticsearch-server",
"name": "Log Elastic Search Health Check",
- "http": "http://elasticsearch.namespace-placeholder:9200/_cluster/health?pretty",
+ "http": "http://elasticsearch.{{ .Values.nsPrefix }}:9200/_cluster/health?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -14,7 +14,7 @@
{
"id": "log-elasticsearch-tcp",
"name": "Log Elastic Search TCP Health Check",
- "tcp": "elasticsearchtcp.namespace-placeholder:9300",
+ "tcp": "elasticsearchtcp.{{ .Values.nsPrefix }}:9300",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-kibana.json b/kubernetes/consul/resources/config/consul-agent-config/log-kibana.json
index 7fda31f8c0..cc72bbf3e2 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-kibana.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/log-kibana.json
@@ -5,7 +5,7 @@
{
"id": "log-kibana-server",
"name": "Log kibana Health Check",
- "http": "http://kibana.namespace-placeholder:5601/status",
+ "http": "http://kibana.{{ .Values.nsPrefix }}:5601/status",
"method": "HEAD",
"tls_skip_verify": true,
"interval": "15s",
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-logstash.json b/kubernetes/consul/resources/config/consul-agent-config/log-logstash.json
index e8e6236359..9eb60fdf8a 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/log-logstash.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/log-logstash.json
@@ -5,7 +5,7 @@
{
"id": "log-logstash-internal-server-gi",
"name": "Log Stash Health Check - General Information",
- "http": "http://logstashinternal.namespace-placeholder:9600/?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -14,7 +14,7 @@
{
"id": "log-logstash-internal-server-node-info",
"name": "Log Stash Health Check - Node Information",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -23,7 +23,7 @@
{
"id": "log-logstash-internal-server-os-info",
"name": "Log Stash Health Check - OS Information",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/os?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/os?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -32,7 +32,7 @@
{
"id": "log-logstash-internal-server-jvm-info",
"name": "Log Stash Health Check - JVM Information",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/jvm?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/jvm?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -41,7 +41,7 @@
{
"id": "log-logstash-internal-server-plugin-info",
"name": "Log Stash Health Check - Plugin Information",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/plugins?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/plugins?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -50,7 +50,7 @@
{
"id": "log-logstash-internal-server-node-stat",
"name": "Log Stash Health Check - Node Stats",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/stats?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/stats?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -59,7 +59,7 @@
{
"id": "log-logstash-internal-server-jvm-stat",
"name": "Log Stash Health Check - JVM Stats",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/stats/jvm?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/stats/jvm?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -68,7 +68,7 @@
{
"id": "log-logstash-internal-server-process-stat",
"name": "Log Stash Health Check - Process Stats",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/stats/process?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/stats/process?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -77,7 +77,7 @@
{
"id": "log-logstash-internal-server-os-stat",
"name": "Log Stash Health Check - OS Stats",
- "http": "http://logstashinternal.namespace-placeholder:9600/_node/stats/os?pretty",
+ "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/_node/stats/os?pretty",
"method": "GET",
"tls_skip_verify": true,
"interval": "15s",
@@ -86,7 +86,7 @@
{
"id": "log-logstash-tcp",
"name": "Log Stash File Beat TCP Health Check",
- "tcp": "logstash.namespace-placeholder:5044",
+ "tcp": "logstash.{{ .Values.nsPrefix }}:5044",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/model-loader.properties b/kubernetes/consul/resources/config/consul-agent-config/model-loader.properties
index b2db044417..b2db044417 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/model-loader.properties
+++ b/kubernetes/consul/resources/config/consul-agent-config/model-loader.properties
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-dmaap-health.json b/kubernetes/consul/resources/config/consul-agent-config/mr-dmaap-health.json
index dddd9692b9..ee0d90e30a 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-dmaap-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/mr-dmaap-health.json
@@ -2,7 +2,7 @@
"service": {
"name": "Health Check: Message Router - DMaaP",
"check": {
- "http": "http://dmaap.namespace-placeholder:3904/topics",
+ "http": "http://dmaap.{{ .Values.nsPrefix }}:3904/topics",
"interval": "30s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-kafka-health.json b/kubernetes/consul/resources/config/consul-agent-config/mr-kafka-health.json
index 128cf94460..df3b190726 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-kafka-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/mr-kafka-health.json
@@ -2,7 +2,7 @@
"service": {
"name": "Health Check: Message Router - Kafka",
"check": {
- "script": "/consul/config/scripts/mr-kafka-health.sh",
+ "script": "/consul/scripts/mr-kafka-health.sh",
"interval": "30s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-zookeeper-health.json b/kubernetes/consul/resources/config/consul-agent-config/mr-zookeeper-health.json
index 5268747349..36d295c1ef 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mr-zookeeper-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/mr-zookeeper-health.json
@@ -2,7 +2,7 @@
"service": {
"name": "Health Check: Message Router - ZooKeeper",
"check": {
- "script": "/consul/config/scripts/mr-zookeeper-health.sh",
+ "script": "/consul/scripts/mr-zookeeper-health.sh",
"interval": "30s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/msb-health.json b/kubernetes/consul/resources/config/consul-agent-config/msb-health.json
index 02e7dc47f4..d15c2ef829 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/msb-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/msb-health.json
@@ -3,34 +3,34 @@
"name": "Health Check: MSB",
"checks": [
{
- "id": "msb-eag.namespace-placeholder",
+ "id": "msb-eag.{{ .Values.nsPrefix }}",
"name": "MSB eag Health Check",
- "http": "http://msb-eag.namespace-placeholder:80/iui/microservices/default.html",
+ "http": "http://msb-eag.{{ .Values.nsPrefix }}:80/iui/microservices/default.html",
"method": "HEAD",
"tls_skip_verify": true,
"interval": "15s",
"timeout": "1s"
},
{
- "id": "msb-iag.namespace-placeholder",
+ "id": "msb-iag.{{ .Values.nsPrefix }}",
"name": "MSB iag Health Check",
- "http": "http://msb-iag.namespace-placeholder:80/iui/microservices/default.html",
+ "http": "http://msb-iag.{{ .Values.nsPrefix }}:80/iui/microservices/default.html",
"method": "HEAD",
"tls_skip_verify": true,
"interval": "15s",
"timeout": "1s"
},
{
- "id": "msb-consul.namespace-placeholder",
+ "id": "msb-consul.{{ .Values.nsPrefix }}",
"name": "MSB consul Health Check",
- "tcp": "msb-consul.namespace-placeholder:8500",
+ "tcp": "msb-consul.{{ .Values.nsPrefix }}:8500",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "msb-discovery.namespace-placeholder",
+ "id": "msb-discovery.{{ .Values.nsPrefix }}",
"name": "MSB discovery Health Check",
- "tcp": "msb-discovery.namespace-placeholder:10081",
+ "tcp": "msb-discovery.{{ .Values.nsPrefix }}:10081",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-health.json b/kubernetes/consul/resources/config/consul-agent-config/mso-health.json
index 354cd9ebab..1df7714a06 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/mso-health.json
@@ -5,21 +5,21 @@
{
"id": "mso-api-healthcheck",
"name": "MSO API Health Check",
- "script": "/consul/config/scripts/mso-api-script.sh",
+ "script": "/consul/scripts/mso-api-script.sh",
"interval": "10s",
"timeout": "1s"
},
{
"id": "mso-camunda-healthcheck",
"name": "MSO Camunda Health Check",
- "script": "/consul/config/scripts/mso-camunda-script.sh",
+ "script": "/consul/scripts/mso-camunda-script.sh",
"interval": "10s",
"timeout": "1s"
},
{
"id": "mso-jra-healthcheck",
"name": "MSO JRA Health Check",
- "script": "/consul/config/scripts/mso-jra-script.sh",
+ "script": "/consul/scripts/mso-jra-script.sh",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-mariabdb.json b/kubernetes/consul/resources/config/consul-agent-config/mso-mariabdb.json
index 710f4a8499..54bd2ef1fe 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-mariabdb.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/mso-mariabdb.json
@@ -5,7 +5,7 @@
{
"id": "mso-mariadb",
"name": "MSO Mariadb Health Check",
- "script": "/consul/config/scripts/mso-mariadb-script.sh",
+ "script": "/consul/scripts/mso-mariadb-script.sh",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/multicloud-health-check.json b/kubernetes/consul/resources/config/consul-agent-config/multicloud-health-check.json
index 760077c543..dba7c77307 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/multicloud-health-check.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/multicloud-health-check.json
@@ -5,7 +5,7 @@
{
"id": "framework",
"name": "Framework Health Check",
- "http": "http://framework.namespace-placeholder:9001/api/multicloud/v0/swagger.json",
+ "http": "http://framework.{{ .Values.nsPrefix }}:9001/api/multicloud/v0/swagger.json",
"method": "HEAD",
"header": {
"Cache-Control": ["no-cache"],
@@ -19,7 +19,7 @@
{
"id": "multicloud-ocata",
"name": "Multicloud Ocata Health Check",
- "http": "http://multicloud-ocata.namespace-placeholder:9006/api/multicloud-ocata/v0/swagger.json",
+ "http": "http://multicloud-ocata.{{ .Values.nsPrefix }}:9006/api/multicloud-ocata/v0/swagger.json",
"method": "HEAD",
"header": {
"Cache-Control": ["no-cache"],
@@ -33,7 +33,7 @@
{
"id": "multicloud-vio",
"name": "Multicloud Vio Health Check",
- "http": "http://multicloud-vio.namespace-placeholder:9004/api/multicloud-vio/v0/swagger.json",
+ "http": "http://multicloud-vio.{{ .Values.nsPrefix }}:9004/api/multicloud-vio/v0/swagger.json",
"method": "HEAD",
"header": {
"Cache-Control": ["no-cache"],
@@ -47,7 +47,7 @@
{
"id": "multicloud-windriver",
"name": "Multicloud Windriver Health Check",
- "http": "http://multicloud-windriver.namespace-placeholder:9005/api/multicloud-titanium_cloud/v0/swagger.json",
+ "http": "http://multicloud-windriver.{{ .Values.nsPrefix }}:9005/api/multicloud-titanium_cloud/v0/swagger.json",
"method": "HEAD",
"header": {
"Cache-Control": ["no-cache"],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/aai-search-storage-write-doc.txt b/kubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-doc.txt
index a6e084cfea..a6e084cfea 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/aai-search-storage-write-doc.txt
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-doc.txt
diff --git a/kubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-script.sh
new file mode 100755
index 0000000000..3d26f6e71e
--- /dev/null
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-script.sh
@@ -0,0 +1,17 @@
+if curl -s -X PUT http://aai-elasticsearch.{{ .Values.nsPrefix }}:9200/searchhealth/stats/testwrite -d @/consul/scripts/aai-search-storage-write-doc.txt | grep '\"created\":true'; then
+ if curl -s -X DELETE http://aai-elasticsearch.{{ .Values.nsPrefix }}:9200/searchhealth/stats/testwrite | grep '\"failed\":0'; then
+ if curl -s -X GET http://aai-elasticsearch.{{ .Values.nsPrefix }}:9200/searchhealth/stats/testwrite | grep '\"found\":false'; then
+ echo Successful PUT, DELETE, GET from Search Document Storage 2>&1
+ exit 0
+ else
+ echo Failed GET from Search Document Storage 2>&1
+ exit 1
+ fi
+ else
+ echo Failed DELETE from Search Document Storage 2>&1
+ exit 1
+ fi
+else
+ echo Failed PUT from Search Document Storage 2>&1
+ exit 1
+fi
diff --git a/kubernetes/consul/resources/config/consul-agent-config/scripts/appc-dbhost-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/appc-dbhost-script.sh
new file mode 100755
index 0000000000..5f91c5e89c
--- /dev/null
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/appc-dbhost-script.sh
@@ -0,0 +1,13 @@
+APPC_DBHOST_POD=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "appc-dbhost-[^[:space:]]*")
+if [ -n "$APPC_DBHOST_POD" ]; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $APPC_DBHOST_POD -- ./healthcheck.sh |grep -i "mysqld is alive"; then
+ echo Success. APPC DBHost is running. 2>&1
+ exit 0
+ else
+ echo Failed. APPC DBHost is not running. 2>&1
+ exit 1
+ fi
+else
+ echo Failed. APPC DBHost is offline. 2>&1
+ exit 1
+fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/data-router-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/data-router-script.sh
index 2c7a949987..035e7c8a38 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/data-router-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/data-router-script.sh
@@ -1,8 +1,8 @@
-NAME=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "data-router[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "aai-data-router[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $NAME -- ps -efww | grep 'java' | grep 'data-router' > /dev/null; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- ps -efww | grep 'java' | grep 'data-router' > /dev/null; then
echo Success. Synapse process is running. 2>&1
exit 0
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/model-loader-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/model-loader-script.sh
index 9f4f4a843d..9a4b4df28f 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/model-loader-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/model-loader-script.sh
@@ -1,8 +1,8 @@
-NAME=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "model-loader[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "aai-model-loader[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $NAME -- ps -efww | grep 'java' | grep 'model-loader' > /dev/null; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- ps -efww | grep 'java' | grep 'model-loader' > /dev/null; then
echo Success. Model Loader process is running. 2>&1
exit 0
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-kafka-health.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/mr-kafka-health.sh
index cde6e8f335..a109032d3b 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-kafka-health.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/mr-kafka-health.sh
@@ -1,6 +1,6 @@
-kafkapod=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "global-kafka-[^[:space:]]*")
+kafkapod=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "message-router-global-kafka-[^[:space:]]*")
if [ -n "$kafkapod" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $kafkapod -- ps ef | grep -i kafka; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $kafkapod -- ps ef | grep -i kafka; then
echo Success. Kafka process is running. 2>&1
exit 0
else
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-zookeeper-health.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/mr-zookeeper-health.sh
index 2534fcba9e..47c42d54ef 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mr-zookeeper-health.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/mr-zookeeper-health.sh
@@ -1,6 +1,6 @@
-zkpod=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "zookeeper-[^[:space:]]*")
+zkpod=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "message-router-zookeeper-[^[:space:]]*")
if [ -n "$zkpod" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $zkpod -- ps ef | grep -i zookeeper; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $zkpod -- ps ef | grep -i zookeeper; then
echo Success. Zookeeper process is running. 2>&1
exit 0
else
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-api-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-api-script.sh
index 459d2e2b34..8f3f85ce5e 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-api-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-api-script.sh
@@ -1,5 +1,5 @@
## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://mso.namespace-placeholder:8080/ecomp/mso/infra/healthcheck"
+HEALTH_CHECK_ENDPOINT="http://mso.{{ .Values.nsPrefix }}:8080/ecomp/mso/infra/healthcheck"
HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
READY=$(echo $HEALTH_CHECK_RESPONSE | grep "Application ready")
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-camunda-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-camunda-script.sh
index 8342843dd8..341ff193e9 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-camunda-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-camunda-script.sh
@@ -1,5 +1,5 @@
## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://mso.namespace-placeholder:8080/mso/healthcheck"
+HEALTH_CHECK_ENDPOINT="http://mso.{{ .Values.nsPrefix }}:8080/mso/healthcheck"
HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
READY=$(echo $HEALTH_CHECK_RESPONSE | grep "Application ready")
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-jra-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-jra-script.sh
index c88ebe5a49..beeb289517 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-jra-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-jra-script.sh
@@ -1,5 +1,5 @@
## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://mso.namespace-placeholder:8080/networks/rest/healthcheck"
+HEALTH_CHECK_ENDPOINT="http://mso.{{ .Values.nsPrefix }}:8080/networks/rest/healthcheck"
HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
READY=$(echo $HEALTH_CHECK_RESPONSE | grep "Application ready")
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-mariadb-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-mariadb-script.sh
index cabaa4bc29..aa73a73050 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-mariadb-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/mso-mariadb-script.sh
@@ -1,7 +1,7 @@
-NAME=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "mso-mariadb[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "mso-mariadb[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
echo Success. mariadb process is running. 2>&1
exit 0
else
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-be-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-be-script.sh
index 66f35d9437..00a05648d3 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-be-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-be-script.sh
@@ -1,5 +1,5 @@
## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.namespace-placeholder:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
## Strip out the ON_BOARDING section from the response XML (otherwise we will
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-cs-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-cs-script.sh
index cd50120581..9950cc9fdf 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-cs-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-cs-script.sh
@@ -1,5 +1,5 @@
## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.namespace-placeholder:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
## Strip out the ON_BOARDING section from the response XML (otherwise we will
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-fe-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-fe-script.sh
index 9799c31201..27f3b224c6 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-fe-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-fe-script.sh
@@ -1,5 +1,5 @@
## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.namespace-placeholder:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
## Strip out the ON_BOARDING section from the response XML (otherwise we will
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-titan-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-titan-script.sh
index bfa2068f29..c5955f3be3 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdc-titan-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-titan-script.sh
@@ -1,5 +1,5 @@
## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.namespace-placeholder:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
## Strip out the ON_BOARDING section from the response XML (otherwise we will
diff --git a/kubernetes/consul/resources/config/consul-agent-config/scripts/sdnc-dbhost-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdnc-dbhost-script.sh
new file mode 100755
index 0000000000..27b9b9f608
--- /dev/null
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/sdnc-dbhost-script.sh
@@ -0,0 +1,13 @@
+SDNC_DBHOST_POD=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "sdnc-dbhost-[^[:space:]]*")
+if [ -n "$SDNC_DBHOST_POD" ]; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $SDNC_DBHOST_POD -- ./healthcheck.sh |grep -i "mysqld is alive"; then
+ echo Success. SDNC DBHost is running. 2>&1
+ exit 0
+ else
+ echo Failed. SDNC DBHost is not running. 2>&1
+ exit 1
+ fi
+else
+ echo Failed. SDNC DBHost is offline. 2>&1
+ exit 1
+fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/search-data-service-availability.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/search-data-service-availability.sh
index ef96cca6a3..d5118736cd 100755..100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/search-data-service-availability.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/search-data-service-availability.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-SEARCH_SERVICE_NAME="search-data-service.namespace-placeholder"
+SEARCH_SERVICE_NAME="search-data-service.{{ .Values.nsPrefix }}"
SEARCH_SERVICE_PORT=9509
HEALTH_CHECK_INDEX="healthcheck"
@@ -8,13 +8,11 @@ HEALTH_CHECK_INDEX="healthcheck"
INDEX_URL="https://$SEARCH_SERVICE_NAME:$SEARCH_SERVICE_PORT/services/search-data-service/v1/search/indexes/$HEALTH_CHECK_INDEX"
INDEX_SCHEMA="{\"fields\":[{\"name\": \"field1\", \"data-type\": \"string\"}]}"
-
-SEARCH_CERT_FILE="/consul/config/certs/client-cert-onap.crt.pem"
-SEARCH_KEY_FILE="/consul/config/certs/client-cert-onap.key.pem"
-
+SEARCH_CERT_FILE="/consul/certs/client-cert-onap.crt.pem"
+SEARCH_KEY_FILE="/consul/certs/client-cert-onap.key.pem"
## Try to create an index via the Search Data Service API.
-CREATE_INDEX_RESP=$(curl -s -o /dev/null -w "%{http_code}" -k --cert $SEARCH_CERT_FILE --cert-type PEM --key $SEARCH_KEY_FILE --key-type PEM -d "$INDEX_SCHEMA" --header "Content-Type: application/json" --header "X-TransactionId: ConsulHealthCheck" -X PUT $INDEX_URL)
+CREATE_INDEX_RESP=$(curl -s -o /dev/null -w "%{http_code}" -k --cert $SEARCH_CERT_FILE --cert-type PEM --key $SEARCH_KEY_FILE --key-type PEM -d "$INDEX_SCHEMA" --header "Content-Type: application/json" --header "X-TransactionId: ConsulHealthCheck" -X PUT $INDEX_URL)
RESULT_STRING=" "
@@ -33,13 +31,13 @@ else
fi
## Now, clean up after ourselves.
-DELETE_INDEX_RESP=$(curl -s -o /dev/null -w "%{http_code}" -k --cert $SEARCH_CERT_FILE --cert-type PEM --key $SEARCH_KEY_FILE --key-type PEM -d "{ }" --header "Content-Type: application/json" --header "X-TransactionId: ConsulHealthCheck" -X DELETE $INDEX_URL)
+DELETE_INDEX_RESP=$(curl -s -o /dev/null -w "%{http_code}" -k --cert $SEARCH_CERT_FILE --cert-type PEM --key $SEARCH_KEY_FILE --key-type PEM -d "{ }" --header "Content-Type: application/json" --header "X-TransactionId: ConsulHealthCheck" -X DELETE $INDEX_URL)
if [ $DELETE_INDEX_RESP -eq 200 ]; then
RESULT_STRING="Service Is Able To Communicate With Back End"
-else
+else
RESULT_STRING="Service API Failure - $DELETE_INDEX_RESP"
- echo $RESULT_STRING
+ echo $RESULT_STRING
exit 1
fi
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sparky-be-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/sparky-be-script.sh
index 0791c5811d..7796681902 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sparky-be-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/sparky-be-script.sh
@@ -1,8 +1,8 @@
-NAME=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "aai-sparky-be[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "aai-sparky-be[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $NAME -- ps -efww | grep 'java' | grep 'sparky' > /dev/null; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- ps -efww | grep 'java' | grep 'sparky' > /dev/null; then
echo Success. UI Backend Service process is running. 2>&1
exit 0
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/tabular-db-availability.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/tabular-db-availability.sh
index ebec49769c..dc7768fc6e 100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/tabular-db-availability.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/tabular-db-availability.sh
@@ -1,6 +1,6 @@
# Query the Hbase service for the cluster status.
-GET_CLUSTER_STATUS_RESPONSE=$(curl -si -X GET -H "Accept: text/xml" http://aai-hbase.namespace-placeholder:8080/status/cluster)
+GET_CLUSTER_STATUS_RESPONSE=$(curl -si -X GET -H "Accept: text/xml" http://hbase.{{ .Values.nsPrefix }}:8080/status/cluster)
if [ -z "$GET_CLUSTER_STATUS_RESPONSE" ]; then
echo "Tabular store is unreachable."
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/vid-mariadb-script.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/vid-mariadb-script.sh
index 96c7969fac..bbb080f44d 100644..100755
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/vid-mariadb-script.sh
+++ b/kubernetes/consul/resources/config/consul-agent-config/scripts/vid-mariadb-script.sh
@@ -1,7 +1,7 @@
-NAME=$(/consul/config/bin/kubectl -n namespace-placeholder get pod | grep -o "vid-mariadb[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "vid-mariadb[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/config/bin/kubectl -n namespace-placeholder exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+ if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
echo Success. mariadb process is running. 2>&1
exit 0
else
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdc-health.json b/kubernetes/consul/resources/config/consul-agent-config/sdc-health.json
index 374dcdfd62..ec8ec86c25 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdc-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdc-health.json
@@ -5,35 +5,35 @@
{
"id": "sdc-fe-healthcheck",
"name": "SDC Front End Health Check",
- "script": "/consul/config/scripts/sdc-fe-script.sh",
+ "script": "/consul/scripts/sdc-fe-script.sh",
"interval": "10s",
"timeout": "1s"
},
{
"id": "sdc-be-healthcheck",
"name": "SDC Back End Health Check",
- "script": "/consul/config/scripts/sdc-be-script.sh",
+ "script": "/consul/scripts/sdc-be-script.sh",
"interval": "10s",
"timeout": "1s"
},
{
"id": "sdc-titan-healthcheck",
"name": "SDC Titan Health Check",
- "script": "/consul/config/scripts/sdc-titan-script.sh",
+ "script": "/consul/scripts/sdc-titan-script.sh",
"interval": "10s",
"timeout": "1s"
},
{
"id": "sdc-cs-healthcheck",
"name": "SDC Cassandra Health Check",
- "script": "/consul/config/scripts/sdc-cs-script.sh",
+ "script": "/consul/scripts/sdc-cs-script.sh",
"interval": "10s",
"timeout": "1s"
},
{
"id": "sdc-catalog-healthcheck",
"name": "SDC Catalog Health Check",
- "http": "https://sdc-be.namespace-placeholder:8443/asdc/v1/catalog/services",
+ "http": "https://sdc-be.{{ .Values.nsPrefix }}:8443/asdc/v1/catalog/services",
"header": {
"Authorization": ["Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="],
"X-ECOMP-InstanceID": ["VID"],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dbhost.json b/kubernetes/consul/resources/config/consul-agent-config/sdnc-dbhost.json
index 28d711b72f..ea0ae562e9 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dbhost.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdnc-dbhost.json
@@ -5,7 +5,7 @@
{
"id": "sdnc-dbhost-healthcheck",
"name": "SDNC DBHOST Health Check",
- "script": "/consul/config/scripts/sdnc-dbhost-script.sh",
+ "script": "/consul/scripts/sdnc-dbhost-script.sh",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dgbuilder.json b/kubernetes/consul/resources/config/consul-agent-config/sdnc-dgbuilder.json
index 6c293995eb..6ae14afac6 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dgbuilder.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdnc-dgbuilder.json
@@ -5,7 +5,7 @@
{
"id": "sdnc-dgbuilder",
"name": "SDNC-DGbuilder Health Check",
- "http": "http://sdnc-dgbuilder.namespace-placeholder:3000/",
+ "http": "http://sdnc-dgbuilder.{{ .Values.nsPrefix }}:3000/",
"method": "HEAD",
"header": {
"Authorization": ["Basic ZGd1c2VyOnRlc3QxMjM="],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-health.json b/kubernetes/consul/resources/config/consul-agent-config/sdnc-health.json
index a127aa1d27..0ee5e8951d 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdnc-health.json
@@ -5,7 +5,7 @@
{
"id": "odl-api-healthcheck",
"name": "SDNC API Health Check",
- "http": "http://sdnhost.namespace-placeholder:8282/restconf/operations/SLI-API:healthcheck",
+ "http": "http://sdnhost.{{ .Values.nsPrefix }}:8282/restconf/operations/SLI-API:healthcheck",
"method": "POST",
"header": {
"Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-portal-health.json b/kubernetes/consul/resources/config/consul-agent-config/sdnc-portal-health.json
index 07f2bb7b95..092df058e3 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-portal-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdnc-portal-health.json
@@ -5,7 +5,7 @@
{
"id": "sdnc-portal",
"name": "SDNC Portal Health Check",
- "http": "http://sdnc-portal.namespace-placeholder:8843/login",
+ "http": "http://sdnc-portal.{{ .Values.nsPrefix }}:8843/login",
"method": "HEAD",
"header": {
"Cache-Control": ["no-cache"],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnctldb01-healthcheck.json b/kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb01-healthcheck.json
index 6b859c0894..ed4a29d7f6 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnctldb01-healthcheck.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb01-healthcheck.json
@@ -3,9 +3,9 @@
"name": "Health Check: SDNC-SDN-CTL-DB-01",
"checks": [
{
- "id": "sdnctldb01.namespace-placeholder",
+ "id": "sdnctldb01.{{ .Values.nsPrefix }}",
"name": "SDNC SDNCTLDB01 Health Check",
- "tcp": "sdnctldb01.namespace-placeholder:3306",
+ "tcp": "sdnctldb01.{{ .Values.nsPrefix }}:3306",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnctldb02-healthcheck.json b/kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb02-healthcheck.json
index c6ad3beb93..8c4700b6f0 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnctldb02-healthcheck.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb02-healthcheck.json
@@ -3,9 +3,9 @@
"name": "Health Check: SDNC-SDN-CTL-DB-02",
"checks": [
{
- "id": "sdnctldb02.namespace-placeholder",
+ "id": "sdnctldb02.{{ .Values.nsPrefix }}",
"name": "SDNC SDNCTLDB02 Health Check",
- "tcp": "sdnctldb02.namespace-placeholder:3306",
+ "tcp": "sdnctldb02.{{ .Values.nsPrefix }}:3306",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnhost.json b/kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnhost.json
index 9494810081..585b9c0b69 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-sdnhost.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnhost.json
@@ -5,7 +5,7 @@
{
"id": "sdnc-sdnhost",
"name": "SDNC SDN Host Health Check",
- "http": "http://sdnhost.namespace-placeholder:8282/apidoc/explorer/index.html",
+ "http": "http://sdnhost.{{ .Values.nsPrefix }}:8282/apidoc/explorer/index.html",
"method": "HEAD",
"header": {
"Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/vfc-health.json b/kubernetes/consul/resources/config/consul-agent-config/vfc-health.json
index abc9e7f6b4..5ace3e4d9b 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/vfc-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/vfc-health.json
@@ -3,107 +3,107 @@
"name": "Health Check: VFC",
"checks": [
{
- "id": "vfc-catalog.namespace-placeholder",
+ "id": "vfc-catalog.{{ .Values.nsPrefix }}",
"name": "VFC catalog Health Check",
- "tcp": "vfc-catalog.namespace-placeholder:8806",
+ "tcp": "vfc-catalog.{{ .Values.nsPrefix }}:8806",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-emsdriver.namespace-placeholder",
+ "id": "vfc-emsdriver.{{ .Values.nsPrefix }}",
"name": "VFC emsdriver Health Check",
- "tcp": "vfc-emsdriver.namespace-placeholder:8206",
+ "tcp": "vfc-emsdriver.{{ .Values.nsPrefix }}:8206",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-gvnfmdriver.namespace-placeholder",
+ "id": "vfc-gvnfmdriver.{{ .Values.nsPrefix }}",
"name": "VFC gvnfmdriver Health Check",
- "tcp": "vfc-gvnfmdriver.namespace-placeholder:8484",
+ "tcp": "vfc-gvnfmdriver.{{ .Values.nsPrefix }}:8484",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-hwvnfmdriver.namespace-placeholder",
+ "id": "vfc-hwvnfmdriver.{{ .Values.nsPrefix }}",
"name": "VFC hwvnfmdriver Health Check",
- "tcp": "vfc-hwvnfmdriver.namespace-placeholder:8482",
+ "tcp": "vfc-hwvnfmdriver.{{ .Values.nsPrefix }}:8482",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-jujudriver.namespace-placeholder",
+ "id": "vfc-jujudriver.{{ .Values.nsPrefix }}",
"name": "VFC jujudriver Health Check",
- "tcp": "vfc-jujudriver.namespace-placeholder:8483",
+ "tcp": "vfc-jujudriver.{{ .Values.nsPrefix }}:8483",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-nokiavnfmdriver.namespace-placeholder",
+ "id": "vfc-nokiavnfmdriver.{{ .Values.nsPrefix }}",
"name": "VFC nokiavnfmdriver Health Check",
- "tcp": "vfc-nokiavnfmdriver.namespace-placeholder:8486",
+ "tcp": "vfc-nokiavnfmdriver.{{ .Values.nsPrefix }}:8486",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-nslcm.namespace-placeholder",
+ "id": "vfc-nslcm.{{ .Values.nsPrefix }}",
"name": "VFC nslcm Health Check",
- "tcp": "vfc-nslcm.namespace-placeholder:8403",
+ "tcp": "vfc-nslcm.{{ .Values.nsPrefix }}:8403",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-resmgr.namespace-placeholder",
+ "id": "vfc-resmgr.{{ .Values.nsPrefix }}",
"name": "VFC resmgr Health Check",
- "tcp": "vfc-resmgr.namespace-placeholder:8480",
+ "tcp": "vfc-resmgr.{{ .Values.nsPrefix }}:8480",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-vnflcm.namespace-placeholder",
+ "id": "vfc-vnflcm.{{ .Values.nsPrefix }}",
"name": "VFC vnflcm Health Check",
- "tcp": "vfc-vnflcm.namespace-placeholder:8801",
+ "tcp": "vfc-vnflcm.{{ .Values.nsPrefix }}:8801",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-vnfmgr.namespace-placeholder",
+ "id": "vfc-vnfmgr.{{ .Values.nsPrefix }}",
"name": "VFC vnfmgr Health Check",
- "tcp": "vfc-vnfmgr.namespace-placeholder:8803",
+ "tcp": "vfc-vnfmgr.{{ .Values.nsPrefix }}:8803",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-vnfres.namespace-placeholder",
+ "id": "vfc-vnfres.{{ .Values.nsPrefix }}",
"name": "VFC vnfres Health Check",
- "tcp": "vfc-vnfres.namespace-placeholder:8802",
+ "tcp": "vfc-vnfres.{{ .Values.nsPrefix }}:8802",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-workflow.namespace-placeholder",
+ "id": "vfc-workflow.{{ .Values.nsPrefix }}",
"name": "VFC workflow Health Check",
- "tcp": "vfc-workflow.namespace-placeholder:10550",
+ "tcp": "vfc-workflow.{{ .Values.nsPrefix }}:10550",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-workflowengineactiviti.namespace-placeholder",
+ "id": "vfc-workflowengineactiviti.{{ .Values.nsPrefix }}",
"name": "VFC workflow-engine Health Check",
- "tcp": "vfc-workflowengineactiviti.namespace-placeholder:8080",
+ "tcp": "vfc-workflowengineactiviti.{{ .Values.nsPrefix }}:8080",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-ztesdncdriver.namespace-placeholder",
+ "id": "vfc-ztesdncdriver.{{ .Values.nsPrefix }}",
"name": "VFC ztesdncdriver Health Check",
- "tcp": "vfc-ztesdncdriver.namespace-placeholder:8411",
+ "tcp": "vfc-ztesdncdriver.{{ .Values.nsPrefix }}:8411",
"interval": "15s",
"timeout": "1s"
},
{
- "id": "vfc-ztevnfmdriver.namespace-placeholder",
+ "id": "vfc-ztevnfmdriver.{{ .Values.nsPrefix }}",
"name": "VFC ztevnfmdriver Health Check",
- "tcp": "vfc-ztevnfmdriver.namespace-placeholder:8410",
+ "tcp": "vfc-ztevnfmdriver.{{ .Values.nsPrefix }}:8410",
"interval": "15s",
"timeout": "1s"
}
diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/vid-health.json b/kubernetes/consul/resources/config/consul-agent-config/vid-health.json
index 39d71c4e5e..2dc6f0a9dc 100644
--- a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/vid-health.json
+++ b/kubernetes/consul/resources/config/consul-agent-config/vid-health.json
@@ -5,7 +5,7 @@
{
"id": "vid-server",
"name": "VID Server Health Check",
- "http": "http://vid-server.namespace-placeholder:8080/vid/healthCheck",
+ "http": "http://vid-server.{{ .Values.nsPrefix }}:8080/vid/healthCheck",
"method": "GET",
"header": {
"Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
@@ -20,7 +20,7 @@
{
"id": "vid-mariadb",
"name": "Vid Mariadb Health Check",
- "script": "/consul/config/scripts/vid-mariadb-script.sh",
+ "script": "/consul/scripts/vid-mariadb-script.sh",
"interval": "10s",
"timeout": "1s"
}
diff --git a/kubernetes/consul/templates/consul-agent-configmap.yaml b/kubernetes/consul/templates/consul-agent-configmap.yaml
new file mode 100644
index 0000000000..57d52c4de1
--- /dev/null
+++ b/kubernetes/consul/templates/consul-agent-configmap.yaml
@@ -0,0 +1,39 @@
+# 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.
+
+#{{ if not .Values.disableConsulConsulAgent }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: consul-agent-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/consul-agent-config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: consul-agent-scripts-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/consul-agent-config/scripts/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: consul-agent-certs-secret
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/consul-agent-config/certs/*").AsSecrets . | indent 2 }}
+#{{ end }}
diff --git a/kubernetes/consul/templates/consul-agent-deployment.yaml b/kubernetes/consul/templates/consul-agent-deployment.yaml
index a2bbe6636f..2c4a14a9b6 100644
--- a/kubernetes/consul/templates/consul-agent-deployment.yaml
+++ b/kubernetes/consul/templates/consul-agent-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableConsulConsulAgent }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -18,15 +32,26 @@ spec:
name: consul-agent
spec:
containers:
- - image: "{{ .Values.consulimageRegistry }}:{{ .Values.consuldockerTag }}"
+ - image: "{{ .Values.consulagentRegistry }}"
command: ["/usr/local/bin/docker-entrypoint.sh"]
args: ["agent","-client","0.0.0.0","-enable-script-checks","-join","consul-server.{{ .Values.nsPrefix }}"]
name: consul-server
volumeMounts:
- mountPath: /consul/config
name: consul-agent-config
+ - mountPath: /consul/scripts
+ name: consul-agent-scripts-config
+ - mountPath: /consul/certs
+ name: consul-agent-certs-config
volumes:
- - hostPath:
- path: {{ .Values.rootHostPath }}/{{ .Values.nsPrefix }}/consul/consul-agent-config
+ - configMap:
+ name: consul-agent-configmap
name: consul-agent-config
+ - configMap:
+ name: consul-agent-scripts-configmap
+ defaultMode: 0755
+ name: consul-agent-scripts-config
+ - secret:
+ secretName: consul-agent-certs-secret
+ name: consul-agent-certs-config
#{{ end }}
diff --git a/kubernetes/consul/templates/consul-server-deployment.yaml b/kubernetes/consul/templates/consul-server-deployment.yaml
index 6aafee4cb2..50dfb77d5e 100644
--- a/kubernetes/consul/templates/consul-server-deployment.yaml
+++ b/kubernetes/consul/templates/consul-server-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableConsulConsulServer }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -18,15 +32,8 @@ spec:
name: consul-server
spec:
containers:
- - image: "{{ .Values.consulimageRegistry }}:{{ .Values.consuldockerTag }}"
+ - image: "{{ .Values.consulserverRegistry }}"
command: ["/usr/local/bin/docker-entrypoint.sh"]
args: ["agent","-server","-client","0.0.0.0","-enable-script-checks","-bootstrap-expect=3","-ui","-join","consul-server.{{ .Values.nsPrefix }}"]
name: consul-server
- volumeMounts:
- - mountPath: /consul/config
- name: consul-server-config
- volumes:
- - hostPath:
- path: {{ .Values.rootHostPath }}/{{ .Values.nsPrefix }}/consul/consul-server-config
- name: consul-server-config
#{{ end }}
diff --git a/kubernetes/consul/templates/consul-server-service.yaml b/kubernetes/consul/templates/consul-server-service.yaml
index a1e0801eab..1a646b4aba 100644
--- a/kubernetes/consul/templates/consul-server-service.yaml
+++ b/kubernetes/consul/templates/consul-server-service.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableConsulConsulServer }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/consul/values.yaml b/kubernetes/consul/values.yaml
index a6909d7d21..e86937a34c 100644
--- a/kubernetes/consul/values.yaml
+++ b/kubernetes/consul/values.yaml
@@ -1,8 +1,21 @@
+# 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.
+
nsPrefix: "onap"
nodePortPrefix: 302
-consuldockerTag: "latest"
-rootHostPath: "/dockerdata-nfs"
-consulimageRegistry: "docker.io/consul"
+consulserverRegistry: "docker.io/consul:1.0.6"
+consulagentRegistry: "oomk8s/consul:1.0.0"
consulAgentReplicas: 1
consulServerReplicas: 3
service:
diff --git a/kubernetes/dcae/Chart.yaml b/kubernetes/dcae/Chart.yaml
deleted file mode 100644
index 168a2148f0..0000000000
--- a/kubernetes/dcae/Chart.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: v1
-description: DCAE Gen 1
-name: DCAE
-version: 1.1.0
diff --git a/kubernetes/dcae/README b/kubernetes/dcae/README
deleted file mode 100644
index c733355682..0000000000
--- a/kubernetes/dcae/README
+++ /dev/null
@@ -1,18 +0,0 @@
-DCAE Port mapping
------------------------------------------------------------------------------------------
-Container name | Connector name | Node port | Target port |
------------------------------------------------------------------------------------------
-dcae-collector-common-event | dcae-ce1 | 30236 | 8080 |
------------------------------------------------------------------------------------------
- | dcae-ce2 | 30237 | 8443 |
------------------------------------------------------------------------------------------
- | dcae-ce3 | 30238 | 9999 |
------------------------------------------------------------------------------------------
-dcae-collector-dmaapbc | dcae-bc1 | 30239 | 8080 |
------------------------------------------------------------------------------------------
- | dcae-bc2 | 30240 | 8443 |
------------------------------------------------------------------------------------------
-dcae-ves-collector | dcae-ves1 | 30241 | 8080 |
------------------------------------------------------------------------------------------
- | dcae-ves2 | 30242 | 9999 |
------------------------------------------------------------------------------------------
diff --git a/kubernetes/dcae/cdap/docker/00-provisioning.sh b/kubernetes/dcae/cdap/docker/00-provisioning.sh
deleted file mode 100755
index 98b67c4476..0000000000
--- a/kubernetes/dcae/cdap/docker/00-provisioning.sh
+++ /dev/null
@@ -1,257 +0,0 @@
-#!/bin/bash
-set -x
-
-export DEBIAN_FRONTEND=noninteractive
-
-##############################################################
-################### File provisioning ########################
-##############################################################
-
-cd /tmp
-
-
-## Adding configuration file: mount_config
-cat > /tmp/dcae-mount.conf << EOF_CONFIG
-osType: ubuntu
-volumes:
- ephemeral:
- uuid: ephemeral
- size: 80
- filesystems:
- /opt/tools:
- size: 80
- type: ext4
- mount_opts: ''
- data:
- uuid: cinder
- size: 75
- filesystems:
- /opt/data:
- size: 75
- type: ext4
- mount_opts: ''
-EOF_CONFIG
-
-
-## Adding configuration file: ecomp-nexus
-cat > /tmp/ecomp-nexus.crt << EOF_CONFIG
------BEGIN CERTIFICATE-----
-MIIFRTCCBC2gAwIBAgIQM/5eM8D0jY3yHTSyN5iO9zANBgkqhkiG9w0BAQsFADCB
-kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
-A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV
-BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
-QTAeFw0xNzAzMjgwMDAwMDBaFw0xODAzMjgyMzU5NTlaMFcxITAfBgNVBAsTGERv
-bWFpbiBDb250cm9sIFZhbGlkYXRlZDEdMBsGA1UECxMUUG9zaXRpdmVTU0wgV2ls
-ZGNhcmQxEzARBgNVBAMMCioub25hcC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IB
-DwAwggEKAoIBAQDIVo+kmG2sGaeIJy5pqP6mzlIwqYUXcFOG2fodsCPg9CEdlsBO
-IECuoPYmCqrJ/MHLfs+F+SjEoBfpJlqyrpLhVj8O/9xCp4Tda/YJ18n59uDJ7Rpq
-omqZlFCj/B4+H6+dkWCFy1FxYBBAIO52iscd4F6YHD1p3xUjJRd9Yf6qnktmSooI
-hbIKzPIpSTsYiN3ArWbrGeucoQUdKX+intRHFLkKay88R7yqoqguPFIEtkXwDoJj
-aV+rC103eZ1RLwtBcS/4UcDXRDfkyQANAYvKGeHiyGuRQqEUyGEmKz2i11m1oyEP
-uD1AK+zPd33wBdOe8iZMr0CxcOGhgcKOWJ7vAgMBAAGjggHRMIIBzTAfBgNVHSME
-GDAWgBSQr2o6lFoL2JDqElZz30O0Oija5zAdBgNVHQ4EFgQUMVkz3DD9qwhzY5WT
-/P1mCVpsauQwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
-FAYIKwYBBQUHAwEGCCsGAQUFBwMCME8GA1UdIARIMEYwOgYLKwYBBAGyMQECAgcw
-KzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNvbS9DUFMwCAYG
-Z4EMAQIBMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwuY29tb2RvY2EuY29t
-L0NPTU9ET1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcmwwgYUG
-CCsGAQUFBwEBBHkwdzBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5jb21vZG9jYS5j
-b20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAk
-BggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMB8GA1UdEQQYMBaC
-Cioub25hcC5vcmeCCG9uYXAub3JnMA0GCSqGSIb3DQEBCwUAA4IBAQAd5mu22sts
-at/bdRlIOz3dbqGwIFOo8XajlAs6ApMpyx/xetcgIKipzvGp9Wc1X8lDZl4boCH6
-KQ1//4tpksYj8RsZSZeac8vQLKggWO107sBa33yFg6Y1Dk2DdgOKZ+lNbvB1iMwK
-hSGtV3HYx1jLyQRoeYby4R7+kTI1lHAiOgT+vn5C9Z3TxqfgWuBf24CFp/95gki6
-vRysJh9Jf7A8JrrMGykC94Tpo6OiUehtQ+f65xtetvwsfNHVp3hsLzR5KwIMDARI
-IgXKyROodILsOXfR9qdA9klcXUSi6qvKF8wAopNuot4Ltyz8chiFKISjxqVrKnY2
-M7En/HyX0s1I
------END CERTIFICATE-----
-EOF_CONFIG
-
-
-## Adding configuration file: vm-cdap-cluster-cdap.properties
-cat > /tmp/vm-cdap-cluster-cdap.properties << EOF_CONFIG
-cluster.endpoint= foobar
-cluster.user= foobar
-cluster.password= foobar
-EOF_CONFIG
-
-
-## Adding configuration file: vm-cdap-cluster-console.properties
-cat > /tmp/vm-cdap-cluster-console.properties << EOF_CONFIG
-localhost.endpoint=http://localhost:1999
-localhost.user=console
-localhost.password=NTJhYWU1NzAwMzc3OTk1
-EOF_CONFIG
-
-
-## Adding configuration file: vm-cdap-cluster-gui.properties
-cat > /tmp/vm-cdap-cluster-gui.properties << EOF_CONFIG
-EOF_CONFIG
-
-
-## Adding configuration file: vm-cdap-cluster-log4j.properties
-cat > /tmp/vm-cdap-cluster-log4j.properties << EOF_CONFIG
-#log4j.debug=0
-log4j.rootLogger=warn, file
-log4j.logger.org.openecomp.ncomp=info, file
-log4j.additivity.org.openecomp.ncomp=false
-
-#log4j.logger.org.apache.http.headers=debug, file
-#log4j.logger.org.apache.http.wire=debug, file
-## uploaded logger
-log4j.logger.org.openecomp.ncomp.sirius.manager.uploaded=info, uploaded
-log4j.additivity.org.openecomp.ncomp.sirius.manager.uploaded=false
-## request logging
-log4j.logger.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=info, requests
-log4j.additivity.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=false
-## openstack polling
-log4j.logger.org.openecomp.ncomp.openstack.OpenStackUtil.polling=info, polling
-log4j.additivity.org.openecomp.ncomp.openstack.OpenStackUtil.polling=false
-log4j.appender.file=org.apache.log4j.RollingFileAppender
-log4j.appender.file.File=logs/manager.log
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.file.MaxFileSize=50MB
-log4j.appender.file.MaxBackupIndex=5
-
-log4j.appender.uploaded=org.apache.log4j.RollingFileAppender
-log4j.appender.uploaded.File=logs/manager-uploaded.log
-log4j.appender.uploaded.layout=org.apache.log4j.PatternLayout
-log4j.appender.uploaded.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.uploaded.MaxFileSize=50MB
-log4j.appender.uploaded.MaxBackupIndex=5
-
-log4j.appender.requests=org.apache.log4j.RollingFileAppender
-log4j.appender.requests.File=logs/manager-requests.log
-log4j.appender.requests.layout=org.apache.log4j.PatternLayout
-log4j.appender.requests.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.requests.MaxFileSize=50MB
-log4j.appender.requests.MaxBackupIndex=5
-log4j.appender.polling=org.apache.log4j.RollingFileAppender
-log4j.appender.polling.File=logs/manager-polling.log
-log4j.appender.polling.layout=org.apache.log4j.PatternLayout
-log4j.appender.polling.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.polling.MaxFileSize=50MB
-log4j.appender.polling.MaxBackupIndex=5
-
-### ECOMP Logging
-log4j.logger.org.openecomp.audit=info, audit
-log4j.additivity.org.openecomp.audit=false
-log4j.logger.org.openecomp.metrics=info, metrics
-log4j.additivity.org.openecomp.metrics=false
-log4j.logger.org.openecomp.error=info, error
-log4j.additivity.org.openecomp.error=false
-log4j.logger.com.att.eelf.debug=info, debug
-log4j.additivity.org.openecomp.debug=false
-log4j.appender.audit=org.apache.log4j.RollingFileAppender
-log4j.appender.audit.File=logs/audit.log
-log4j.appender.audit.layout=org.apache.log4j.PatternLayout
-log4j.appender.audit.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%5p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.audit.MaxFileSize=50MB
-log4j.appender.audit.MaxBackupIndex=5
-log4j.appender.metrics=org.apache.log4j.RollingFileAppender
-log4j.appender.metrics.File=logs/metrics.log
-log4j.appender.metrics.layout=org.apache.log4j.PatternLayout
-log4j.appender.metrics.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.metrics.MaxFileSize=50MB
-log4j.appender.metrics.MaxBackupIndex=5
-log4j.appender.error=org.apache.log4j.RollingFileAppender
-log4j.appender.error.File=logs/error.log
-log4j.appender.error.layout=org.apache.log4j.PatternLayout
-log4j.appender.error.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.error.MaxFileSize=50MB
-log4j.appender.error.MaxBackupIndex=5
-log4j.appender.debug=org.apache.log4j.RollingFileAppender
-log4j.appender.debug.File=logs/debug.log
-log4j.appender.debug.layout=org.apache.log4j.PatternLayout
-log4j.appender.debug.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.debug.MaxFileSize=50MB
-log4j.appender.debug.MaxBackupIndex=5
-EOF_CONFIG
-
-
-## Adding configuration file: vm-cdap-cluster-manager.properties
-cat > /tmp/vm-cdap-cluster-manager.properties << EOF_CONFIG
-server.dir = data/resources
-metrics.dir = data/metrics
-properties.dir = data/properties
-server.port = 1999
-server.user.console = NTJhYWU1NzAwMzc3OTk1
-server.user.gui = MDlhZWVjZWEwMmFiOTJi
-server.user.client = YmE2OGE1N2U5NzRmMDg1
-EOF_CONFIG
-
-
-## Adding configuration file: vm-cdap-cluster-runtime.properties
-cat > /tmp/vm-cdap-cluster-runtime.properties << EOF_CONFIG
-factory.vm=org.openecomp.dcae.controller.service.servers.vm.DcaeVmFactory
-
-## Adding configuration file: monitoring-agent-gui.properties
-cat > /tmp/monitoring-agent-gui.properties << EOF_CONFIG
-EOF_CONFIG
-
-
-cat > /tmp/certificate.pkcs12.b64code << EOF_CERT
-EOF_CERT
-
-
-##############################################################
-################## Config Provisioning #######################
-##############################################################
-
-mkdir -p ~/.ssh
-touch ~/.ssh/authorized_keys
-echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBn8Ctt5hJGkTQaffuSeINeABV4viBIM4TcP14kaLiWR1LkyNY+TaUnjxODobtZa4YW1lxFtoMCfZt2A5W9ZZPM+shZr4BOj+wU+xIrzn7ezN/CQjH7c4Wh0mWteuPnJrtdpyGQ/qBI2T+xo5G/Tl++SPUvvN2D4H8vl0miEgVPR47/P7Ba6kl7Bmrf9m0VDPdS69Qr2AhgBq5Qi/fTeGZA4sfKDHHRJxkQIXYmS8R5FISRpBD7ta2NTHapRz9dC6Cw8UttEFiWFUBjN6lwF9LUOkj9MiqiTQaElKKQzMIHr0AhlgIkwBLKAJoDrGQD9GKPwKCdW3OmnODMPxJjXc3 > ~/.ssh/authorized_keys
-
-cp /tmp/ecomp-nexus.crt /usr/local/share/ca-certificates/ ; update-ca-certificates
-
-wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-core-utils/1.1.0/dcae-controller-core-utils-1.1.0-runtime.zip -P /opt/app/dcae-controller-core-utils
-
-cd /opt/app/dcae-controller-core-utils
-unzip -o dcae-controller-core-utils*.zip
-
-chown -R dcae:dcae /opt/app/dcae-controller-core-utils
-
-/opt/app/dcae-controller-core-utils/bin/fs-init.py
-
-wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-cdap-cluster-manager/1.1.0/dcae-controller-service-cdap-cluster-manager-1.1.0-runtime.zip -P /opt/app/dcae-controller-service-cdap-cluster-manager
-
-cd /opt/app/dcae-controller-service-cdap-cluster-manager
-unzip -o dcae-controller-service-cdap-cluster-manager*.zip
-
-chown -R dcae:dcae /opt/app/dcae-controller-service-cdap-cluster-manager
-
-wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-dmaap-drsub/1.1.0/dcae-controller-service-dmaap-drsub-1.1.0.pom -P /opt/app/dcae-controller-service-dmaap-drsub
-
-chown -R dcae:dcae /opt/app/dcae-controller-service-dmaap-drsub
-
-curl -s -k -f -o /tmp/dcae-apod-cdap-small-hadoop_1.1.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.apod.cdap/deb-releases/dcae-apod-cdap-small-hadoop_1.1.0.deb
-
-curl -s -k -f -o /tmp/dcae-apod-analytics-tca_1.1.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.apod.analytics/deb-releases/dcae-apod-analytics-tca_1.1.0.deb
-
-curl -s -k -f -o /tmp/HelloWorld-3.5.1.jar http://repo1.maven.org/maven2/co/cask/cdap/HelloWorld/3.5.1/HelloWorld-3.5.1.jar
-mkdir -p /opt/app/cask-hello-world/lib
-mv /tmp/HelloWorld-3.5.1.jar /opt/app/cask-hello-world/lib
-
-find /opt -type f -exec sed -i 's/sudo//g' {} \;
-
-apt-key adv --keyserver-options --keyserver keyserver.ubuntu.com --recv 07513CAD
-wget -qO - http://repository.cask.co/ubuntu/precise/amd64/cdap/3.5/pubkey.gpg | apt-key add -
-
-wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-dmaap-drsub-manager/1.1.0/dcae-controller-service-dmaap-drsub-manager-1.1.0-runtime.zip -P /opt/app/dcae-controller-service-dmaap-drsub-manager
-
-cd /opt/app/dcae-controller-service-dmaap-drsub-manager
-unzip -o dcae-controller-service-dmaap-drsub-manager-1.1.0-runtime.zip
-
-chown -R dcae:dcae /opt/app/dcae-controller-service-dmaap-drsub-manager
-
-mkdir /home/dcae/.ssh
-chmod og-rwx /home/dcae/.ssh
-chown -R dcae:dcae /home/dcae/.ssh
-touch /home/dcae/.ssh/authorized_keys
-chmod og-rwx /home/dcae/.ssh/authorized_keys
-chown -R dcae:dcae /home/dcae/.ssh/authorized_keys
-echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBn8Ctt5hJGkTQaffuSeINeABV4viBIM4TcP14kaLiWR1LkyNY+TaUnjxODobtZa4YW1lxFtoMCfZt2A5W9ZZPM+shZr4BOj+wU+xIrzn7ezN/CQjH7c4Wh0mWteuPnJrtdpyGQ/qBI2T+xo5G/Tl++SPUvvN2D4H8vl0miEgVPR47/P7Ba6kl7Bmrf9m0VDPdS69Qr2AhgBq5Qi/fTeGZA4sfKDHHRJxkQIXYmS8R5FISRpBD7ta2NTHapRz9dC6Cw8UttEFiWFUBjN6lwF9LUOkj9MiqiTQaElKKQzMIHr0AhlgIkwBLKAJoDrGQD9GKPwKCdW3OmnODMPxJjXc3 >> /home/dcae/.ssh/authorized_keys
-
-#bash /opt/app/dcae-cdap-small-hadoop/install.sh
diff --git a/kubernetes/dcae/cdap/docker/01-entrypoint.sh b/kubernetes/dcae/cdap/docker/01-entrypoint.sh
deleted file mode 100755
index 952d1d4cc6..0000000000
--- a/kubernetes/dcae/cdap/docker/01-entrypoint.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-
-dpkg --install /tmp/dcae-apod-cdap-small-hadoop_1.1.0.deb
-dpkg --install /tmp/dcae-apod-analytics-tca_1.1.0.deb
-
-bash /opt/app/dcae-cdap-small-hadoop/install.sh
-su dcae -c "/opt/app/dcae-controller-service-cdap-cluster-manager/bin/manager.sh config"
-su dcae -c "/opt/app/dcae-controller-service-cdap-cluster-manager/bin/manager.sh restart" \ No newline at end of file
diff --git a/kubernetes/dcae/cdap/docker/Dockerfile b/kubernetes/dcae/cdap/docker/Dockerfile
deleted file mode 100644
index 5b8583ee51..0000000000
--- a/kubernetes/dcae/cdap/docker/Dockerfile
+++ /dev/null
@@ -1,57 +0,0 @@
-FROM ubuntu:16.04
-
-# Setup apt.conf proxy settings
-#RUN echo 'Acquire::http::proxy "http://some.proxy:8084/";' >> /etc/apt/apt.conf
-
-# Setup Corporate proxy
-#ENV no_proxy "localhost,127.0.0.1,localaddress,.localdomain.com,192.168.141.0/24"
-#ENV https_proxy http://some.proxy:8084/
-#ENV http_proxy http://fsome.proxy:8084/
-#ENV HTTP_PROXY http://some.proxy:8084/
-#ENV HTTPS_PROXY http://some.proxy:8084/
-#ENV FTP_PROXY http://some.proxy:8084/
-#ENV NO_PROXY "localhost,127.0.0.1,localaddress,.localdomain.com,192.168.141.0/24"
-
-# Additional packages
-RUN apt-get update -y
-RUN apt-get install -y git wget unzip curl dnsutils sudo
-RUN apt-get install -y maven unzip
-
-# Install python and pip
-RUN apt-get install -y python
-RUN wget https://bootstrap.pypa.io/get-pip.py
-RUN python get-pip.py
-RUN rm get-pip.py
-RUN pip install pyyaml
-
-# Install Groovy
-RUN mkdir -p /opt/app
-RUN (cd /opt/app ; curl -Lo apache-groovy-binary-2.4.6.zip https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.6.zip )
-RUN (cd /opt/app ; unzip apache-groovy-binary-2.4.6.zip )
-RUN mkdir -p /opt/app/java/jdk
-RUN ln -s /usr /opt/app/java/jdk/jdk170
-RUN mkdir -p /opt/app/groovy
-RUN ln -s /opt/app/groovy-2.4.6 /opt/app/groovy/246
-ENV JAVA_HOME /opt/app/java/jdk/jdk170
-
-# Create user dcae
-RUN if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-# Hadoop
-EXPOSE 8020 8025 50070 50075 50010 50020
-
-# Zookeeper
-EXPOSE 3888 2888 2181
-
-VOLUME /opt/tools
-VOLUME /opt/data
-
-# Provisioning
-COPY 00-provisioning.sh /usr/local/bin/00-provisioning.sh
-RUN chmod a+x /usr/local/bin/00-provisioning.sh
-RUN /usr/local/bin/00-provisioning.sh
-
-# define the entrypoint
-COPY 01-entrypoint.sh /usr/local/bin/01-entrypoint.sh
-RUN chmod a+x /usr/local/bin/01-entrypoint.sh
-ENTRYPOINT ["/usr/local/bin/01-entrypoint.sh"]
diff --git a/kubernetes/dcae/cdap/docker/docker-compose.yaml b/kubernetes/dcae/cdap/docker/docker-compose.yaml
deleted file mode 100644
index 8800c10e81..0000000000
--- a/kubernetes/dcae/cdap/docker/docker-compose.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-version: '2'
-services:
- cdap00:
- build: .
- hostname: zldcprivatecloudtruecdap00
- image: cdap
- ports:
- - 8020
- - 50070
- - 50075
- - 50010
- - 50020
- - 3888
- - 2888
- - 2181
- - 8025
- cdap01:
- build: .
- hostname: zldcprivatecloudtruecdap01
- image: cdap
- ports:
- - 8020
- - 50070
- - 50075
- - 50010
- - 50020
- - 3888
- - 2888
- - 2181
- - 8025
- cdap02:
- build: .
- hostname: zldcprivatecloudtruecdap02
- image: cdap
- ports:
- - 8020
- - 50070
- - 50075
- - 50010
- - 50020
- - 3888
- - 2888
- - 2181
- - 8025 \ No newline at end of file
diff --git a/kubernetes/dcae/cdap/docker/fs/Dockerfile b/kubernetes/dcae/cdap/docker/fs/Dockerfile
deleted file mode 100644
index 4e458dcd1e..0000000000
--- a/kubernetes/dcae/cdap/docker/fs/Dockerfile
+++ /dev/null
@@ -1,4 +0,0 @@
-FROM ubuntu:16.04
-
-RUN mkdir -p /cdap
-VOLUME /cdap \ No newline at end of file
diff --git a/kubernetes/dcae/pgaas/Dockerfile b/kubernetes/dcae/pgaas/Dockerfile
deleted file mode 100755
index e1d147dfa9..0000000000
--- a/kubernetes/dcae/pgaas/Dockerfile
+++ /dev/null
@@ -1,45 +0,0 @@
-FROM ubuntu:16.04
-
-# Install additional packages
-RUN apt-get update && apt-get -y install maven openjdk-8-jdk unzip python-pip curl dnsutils vim gawk wget openssh-client-ssh1
-RUN pip install pyyaml
-
-RUN apt-get update && apt-get install -y postgresql libpq5 repmgr python-psycopg2 python3-psycopg2 libgetopt-java
-RUN rm -f /usr/sbin/policy-rc.d
-
-# Install Groovy
-RUN mkdir -p /opt/app
-RUN (cd /opt/app ; curl -Lo apache-groovy-binary-2.4.6.zip https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.6.zip )
-RUN (cd /opt/app ; unzip apache-groovy-binary-2.4.6.zip )
-RUN mkdir -p /opt/app/java/jdk
-RUN ln -s /usr /opt/app/java/jdk/jdk170
-RUN mkdir -p /opt/app/groovy
-RUN ln -s /opt/app/groovy-2.4.6 /opt/app/groovy/246
-
-# Create user dcae
-RUN if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-# Download required packages
-RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb
-RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb
-RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb
-RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb
-RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb
-
-RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/*
-
-RUN mkdir -p /opt/tools
-RUN mkdir -p /dbroot/pgdata
-RUN mkdir -p /dbroot/pglogs
-
-EXPOSE 5432
-
-VOLUME /opt/tools
-VOLUME /dbroot/pgdata
-VOLUME /dbroot/pglogs
-
-# Setup the entrypoint
-COPY setup.sh /usr/local/bin/entrypoint.sh
-RUN chmod a+x /usr/local/bin/entrypoint.sh
-
-ENTRYPOINT ["usr/local/bin/entrypoint.sh"]
diff --git a/kubernetes/dcae/pgaas/setup.sh b/kubernetes/dcae/pgaas/setup.sh
deleted file mode 100755
index a843995003..0000000000
--- a/kubernetes/dcae/pgaas/setup.sh
+++ /dev/null
@@ -1,437 +0,0 @@
-#!/bin/bash
-cat > /tmp/dcae_install.sh << EOF_DCAE_INSTALL
-#!/bin/bash
-set -x
-cd /tmp
-
-export DEBIAN_FRONTEND=noninteractive
-
-#### Using special configuration resource: instances/vm-postgresql/iad4.yaml
-## Adding configuration file: main
-cat | cat > /tmp/postgres.conf << EOF_CONFIG
-master: zldciad4vipstg00
-secondmaster: notused
-DRTR_NODE_KSTOREFILE: /opt/app/dcae-certificate/keystore.jks
-DRTR_NODE_KSTOREPASS: "No Certificate"
-DRTR_NODE_PVTKEYPASS: "No Certificate"
-PG_NODES : zldciad4vipstg00
-PG_JAVA_HOME : /opt/app/java/jdk/jdk170
-PG_CLUSTER : site
-EOF_CONFIG
-
-## Adding configuration file: mount_config
-cat | cat > /tmp/dcae-mount.conf << EOF_CONFIG
-osType: ubuntu
-volumes:
- opt:
- uuid: ephemeral
- size: 80
- filesystems:
- /opt/tools:
- size: 80
- type: ext4
- mount_opts: ''
- dbroot:
- uuid: cinder
- size: 75
- filesystems:
- /dbroot/pgdata:
- size: 50
- type: ext4
- mount_opts: ''
- /dbroot/pglogs:
- size: 25
- type: ext4
- mount_opts: ''
-
-EOF_CONFIG
-
-## Adding configuration file: ecomp-nexus
-cat > /tmp/ecomp-nexus.crt << EOF_CONFIG
------BEGIN CERTIFICATE-----
-MIIDtzCCAp+gAwIBAgIEet16RjANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJVUzEUMBIGA1UE
-CBMLVW5zcGVjaWZpZWQxFDASBgNVBAcTC1Vuc3BlY2lmaWVkMREwDwYDVQQKEwhTb25hdHlwZTEQ
-MA4GA1UECxMHRXhhbXBsZTEWMBQGA1UEAwwNKi5lY29tcC1uZXh1czAeFw0xNjExMTQxMDE5NDJa
-Fw0zMDA3MjQxMDE5NDJaMHYxCzAJBgNVBAYTAlVTMRQwEgYDVQQIEwtVbnNwZWNpZmllZDEUMBIG
-A1UEBxMLVW5zcGVjaWZpZWQxETAPBgNVBAoTCFNvbmF0eXBlMRAwDgYDVQQLEwdFeGFtcGxlMRYw
-FAYDVQQDDA0qLmVjb21wLW5leHVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqkDu
-vC91cZxOaRMYGHSyDeuw4hyXjqyD5Etl5L5TNN7+uFKEtvXsRYOxtD62TqWHKozffLE5o6zoRZL4
-8qNTQyAx0LaEfWfR2w0jat+UqtqEtW0xpOD0/O0qRq5Y/XG3Yr8SQ/y84Pr1FIflM7pM4PZTt3kc
-UfqzbaONW5K8t+UG+5jgNXdRk3hln8WMunVZeci0J6TV+tWs9tOeAKBdpI7K7LV+FJBaF8vBAw2x
-8AhlNPXKQUhK+M3DD73c1aLWrZ3mIwJXt2oQUDwgtXGCPR1/Z9f2tTAoDxpzvkwtP/BtH3qvgtpY
-QfDNmWbJVHh6ll39Hapt7V0v4aCRSN21ZQIDAQABo00wSzAMBgNVHRMEBTADAQH/MBwGA1UdEQQV
-MBOCC2Vjb21wLW5leHVzhwQK0MVLMB0GA1UdDgQWBBQxcUlk/lkKkwSz0GuewbXptJxl+zANBgkq
-hkiG9w0BAQsFAAOCAQEAPnNbtdreMZaUSjv+1eqpriLKquwnZhnwWENn1u3sw4hTAWQc+ehhogGg
-eIqPN81Dt3jhr0bYZW+r3gGq7tgrLxdSXso8bTtqHsFLszirgWcQXDlBQGnw9wqp/KBzeDJInJep
-d6aGu3yBXV6459S/mClxZTSvsR+Vz3rRWxx01R3/ft5/myqrRMDnEncqPopTbEamBuUJL3eJDpFO
-xlVqYR3y6AXwwguMaTiHMfFBmDOVaz4K8Qy6AaHH9eoch9fxOJ/7ASvqSwkC9GYTJSnF2vE37rmH
-kPp//Vm4WSnQ2NrBGkH9rUUdYdDdgWJYnTeZ+YFd8J6z9xNiEn9QKQNNcA==
------END CERTIFICATE-----
-
-EOF_CONFIG
-## Adding configuration file: vm-postgresql-console.properties
-cat > /tmp/vm-postgresql-console.properties << EOF_CONFIG
-localhost.endpoint=http://localhost:9999
-localhost.user=console
-localhost.password=MDBmMzE0NTgyMDU1NmVj
-EOF_CONFIG
-
-## Adding configuration file: vm-postgresql-gui.properties
-cat > /tmp/vm-postgresql-gui.properties << EOF_CONFIG
-EOF_CONFIG
-
-## Adding configuration file: vm-postgresql-log4j.properties
-cat > /tmp/vm-postgresql-log4j.properties << EOF_CONFIG
-#log4j.debug=0
-log4j.rootLogger=warn, file
-log4j.logger.org.openecomp.ncomp=info, file
-log4j.additivity.org.openecomp.ncomp=false
-
-#log4j.logger.org.apache.http.headers=debug, file
-#log4j.logger.org.apache.http.wire=debug, file
-## uploaded logger
-log4j.logger.org.openecomp.ncomp.sirius.manager.uploaded=info, uploaded
-log4j.additivity.org.openecomp.ncomp.sirius.manager.uploaded=false
-## request logging
-log4j.logger.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=info, requests
-log4j.additivity.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=false
-## openstack polling
-log4j.logger.org.openecomp.ncomp.openstack.OpenStackUtil.polling=info, polling
-log4j.additivity.org.openecomp.ncomp.openstack.OpenStackUtil.polling=false
-log4j.appender.file=org.apache.log4j.RollingFileAppender
-log4j.appender.file.File=logs/manager.log
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.file.MaxFileSize=50MB
-log4j.appender.file.MaxBackupIndex=5
-
-log4j.appender.uploaded=org.apache.log4j.RollingFileAppender
-log4j.appender.uploaded.File=logs/manager-uploaded.log
-log4j.appender.uploaded.layout=org.apache.log4j.PatternLayout
-log4j.appender.uploaded.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.uploaded.MaxFileSize=50MB
-log4j.appender.uploaded.MaxBackupIndex=5
-
-log4j.appender.requests=org.apache.log4j.RollingFileAppender
-log4j.appender.requests.File=logs/manager-requests.log
-log4j.appender.requests.layout=org.apache.log4j.PatternLayout
-log4j.appender.requests.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.requests.MaxFileSize=50MB
-log4j.appender.requests.MaxBackupIndex=5
-log4j.appender.polling=org.apache.log4j.RollingFileAppender
-log4j.appender.polling.File=logs/manager-polling.log
-log4j.appender.polling.layout=org.apache.log4j.PatternLayout
-log4j.appender.polling.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n
-log4j.appender.polling.MaxFileSize=50MB
-log4j.appender.polling.MaxBackupIndex=5
-
-### ECOMP Logging
-log4j.logger.org.openecomp.audit=info, audit
-log4j.additivity.org.openecomp.audit=false
-log4j.logger.org.openecomp.metrics=info, metrics
-log4j.additivity.org.openecomp.metrics=false
-log4j.logger.org.openecomp.error=info, error
-log4j.additivity.org.openecomp.error=false
-log4j.logger.com.att.eelf.debug=info, debug
-log4j.additivity.org.openecomp.debug=false
-log4j.appender.audit=org.apache.log4j.RollingFileAppender
-log4j.appender.audit.File=logs/audit.log
-log4j.appender.audit.layout=org.apache.log4j.PatternLayout
-log4j.appender.audit.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%5p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.audit.MaxFileSize=50MB
-log4j.appender.audit.MaxBackupIndex=5
-log4j.appender.metrics=org.apache.log4j.RollingFileAppender
-log4j.appender.metrics.File=logs/metrics.log
-log4j.appender.metrics.layout=org.apache.log4j.PatternLayout
-log4j.appender.metrics.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.metrics.MaxFileSize=50MB
-log4j.appender.metrics.MaxBackupIndex=5
-log4j.appender.error=org.apache.log4j.RollingFileAppender
-log4j.appender.error.File=logs/error.log
-log4j.appender.error.layout=org.apache.log4j.PatternLayout
-log4j.appender.error.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.error.MaxFileSize=50MB
-log4j.appender.error.MaxBackupIndex=5
-log4j.appender.debug=org.apache.log4j.RollingFileAppender
-log4j.appender.debug.File=logs/debug.log
-log4j.appender.debug.layout=org.apache.log4j.PatternLayout
-log4j.appender.debug.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n
-log4j.appender.debug.MaxFileSize=50MB
-log4j.appender.debug.MaxBackupIndex=5
-EOF_CONFIG
-
-## Adding configuration file: vm-postgresql-manager.properties
-cat > /tmp/vm-postgresql-manager.properties << EOF_CONFIG
-server.dir = data/resources
-metrics.dir = data/metrics
-properties.dir = data/properties
-server.port = 9999
-server.user.console = MDBmMzE0NTgyMDU1NmVj
-server.user.gui = M2NiOTg1YzNiYTI2NTJh
-server.user.client = OTNmMmFkYzkxMzYzNTk0
-EOF_CONFIG
-
-## Adding configuration file: vm-postgresql-runtime.properties
-cat > /tmp/vm-postgresql-runtime.properties << EOF_CONFIG
-factory.vm=org.openecomp.dcae.controller.service.servers.vm.DcaeVmFactory
-factory.postgres=org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl
-EOF_CONFIG
-
-## Adding configuration file: vm-postgresql-hosts
-cat > /tmp/vm-postgresql-hosts << EOF_CONFIG
-EOF_CONFIG
-
-## Adding configuration file: monitoring-agent-gui.properties
-cat > /tmp/monitoring-agent-gui.properties << EOF_CONFIG
-EOF_CONFIG
-
-cat >> /etc/hosts << HOSTS_EOF
-HOSTS_EOF
-
-cat > /tmp/certificate.pkcs12.b64code << EOF_CERT
-EOF_CERT
-
-##############################################################
-##################### CLOUDINIT ##############################
-##############################################################
-
-## need to fix cloudinit in Centos.
-
-CLOUDHOSTCFG=/etc/cloud/cloud.cfg.d/99_hostname.cfg
-if [ -f /etc/redhat-release ]; then
- # CentOS/RHEL
- ( echo "hostname: \$(hostname)"; echo "fqdn: \$(hostname -f)" ) > \$CLOUDHOSTCFG
-fi
-
-mkdir -p ~/.ssh
-touch ~/.ssh/authorized_keys
-
-echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYz++VKcW3Sw0Sh7fFyTIjXED6NUUNYbje7awcnvaHHAC0rUxs7boX6hmWDViXoGZA5xw4Xhk5kIEs+zxMCDlF1q/9rbyq5ndonlBz3aPx7+SBqVR5sPalbSr8dJhGPwpj/0Df+FzqjGVL2p2d4VV7SeT/kKrNcSY6SmYHln6osoGFAHsOZC0d+fiba4zfCI9EI6zHdyCujwayjQ5W5UgA50XQ0KXpI5WtF6MOwO6jPL3SNNDlWobG/nsCAMxTQ04dALpYSoamM12Ps72MfxEwaKkoAcsH6WsFbuvoUSXwNcosmyxYrxNynsUz4C2Tz+PZqelGvm8Y8MtNuhN7oqAD root@ecomp-jumpbox >> /home/ubuntu/.ssh/authorized_keys
-
-######### step-1
-
-cp /tmp/ecomp-nexus.crt /usr/local/share/ca-certificates/ ; update-ca-certificates
-
-######### step-2
-
-echo 162.242.254.138 ecomp-nexus >> /etc/hosts
-
-######### step-3
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-case runtime in
- %*)
- A1=org.openecomp.dcae.controller:dcae-controller-core-utils:1.0.0:zip
- ;;
- *)
- A1=org.openecomp.dcae.controller:dcae-controller-core-utils:1.0.0:zip:runtime
- ;;
-esac
-
-wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-core-utils/1.0.0/dcae-controller-core-utils-1.0.0-runtime.zip -P /opt/app/dcae-controller-core-utils
-
-case zip in
- jar)
- mkdir /opt/app/dcae-controller-core-utils/lib
- mv /opt/app/dcae-controller-core-utils/*.jar /opt/app/dcae-controller-core-utils/lib
- ;;
- zip)
- ( cd /opt/app/dcae-controller-core-utils ; unzip -o dcae-controller-core-utils*.zip )
- ;;
-esac
-
-chown -R dcae:dcae /opt/app/dcae-controller-core-utils
-
-######### step-4
-
-/opt/app/dcae-controller-core-utils/bin/fs-init.py
-
-######### step-5
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-case runtime in
- %*)
- A1=org.openecomp.dcae.controller:dcae-controller-service-common-vm-manager:1.0.0:zip
- ;;
- *)
- A1=org.openecomp.dcae.controller:dcae-controller-service-common-vm-manager:1.0.0:zip:runtime
- ;;
-esac
-
-wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-common-vm-manager/1.0.0/dcae-controller-service-common-vm-manager-1.0.0-runtime.zip -P /opt/app/dcae-controller-service-common-vm-manager
-
-case zip in
- jar)
- mkdir /opt/app/dcae-controller-service-common-vm-manager/lib
- mv /opt/app/dcae-controller-service-common-vm-manager/*.jar /opt/app/dcae-controller-service-common-vm-manager/lib
- ;;
- zip)
- ( cd /opt/app/dcae-controller-service-common-vm-manager ; unzip -o dcae-controller-service-common-vm-manager*.zip )
- ;;
-esac
-
-chown -R dcae:dcae /opt/app/dcae-controller-service-common-vm-manager
-
-######### step-6
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-case %{assemblyId} in
- %*)
- A1=org.openecomp.dcae.controller:dcae-controller-service-storage-postgres-model:1.0.0:jar
- ;;
- *)
- A1=org.openecomp.dcae.controller:dcae-controller-service-storage-postgres-model:1.0.0:jar:%{assemblyId}
- ;;
-esac
-
-wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-storage-postgres-model/1.0.0/dcae-controller-service-storage-postgres-model-1.0.0.jar -P /opt/app/dcae-controller-service-storage-postgres-model
-
-case jar in
- jar)
- mkdir /opt/app/dcae-controller-service-storage-postgres-model/lib
- mv /opt/app/dcae-controller-service-storage-postgres-model/*.jar /opt/app/dcae-controller-service-storage-postgres-model/lib
- ;;
- zip)
- ( cd /opt/app/dcae-controller-service-storage-postgres-model ; unzip -o dcae-controller-service-storage-postgres-model*.zip )
- ;;
-esac
-
-chown -R dcae:dcae /opt/app/dcae-controller-service-storage-postgres-model
-
-######### step-7
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb`
-
-case deb in
- deb)
- dpkg --install \$OUT
- ;;
- jar)
- mkdir -p /opt/app/%{artifactId}/lib
- mv \$OUT /opt/app/%{artifactId}/lib
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
- zip)
- mkdir -p /opt/app/%{artifactId}/lib
- ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
-esac
-
-######### step-8
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb`
-
-case deb in
- deb)
- dpkg --install \$OUT
- ;;
- jar)
- mkdir -p /opt/app/%{artifactId}/lib
- mv \$OUT /opt/app/%{artifactId}/lib
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
- zip)
- mkdir -p /opt/app/%{artifactId}/lib
- ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
-esac
-
-######### step-9
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb`
-
-case deb in
- deb)
- dpkg --install \$OUT
- ;;
- jar)
- mkdir -p /opt/app/%{artifactId}/lib
- mv \$OUT /opt/app/%{artifactId}/lib
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
- zip)
- mkdir -p /opt/app/%{artifactId}/lib
- ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
-esac
-
-######### step-10
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb`
-
-case deb in
- deb)
- dpkg --install \$OUT
- ;;
- jar)
- mkdir -p /opt/app/%{artifactId}/lib
- mv \$OUT /opt/app/%{artifactId}/lib
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
- zip)
- mkdir -p /opt/app/%{artifactId}/lib
- ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
-esac
-
-touch /etc/sudoers.d/dcae-postgres
-echo "dcae ALL=(postgres) NOPASSWD: ALL" > /etc/sudoers.d/dcae-postgres
-
-/opt/app/postgresql-prep/bin/iDNS-responder.py &
-
-/etc/init.d/cron restart
-
-######### step-11
-
-if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi
-
-OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb`
-case deb in
- deb)
- dpkg --install \$OUT
- ;;
- jar)
- mkdir -p /opt/app/%{artifactId}/lib
- mv \$OUT /opt/app/%{artifactId}/lib
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
- zip)
- mkdir -p /opt/app/%{artifactId}/lib
- ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT )
- chown -R dcae:dcae /opt/app/%{artifactId}
- ;;
-esac
-
-######### step-12
-
-find /opt -type f -exec sed -i 's/sudo//g' {} \;
-su dcae -c "/opt/app/dcae-controller-service-common-vm-manager/bin/manager.sh config"
-su dcae -c "/opt/app/dcae-controller-service-common-vm-manager/bin/manager.sh restart"
-
-mkdir /home/dcae/.ssh
-chmod og-rwx /home/dcae/.ssh
-chown -R dcae:dcae /home/dcae/.ssh
-touch /home/dcae/.ssh/authorized_keys
-chmod og-rwx /home/dcae/.ssh/authorized_keys
-chown -R dcae:dcae /home/dcae/.ssh/authorized_keys
-echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYz++VKcW3Sw0Sh7fFyTIjXED6NUUNYbje7awcnvaHHAC0rUxs7boX6hmWDViXoGZA5xw4Xhk5kIEs+zxMCDlF1q/9rbyq5ndonlBz3aPx7+SBqVR5sPalbSr8dJhGPwpj/0Df+FzqjGVL2p2d4VV7SeT/kKrNcSY6SmYHln6osoGFAHsOZC0d+fiba4zfCI9EI6zHdyCujwayjQ5W5UgA50XQ0KXpI5WtF6MOwO6jPL3SNNDlWobG/nsCAMxTQ04dALpYSoamM12Ps72MfxEwaKkoAcsH6WsFbuvoUSXwNcosmyxYrxNynsUz4C2Tz+PZqelGvm8Y8MtNuhN7oqAD root@ecomp-jumpbox >> /home/dcae/.ssh/authorized_keys
-#no final script: vm-postgresql.userdata
-EOF_DCAE_INSTALL
-echo null > /tmp/.password
-chmod u+x /tmp/dcae_install.sh
-/tmp/dcae_install.sh 2>&1 | tee /tmp/dcae_install.log
diff --git a/kubernetes/dcae/templates/all-services.yaml b/kubernetes/dcae/templates/all-services.yaml
deleted file mode 100644
index 9423e43560..0000000000
--- a/kubernetes/dcae/templates/all-services.yaml
+++ /dev/null
@@ -1,129 +0,0 @@
-#{{ if not .Values.disableDcaeZookeeper }}
-apiVersion: v1
-kind: Service
-metadata:
- name: zookeeper
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: zookeeper
-spec:
- ports:
- - name: zookeeper1
- port: 2181
- selector:
- app: zookeeper
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableDcaeKafka }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: kafka
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: kafka
-spec:
- ports:
- - name: kafka1
- port: 9092
- selector:
- app: kafka
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableDcaeDmaap }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: dmaap
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: dmaap
- version: 1.1.0
-spec:
- ports:
- - name: mr1
- port: 3904
- #nodePort: {{ .Values.nodePortPrefix }}27
- - name: mr2
- port: 3905
- #nodePort: {{ .Values.nodePortPrefix }}26
- selector:
- app: dmaap
- #type: NodePort
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableDcaeDcaePgaas }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: zldciad4vipstg00
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: dcae-pgaas
-spec:
- selector:
- app: dcae-pgaas
- ports:
- - port: 5432
- protocol: TCP
- targetPort: 5432
- nodePort: {{ .Values.nodePortPrefix }}45
- type: NodePort
-#{{ end }}
-#{{ if not .Values.disableDcaeDcaeCollectorCommonEvent }}
----
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: dcae-collector-common-event
- version: latest
- name: dcae-collector-common-event
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- ports:
- - name: dcae-ce1
- port: 8080
- protocol: TCP
- nodePort: {{ .Values.nodePortPrefix }}36
- - name: dcae-ce2
- port: 8443
- protocol: TCP
- nodePort: {{ .Values.nodePortPrefix }}37
- - name: dcae-ce3
- port: 9999
- protocol: TCP
- nodePort: {{ .Values.nodePortPrefix }}38
- selector:
- app: dcae-collector-common-event
- type: NodePort
-#{{ end }}
-#{{ if not .Values.disableDcaeDcaeCollectorDmaapbc }}
----
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: dcae-collector-dmaapbc
- version: latest
- name: dcae-collector-dmaapbc
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- ports:
- - name: dcae-bc1
- port: 8080
- protocol: TCP
- targetPort: 8080
- nodePort: {{ .Values.nodePortPrefix }}39
- - name: dcae-bc2
- port: 8443
- protocol: TCP
- targetPort: 8443
- nodePort: {{ .Values.nodePortPrefix }}40
- selector:
- app: dcae-collector-dmaapbc
- type: NodePort
-#{{ end }} \ No newline at end of file
diff --git a/kubernetes/dcae/templates/cdap0-dep.yaml b/kubernetes/dcae/templates/cdap0-dep.yaml
deleted file mode 100644
index 208e1ef9a5..0000000000
--- a/kubernetes/dcae/templates/cdap0-dep.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
-#{{ if not .Values.disableDcaeCdap }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- annotations:
- deployment.kubernetes.io/revision: "1"
- labels:
- app: cdap0
- name: cdap0
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: cdap0
- strategy:
- rollingUpdate:
- maxSurge: 1
- maxUnavailable: 1
- type: RollingUpdate
- template:
- metadata:
- labels:
- app: cdap0
- name: cdap0
- spec:
- initContainers:
- - command: ["/bin/bash", "-c", "mkdir -p /cdap/{cdap0-opt-tools,cdap0-opt-data,pod-ip}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"]
- name: create-fs
- image: {{ .Values.image.cdapfs }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /cdap
- name: cdap-root
- hostname: zldcprivatecloudtruecdap00
- containers:
- - image: {{ .Values.image.cdap }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- command: ["/bin/bash"]
- args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"]
- name: cdap0
- ports:
- - containerPort: 8020
- protocol: TCP
- - containerPort: 8025
- protocol: TCP
- - containerPort: 50070
- protocol: TCP
- - containerPort: 50075
- protocol: TCP
- - containerPort: 50010
- protocol: TCP
- - containerPort: 50020
- protocol: TCP
- - containerPort: 3888
- protocol: TCP
- - containerPort: 2888
- protocol: TCP
- - containerPort: 2181
- protocol: TCP
- volumeMounts:
- - mountPath: /cdap
- name: cdap-root
- - mountPath: /opt/tools
- name: dcae-cdap0-opt-tools
- - mountPath: /opt/data
- name: dcae-cdap0-opt-data
- volumes:
- - name: cdap-root
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap
- - name: dcae-cdap0-opt-tools
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap0-opt-tools
- - name: dcae-cdap0-opt-data
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap0-opt-data
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/cdap1-dep.yaml b/kubernetes/dcae/templates/cdap1-dep.yaml
deleted file mode 100644
index 8aa7721a0d..0000000000
--- a/kubernetes/dcae/templates/cdap1-dep.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
-#{{ if not .Values.disableDcaeCdap }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- annotations:
- deployment.kubernetes.io/revision: "1"
- labels:
- app: cdap1
- name: cdap1
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: cdap1
- strategy:
- rollingUpdate:
- maxSurge: 1
- maxUnavailable: 1
- type: RollingUpdate
- template:
- metadata:
- labels:
- app: cdap1
- name: cdap1
- spec:
- initContainers:
- - command: ["/bin/bash", "-c", "mkdir -p /cdap/{cdap1-opt-tools,cdap1-opt-data}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"]
- name: create-fs
- image: {{ .Values.image.cdapfs }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /cdap
- name: cdap-root
- hostname: zldcprivatecloudtruecdap01
- containers:
- - image: {{ .Values.image.cdap }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- command: ["/bin/bash"]
- args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"]
- name: cdap1
- ports:
- - containerPort: 8020
- protocol: TCP
- - containerPort: 8025
- protocol: TCP
- - containerPort: 50070
- protocol: TCP
- - containerPort: 50075
- protocol: TCP
- - containerPort: 50010
- protocol: TCP
- - containerPort: 50020
- protocol: TCP
- - containerPort: 3888
- protocol: TCP
- - containerPort: 2888
- protocol: TCP
- - containerPort: 2181
- protocol: TCP
- volumeMounts:
- - mountPath: /cdap
- name: cdap-root
- - mountPath: /opt/tools
- name: dcae-cdap1-opt-tools
- - mountPath: /opt/data
- name: dcae-cdap1-opt-data
- volumes:
- - name: cdap-root
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap
- - name: dcae-cdap1-opt-tools
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-tools
- - name: dcae-cdap1-opt-data
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-data
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/cdap2-dep.yaml b/kubernetes/dcae/templates/cdap2-dep.yaml
deleted file mode 100644
index 119b8ff32c..0000000000
--- a/kubernetes/dcae/templates/cdap2-dep.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
-#{{ if not .Values.disableDcaeCdap }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- annotations:
- deployment.kubernetes.io/revision: "1"
- labels:
- app: cdap2
- name: cdap2
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: cdap2
- strategy:
- rollingUpdate:
- maxSurge: 1
- maxUnavailable: 1
- type: RollingUpdate
- template:
- metadata:
- labels:
- app: cdap2
- name: cdap2
- spec:
- initContainers:
- - command: ["/bin/bash", "-c", "mkdir -p /cdap/{cdap2-opt-tools,cdap2-opt-data}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"]
- name: create-fs
- image: {{ .Values.image.cdapfs }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- volumeMounts:
- - mountPath: /cdap
- name: cdap-root
- hostname: zldcprivatecloudtruecdap02
- containers:
- - image: {{ .Values.image.cdap }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- command: ["/bin/bash"]
- args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"]
- name: cdap2
- ports:
- - containerPort: 8020
- protocol: TCP
- - containerPort: 8025
- protocol: TCP
- - containerPort: 50070
- protocol: TCP
- - containerPort: 50075
- protocol: TCP
- - containerPort: 50010
- protocol: TCP
- - containerPort: 50020
- protocol: TCP
- - containerPort: 3888
- protocol: TCP
- - containerPort: 2888
- protocol: TCP
- - containerPort: 2181
- protocol: TCP
- volumeMounts:
- - mountPath: /cdap
- name: cdap-root
- - mountPath: /opt/tools
- name: dcae-cdap2-opt-tools
- - mountPath: /opt/data
- name: dcae-cdap2-opt-data
- volumes:
- - name: cdap-root
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap
- - name: dcae-cdap2-opt-tools
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap2-opt-tools
- - name: dcae-cdap2-opt-data
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap2-opt-data
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/dcae-collector-common-event.yaml b/kubernetes/dcae/templates/dcae-collector-common-event.yaml
deleted file mode 100644
index a370151695..0000000000
--- a/kubernetes/dcae/templates/dcae-collector-common-event.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-#{{ if not .Values.disableDcaeDcaeCollectorCommonEvent }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: dcae-collector-common-event
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: dcae-collector-common-event
- template:
- metadata:
- labels:
- app: dcae-collector-common-event
- name: dcae-collector-common-event
- spec:
- containers:
- - image: {{ .Values.image.commonevent }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: dcae-collector-common-event
- ports:
- - containerPort: 8080
- - containerPort: 8443
- - containerPort: 9999
- env:
-# - name: KAFKA_ZOOKEEPER_CONNECT
-# value: "zookeeper:2181"
-# command:
-# - start-kafka.sh
- volumeMounts:
- - mountPath: /opt/app/manager/config
- name: dcae-collector-common-event-config
- restartPolicy: Always
- volumes:
- - name: dcae-collector-common-event-config
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/common-event/config
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml b/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml
deleted file mode 100644
index 85f671e998..0000000000
--- a/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-#{{ if not .Values.disableDcaeDcaeCollectorDmaapbc }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: dcae-collector-dmaapbc
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: dcae-collector-dmaapbc
- template:
- metadata:
- labels:
- app: dcae-collector-dmaapbc
- name: dcae-collector-dmaapbc
- spec:
- containers:
- - image: {{ .Values.image.dmaapbc }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: dcae-collector-dmaapbc
- ports:
- - containerPort: 18080
- - containerPort: 18443
- env:
-# - name: KAFKA_ZOOKEEPER_CONNECT
-# value: "zookeeper:2181"
-# command:
-# - start-kafka.sh
- volumeMounts:
- - mountPath: /opt/app/config
- name: dcae-collector-dmaapbc-config
- restartPolicy: Always
- volumes:
- - name: dcae-collector-dmaapbc-config
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/dmaapbc/config
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/dcae-controller.yaml b/kubernetes/dcae/templates/dcae-controller.yaml
deleted file mode 100644
index e4642c93ef..0000000000
--- a/kubernetes/dcae/templates/dcae-controller.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-#{{ if not .Values.disableDcaeDcaeController }}
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: dcae-controller
- version: latest
- name: dcae-controller
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- ports:
- - name: dcae-con1
- port: 8000
- protocol: TCP
- targetPort: 8000
- nodePort: {{ .Values.nodePortPrefix }}34
- - name: dcae-con2
- port: 9998
- protocol: TCP
- targetPort: 9998
- nodePort: {{ .Values.nodePortPrefix }}35
- selector:
- app: dcae-controller
- type: NodePort
----
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: dcae-controller
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: dcae-controller
- template:
- metadata:
- labels:
- app: dcae-controller
- name: dcae-controller
- spec:
- containers:
- - image: {{ .Values.image.controller }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: dcae-controller
- ports:
- - containerPort: 8000
- - containerPort: 9998
- env:
-# - name: KAFKA_ZOOKEEPER_CONNECT
-# value: "zookeeper:2181"
-# command:
-# - start-kafka.sh
- volumeMounts:
- - mountPath: /opt/app/config
- name: dcae-controller-config
- restartPolicy: Always
- volumes:
- - name: dcae-controller-config
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/dcae-controller/config
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/dcae-dmaap.yaml b/kubernetes/dcae/templates/dcae-dmaap.yaml
deleted file mode 100644
index 85453119a6..0000000000
--- a/kubernetes/dcae/templates/dcae-dmaap.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
-#{{ if not .Values.disableDcaeDmaap }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: dmaap
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: dmaap
- template:
- metadata:
- labels:
- app: dmaap
- name: dmaap
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - kafka
- - --container-name
- - zookeeper
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: dmaap-readiness
- containers:
- - image: {{ .Values.image.dmaap }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: dmaap
- ports:
- - containerPort: 3904
- - containerPort: 3905
- readinessProbe:
- tcpSocket:
- port: 3904
- initialDelaySeconds: 5
- periodSeconds: 10
- volumeMounts:
- - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
- name: appprops
- - mountPath: /appl/dmaapMR1/etc/cadi.properties
- name: cadi
- - mountPath: /appl/dmaapMR1/etc/keyfile
- name: mykey
- restartPolicy: Always
- volumes:
- - name: appprops
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/MsgRtrApi.properties
- - name: cadi
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/cadi.properties
- - name: mykey
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/mykey
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/dcae-kafka.yaml b/kubernetes/dcae/templates/dcae-kafka.yaml
deleted file mode 100644
index d2652721a1..0000000000
--- a/kubernetes/dcae/templates/dcae-kafka.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
-#{{ if not .Values.disableDcaeKafka }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: kafka
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: kafka
- template:
- metadata:
- labels:
- app: kafka
- name: kafka
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - zookeeper
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: kafka-readiness
- containers:
- - image: {{ .Values.image.kafka }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: kafka
- ports:
- - containerPort: 9092
- readinessProbe:
- tcpSocket:
- port: 9092
- initialDelaySeconds: 5
- periodSeconds: 10
- env:
- - name: KAFKA_ZOOKEEPER_CONNECT
- value: "zookeeper.{{ .Values.nsPrefix }}"
- - name: KAFKA_ADVERTISED_HOST_NAME
- value: "kafka"
- - name: KAFKA_BROKER_ID
- value: "1"
- - name: KAFKA_ADVERTISED_PORT
- value: "9092"
- - name: KAFKA_PORT
- value: "9092"
- volumeMounts:
- - mountPath: /var/run/docker.sock
- name: docker-socket
- - mountPath: /kafka
- name: kafka-data
- - mountPath: /start-kafka.sh
- name: start-kafka
- restartPolicy: Always
- volumes:
- - name: docker-socket
- hostPath:
- path: /var/run/docker.sock
- - name: kafka-data
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/
- - name: start-kafka
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/start-kafka.sh
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/dcae-zookeeper.yaml b/kubernetes/dcae/templates/dcae-zookeeper.yaml
deleted file mode 100644
index 9c2d8c7eba..0000000000
--- a/kubernetes/dcae/templates/dcae-zookeeper.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-#{{ if not .Values.disableDcaeZookeeper }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: zookeeper
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: zookeeper
- template:
- metadata:
- labels:
- app: zookeeper
- name: zookeeper
- spec:
- containers:
- - image: {{ .Values.image.zookeeper }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: zookeeper
- ports:
- - containerPort: 2181
- volumeMounts:
- - mountPath: /opt/zookeeper-3.4.9/data
- name: zookeeper-data
- restartPolicy: Always
- volumes:
- - name: zookeeper-data
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/data-zookeeper
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/templates/pgaas.yaml b/kubernetes/dcae/templates/pgaas.yaml
deleted file mode 100644
index 16abade9ea..0000000000
--- a/kubernetes/dcae/templates/pgaas.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
-#{{ if not .Values.disableDcaeDcaePgaas }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- annotations:
- deployment.kubernetes.io/revision: "1"
- labels:
- app: dcae-pgaas
- name: dcae-pgaas
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: dcae-pgaas
- template:
- metadata:
- labels:
- app: dcae-pgaas
- spec:
- hostname: zldciad4vipstg00
- containers:
- - image: {{ .Values.image.pgaas }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- command: ["/bin/bash"]
- args: ["-c", "/usr/local/bin/entrypoint.sh; sleep infinity;"]
- name: dcae-pgaas
- ports:
- - containerPort: 5432
- volumeMounts:
- - mountPath: /dbroot/pgdata
- name: dcae-pgaas-pgdata
- - mountPath: /dbroot/pglogs
- name: dcae-pgaas-pglogs
- - mountPath: /opt/tools
- name: dcae-pgaas-tools
- volumes:
- - name: dcae-pgaas-pgdata
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/pgdata
- - name: dcae-pgaas-pglogs
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/pglogs
- - name: dcae-pgaas-tools
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/tools
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/dcae/values.yaml b/kubernetes/dcae/values.yaml
deleted file mode 100644
index 87552927ec..0000000000
--- a/kubernetes/dcae/values.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-nsPrefix: onap
-pullPolicy: Always
-nodePortPrefix: 302
-image:
- readiness: oomk8s/readiness-check:1.1.0
- pgaas: oomk8s/pgaas:1
- cdapfs: oomk8s/cdap-fs:1.0.0
- cdap: oomk8s/cdap:1.0.7
- dmaap: attos/dmaap:latest
- kafka: wurstmeister/kafka:latest
- zookeeper: wurstmeister/zookeeper:latest
- dmaapbc: nexus3.onap.org:10001/openecomp/dcae-dmaapbc:1.1-STAGING-latest
- commonevent: nexus3.onap.org:10001/openecomp/dcae-collector-common-event:1.1-STAGING-latest
- controller: nexus3.onap.org:10001/openecomp/dcae-controller:1.1-STAGING-latest
diff --git a/kubernetes/dcaegen2/Chart.yaml b/kubernetes/dcaegen2/Chart.yaml
index 4ab4f859c7..3eaca469e3 100644
--- a/kubernetes/dcaegen2/Chart.yaml
+++ b/kubernetes/dcaegen2/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: DCAE Generation 2 bootstrap container
name: dcaegen2
diff --git a/kubernetes/dcaegen2/dcae-parameters-sample.yaml b/kubernetes/dcaegen2/dcae-parameters-sample.yaml
index 1d6c63d8bb..251de3af04 100644
--- a/kubernetes/dcaegen2/dcae-parameters-sample.yaml
+++ b/kubernetes/dcaegen2/dcae-parameters-sample.yaml
@@ -1,3 +1,17 @@
+# 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.
+
# UUID of the OpenStack"s CentOS 7 cloud VM image
# If your Openstack does not have a CentOS 7 cloud image, you will have to add one.
centos7image_id: '52d4ea09-cc69-4a9a-9961-938a3282d209'
diff --git a/kubernetes/dcaegen2/templates/pod.yaml b/kubernetes/dcaegen2/templates/pod.yaml
index 1cf5d9b08d..711ca44c60 100644
--- a/kubernetes/dcaegen2/templates/pod.yaml
+++ b/kubernetes/dcaegen2/templates/pod.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableDcaegen2 }}
apiVersion: v1
kind: Pod
@@ -7,7 +21,7 @@ metadata:
spec:
containers:
- name: {{ .Chart.Name }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ image: "{{ .Values.image.repository }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
volumeMounts:
- name: installer-config-mount
diff --git a/kubernetes/dcaegen2/values.yaml b/kubernetes/dcaegen2/values.yaml
index c892f69e68..5443089e45 100644
--- a/kubernetes/dcaegen2/values.yaml
+++ b/kubernetes/dcaegen2/values.yaml
@@ -1,6 +1,19 @@
+# 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.
+
nsPrefix: onap
location: dg2
image:
- repository: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.bootstrap
- tag: v1.1.0
- pullPolicy: Always \ No newline at end of file
+ repository: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.bootstrap:v1.1.0
+ pullPolicy: Always
diff --git a/kubernetes/esr/.helmignore b/kubernetes/esr/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/esr/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/esr/Chart.yaml b/kubernetes/esr/Chart.yaml
index 8f55bd69a8..b47761d605 100644
--- a/kubernetes/esr/Chart.yaml
+++ b/kubernetes/esr/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: ONAP External System Register
name: esr
-version: 1.1.0
+version: 2.0.0
diff --git a/kubernetes/esr/charts/esr-gui/.helmignore b/kubernetes/esr/charts/esr-gui/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/esr/charts/esr-gui/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/esr/charts/esr-gui/Chart.yaml b/kubernetes/esr/charts/esr-gui/Chart.yaml
new file mode 100644
index 0000000000..ae53f85857
--- /dev/null
+++ b/kubernetes/esr/charts/esr-gui/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: ONAP External System Register GUI
+name: esr-gui
+version: 2.0.0
diff --git a/kubernetes/esr/charts/esr-gui/templates/NOTES.txt b/kubernetes/esr/charts/esr-gui/templates/NOTES.txt
new file mode 100644
index 0000000000..dde49c1439
--- /dev/null
+++ b/kubernetes/esr/charts/esr-gui/templates/NOTES.txt
@@ -0,0 +1,16 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ .Chart.Name }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/esr/charts/esr-gui/templates/deployment.yaml b/kubernetes/esr/charts/esr-gui/templates/deployment.yaml
new file mode 100644
index 0000000000..747df228c3
--- /dev/null
+++ b/kubernetes/esr/charts/esr-gui/templates/deployment.yaml
@@ -0,0 +1,67 @@
+# 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: 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:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_ADDR
+ value: {{ tpl .Values.msbaddr . }}
+ 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 }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/esr/charts/esr-gui/templates/service.yaml b/kubernetes/esr/charts/esr-gui/templates/service.yaml
new file mode 100644
index 0000000000..6a274b50d4
--- /dev/null
+++ b/kubernetes/esr/charts/esr-gui/templates/service.yaml
@@ -0,0 +1,42 @@
+# 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: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "aai-esr-gui",
+ "version": "v1",
+ "url": "/esr-gui",
+ "protocol": "UI",
+ "port": "{{ .Values.service.internalPort }}",
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ ports:
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/esr/charts/esr-gui/values.yaml b/kubernetes/esr/charts/esr-gui/values.yaml
new file mode 100644
index 0000000000..f5013995c2
--- /dev/null
+++ b/kubernetes/esr/charts/esr-gui/values.yaml
@@ -0,0 +1,74 @@
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ persistence: {}
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/aai/esr-gui:v1.0.0
+pullPolicy: Always
+msbaddr: msb-iag.{{ include "common.namespace" . }}:80
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ name: esr-gui
+ internalPort: 8080
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/esr/requirements.yaml b/kubernetes/esr/requirements.yaml
new file mode 100644
index 0000000000..f639633537
--- /dev/null
+++ b/kubernetes/esr/requirements.yaml
@@ -0,0 +1,21 @@
+# 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.
+
+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/esr/resources/config/log/esrserver/logback.xml b/kubernetes/esr/resources/config/log/esrserver/logback.xml
new file mode 100644
index 0000000000..8b2c31052e
--- /dev/null
+++ b/kubernetes/esr/resources/config/log/esrserver/logback.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="true" scan="true" scanPeriod="3 seconds">
+ <!--<jmxConfigurator /> -->
+ <!-- specify the base path of the log directory -->
+ <property name="logDir" value="/var/log/onap" />
+ <!-- specify the component name -->
+ <property name="componentName" value="esr" />
+ <!-- specify the sub component name -->
+ <property name="subComponentName" value="xacml-pap-rest" />
+ <!-- The directories where logs are written -->
+ <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
+ <property name="pattern" value="%d{&amp;quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&amp;quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
+ <!-- log file names -->
+ <property name="errorLogName" value="error" />
+ <property name="metricsLogName" value="metrics" />
+ <property name="auditLogName" value="audit" />
+ <property name="debugLogName" value="debug" />
+ <property name="queueSize" value="256" />
+ <property name="maxFileSize" value="50MB" />
+ <property name="maxHistory" value="30" />
+ <property name="totalSizeCap" value="10GB" />
+ <!-- Example evaluator filter applied against console appender -->
+ <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender> \ No newline at end of file
diff --git a/kubernetes/esr/resources/config/log/filebeat/filebeat.yml b/kubernetes/esr/resources/config/log/filebeat/filebeat.yml
new file mode 100644
index 0000000000..49197d3b82
--- /dev/null
+++ b/kubernetes/esr/resources/config/log/filebeat/filebeat.yml
@@ -0,0 +1,42 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /home/esr/works/logs/*.log
+# - /var/log/onap/*/*/*/*.log
+# - /var/log/onap/*/*/*.log
+# - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/esr/templates/NOTES.txt b/kubernetes/esr/templates/NOTES.txt
new file mode 100644
index 0000000000..c1c46b126c
--- /dev/null
+++ b/kubernetes/esr/templates/NOTES.txt
@@ -0,0 +1,13 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ .Chart.Name }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/esr/templates/all-services.yaml b/kubernetes/esr/templates/all-services.yaml
deleted file mode 100644
index e0c5075e50..0000000000
--- a/kubernetes/esr/templates/all-services.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-#{{ if not .Values.disableEsrServer }}
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: esr-esrserver
- name: esr-esrserver
- namespace: "{{ .Values.nsPrefix }}"
- annotations:
- msb.onap.org/service-info: '[
- {
- "serviceName": "aai-esr-server",
- "version": "v1",
- "url": "/api/aai-esr-server/v1",
- "protocol": "REST",
- "port": "{{.Values.esrserver.port}}",
- "visualRange":"1"
- }
- ]'
-spec:
- ports:
- - name: esr-esrserver
- port: {{.Values.esrserver.port}}
- selector:
- app: esr-esrserver
-#{{ end }}
-#{{ if not .Values.disableEsrGui }}
----
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: esr-esrgui
- name: esr-esrgui
- namespace: "{{ .Values.nsPrefix }}"
- annotations:
- msb.onap.org/service-info: '[
- {
- "serviceName": "aai-esr-gui",
- "version": "v1",
- "url": "/esr-gui",
- "protocol": "UI",
- "port": "{{.Values.esrgui.port}}",
- "visualRange":"1"
- }
- ]'
-spec:
- ports:
- - name: esr-esrgui
- port: {{.Values.esrgui.port}}
- selector:
- app: esr-esrgui
-#{{ end }} \ No newline at end of file
diff --git a/kubernetes/esr/templates/configmap.yaml b/kubernetes/esr/templates/configmap.yaml
new file mode 100644
index 0000000000..a0c82bee55
--- /dev/null
+++ b/kubernetes/esr/templates/configmap.yaml
@@ -0,0 +1,30 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-esr-filebeat
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-esr-esrserver-log
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/esrserver/logback.xml").AsConfig . | indent 2 }}
+
diff --git a/kubernetes/esr/templates/deployment.yaml b/kubernetes/esr/templates/deployment.yaml
new file mode 100644
index 0000000000..c2322d31ee
--- /dev/null
+++ b/kubernetes/esr/templates/deployment.yaml
@@ -0,0 +1,99 @@
+# 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: 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:
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MSB_ADDR
+ value: {{ tpl .Values.msbaddr . }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /home/esr/works/logs
+ name: esr-server-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
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /home/esr/works/logs
+ name: esr-server-logs
+ - mountPath: /usr/share/filebeat/data
+ name: esr-server-filebeat
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: filebeat-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-esr-filebeat
+ - name: esr-server-logs
+ emptyDir: {}
+ - name: esr-server-filebeat
+ emptyDir: {}
+ - name: esrserver-log
+ configMap:
+ name: {{ include "common.fullname" . }}-esr-esrserver-log
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/esr/templates/esr-esrgui-deployment.yaml b/kubernetes/esr/templates/esr-esrgui-deployment.yaml
deleted file mode 100644
index f9ec271515..0000000000
--- a/kubernetes/esr/templates/esr-esrgui-deployment.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-#{{ if not .Values.disableesrgui }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: esr-esrgui
- name: esr-esrgui
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: esr-esrgui
- template:
- metadata:
- labels:
- app: esr-esrgui
- name: esr-esrgui
- spec:
- containers:
- - image: {{ .Values.esrgui.image }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: esr-esrgui
- env:
- - name: MSB_ADDR
- value: {{ tpl .Values.msbaddr . }}
- ports:
- - containerPort: {{ .Values.esrgui.port }}
- readinessProbe:
- tcpSocket:
- port: 8080
- initialDelaySeconds: 5
- periodSeconds: 10
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/esr/templates/esr-esrserver-deployment.yaml b/kubernetes/esr/templates/esr-esrserver-deployment.yaml
deleted file mode 100644
index 386d4014e4..0000000000
--- a/kubernetes/esr/templates/esr-esrserver-deployment.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-#{{ if not .Values.disableUuiUui }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: esr-esrserver
- name: esr-esrserver
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- selector:
- matchLabels:
- app: esr-esrserver
- template:
- metadata:
- labels:
- app: esr-esrserver
- name: esr-esrserver
- spec:
- containers:
- - image: {{ .Values.esrserver.image }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: esr-esrserver
- env:
- - name: MSB_ADDR
- value: {{ tpl .Values.msbaddr . }}
- ports:
- - containerPort: {{ .Values.esrserver.port }}
- readinessProbe:
- tcpSocket:
- port: {{ .Values.esrserver.port }}
- initialDelaySeconds: 5
- periodSeconds: 10
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/esr/templates/service.yaml b/kubernetes/esr/templates/service.yaml
new file mode 100644
index 0000000000..312a7bdcfb
--- /dev/null
+++ b/kubernetes/esr/templates/service.yaml
@@ -0,0 +1,43 @@
+# 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: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ msb.onap.org/service-info: '[
+ {
+ "serviceName": "aai-esr-server",
+ "version": "v1",
+ "url": "/api/aai-esr-server/v1",
+ "protocol": "REST",
+ "port": "{{.Values.service.internalPort}}",
+ "enable_ssl": true,
+ "visualRange":"1"
+ }
+ ]'
+spec:
+ ports:
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/esr/values.yaml b/kubernetes/esr/values.yaml
index b942672dfb..3af491745e 100644
--- a/kubernetes/esr/values.yaml
+++ b/kubernetes/esr/values.yaml
@@ -1,12 +1,83 @@
-nsPrefix: onap
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+
+subChartsOnly:
+ enabled: true
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/aai/esr-server:v1.0.0
pullPolicy: Always
-nodePortPrefix: 302
-msbaddr: msb-iag.{{ .Values.nsPrefix }}:80
-esrserver:
- image: nexus3.onap.org:10001/onap/aai/esr-server:v1.0.0
- port: 9518
- replicas: 1
-esrgui:
- image: nexus3.onap.org:10001/onap/aai/esr-gui:v1.0.0
- port: 8080
- replicas: 1
+msbaddr: msb-iag.{{ include "common.namespace" . }}:80
+
+# application configuration
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ name: esr
+ internalPort: 9518
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/helm/starters/onap-app/.helmignore b/kubernetes/helm/starters/onap-app/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/helm/starters/onap-app/Chart.yaml b/kubernetes/helm/starters/onap-app/Chart.yaml
new file mode 100644
index 0000000000..15a15066fe
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: <Short application description - this is visible via 'helm search'>
+name: <onap-app>
+version: 2.0.0 \ No newline at end of file
diff --git a/kubernetes/helm/starters/onap-app/README.md b/kubernetes/helm/starters/onap-app/README.md
new file mode 100644
index 0000000000..897a07392a
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/README.md
@@ -0,0 +1,14 @@
+# Starter Helm Chart for ONAP Applications
+
+Clone the onap-app directory and rename it to the name for your new Helm Chart.
+
+Helm Charts for specific applications should be moved into the oom/kubernetes
+directory. If the application is a common reusable Helm Chart (eg. mariadb), a
+more appropriate location might be the oom/kubernetes/common directory.
+
+Edit each yaml file in the new Helm Chart directoy, substituing real values
+for those inside brackets (eg. `<onap-app>`). Some comments have been provided in
+the file to help guide changes that need to be made. This starter Helm Chart is
+in no way complete. It can serve as the basis for creating a new Helm Chart that
+attempts to apply Helm best practices to ONAP applications being configured,
+deployed and managed in Kubernetes.
diff --git a/kubernetes/helm/starters/onap-app/requirements.yaml b/kubernetes/helm/starters/onap-app/requirements.yaml
new file mode 100644
index 0000000000..1e8f788318
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/requirements.yaml
@@ -0,0 +1,18 @@
+# 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.
+
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/helm/starters/onap-app/resources/config/README.txt b/kubernetes/helm/starters/onap-app/resources/config/README.txt
new file mode 100644
index 0000000000..5cc01497f5
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/resources/config/README.txt
@@ -0,0 +1,10 @@
+This directory contains all external configuration files that
+need to be mounted into an application container.
+
+See the configmap.yaml in the templates directory for an example
+of how to load (ie map) config files from this directory, into
+Kubernetes, for distribution within the k8s cluster.
+
+See deployment.yaml in the templates directory for an example
+of how the 'config mapped' files are then mounted into the
+containers.
diff --git a/kubernetes/helm/starters/onap-app/resources/config/application.properties b/kubernetes/helm/starters/onap-app/resources/config/application.properties
new file mode 100644
index 0000000000..496a15a531
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/resources/config/application.properties
@@ -0,0 +1 @@
+sampleConfigKey=sampleConfigValue \ No newline at end of file
diff --git a/kubernetes/helm/starters/onap-app/templates/NOTES.txt b/kubernetes/helm/starters/onap-app/templates/NOTES.txt
new file mode 100644
index 0000000000..2465e03634
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/helm/starters/onap-app/templates/configmap.yaml b/kubernetes/helm/starters/onap-app/templates/configmap.yaml
new file mode 100644
index 0000000000..4ccc7cc526
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/templates/configmap.yaml
@@ -0,0 +1,21 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/kubernetes/helm/starters/onap-app/templates/deployment.yaml b/kubernetes/helm/starters/onap-app/templates/deployment.yaml
new file mode 100644
index 0000000000..01253815a3
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/templates/deployment.yaml
@@ -0,0 +1,104 @@
+# 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: 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:
+#Example init container for dependency checking
+# - command:
+# - /root/ready.py
+# args:
+# - --container-name
+# - mariadb
+# 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+#Example environment variable passed to container
+# - name: DEBUG_FLAG
+# value: {{ .Values.global.debugEnabled | default .Values.debugEnabled | quote }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+#Example config file mount into container
+# - mountPath: /opt/app/application.properties
+# name: {{ include "common.name" . }}-config
+# subPath: application.properties
+ 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:
+ path: /etc/localtime
+#Example config file mount into container
+# - name: {{ include "common.fullname" . }}-config
+# configMap:
+# name: {{ include "common.fullname" . }}-configmap
+# items:
+# - key: application.properties
+# path: application.properties
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key" \ No newline at end of file
diff --git a/kubernetes/helm/starters/onap-app/templates/service.yaml b/kubernetes/helm/starters/onap-app/templates/service.yaml
new file mode 100644
index 0000000000..cab488aac3
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/templates/service.yaml
@@ -0,0 +1,53 @@
+# 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: v1
+kind: Service
+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 }}
+ annotations:
+# Example MSB registration annotation
+# msb.onap.org/service-info: '[
+# {
+# "serviceName": "so",
+# "version": "v1",
+# "url": "/ecomp/mso/infra",
+# "protocol": "REST"
+# "port": "8080",
+# "visualRange":"1"
+# }
+# ]'
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ #Example internal target port if required
+ #targetPort: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }} \ No newline at end of file
diff --git a/kubernetes/helm/starters/onap-app/values.yaml b/kubernetes/helm/starters/onap-app/values.yaml
new file mode 100644
index 0000000000..60b4682c5e
--- /dev/null
+++ b/kubernetes/helm/starters/onap-app/values.yaml
@@ -0,0 +1,92 @@
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.0.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: <onap-app>:<1.2-STAGING-latest>
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+# Example:
+config:
+# username: myusername
+# password: mypassword
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ #Example service definition with external, internal and node ports.
+ #Services may use any combination of ports depending on the 'type' of
+ #service being defined.
+ type: NodePort
+ name: <onap-app>
+ externalPort: <8080>
+ internalPort: <80>
+ nodePort: <replace with unused node port suffix eg. 23>
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/kube2msb/Chart.yaml b/kubernetes/kube2msb/Chart.yaml
deleted file mode 100644
index b648adc701..0000000000
--- a/kubernetes/kube2msb/Chart.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: v1
-description: A Helm chart for Kubernetes
-name: kube2msb
-version: 0.1.0
diff --git a/kubernetes/kube2msb/templates/kube2msb-registrator-deployment.yaml b/kubernetes/kube2msb/templates/kube2msb-registrator-deployment.yaml
deleted file mode 100644
index d6b194008b..0000000000
--- a/kubernetes/kube2msb/templates/kube2msb-registrator-deployment.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-#{{ if not .Values.disableKube2MsbKube2MsbRegistrator }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: kube2msb-registrator
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: kube2msb-registrator
- template:
- metadata:
- labels:
- app: kube2msb-registrator
- name: kube2msb-registrator
- spec:
- hostname: kube2msb-registrator
- containers:
- - args:
- image: {{ .Values.image.kube2msb }}
- name: kube2msb-registrator
- env:
- - name: KUBE_MASTER_URL
- value: {{ .Values.kubeMasterUrl }}
- - name: AUTH_TOKEN
- value: {{ .Values.kubeMasterAuthToken }}
- - name: MSB_URL
- value: {{tpl $.Values.discoveryUrl .}}
- imagePullPolicy: {{ .Values.pullPolicy }}
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/kube2msb/values.yaml b/kubernetes/kube2msb/values.yaml
deleted file mode 100644
index 92694482e8..0000000000
--- a/kubernetes/kube2msb/values.yaml
+++ /dev/null
@@ -1,6 +0,0 @@
-nsPrefix: onap
-pullPolicy: IfNotPresent
-image:
- kube2msb: nexus3.onap.org:10001/onap/oom/kube2msb
-kubeMasterUrl: https://kubernetes.default.svc.cluster.local:443
-discoveryUrl: http://msb-discovery.{{ .Values.nsPrefix }}:10081
diff --git a/kubernetes/log/.helmignore b/kubernetes/log/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/log/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/log/Chart.yaml b/kubernetes/log/Chart.yaml
index 36d0299a4c..9b902e8879 100644
--- a/kubernetes/log/Chart.yaml
+++ b/kubernetes/log/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: ONAP Logging ElasticStack
name: log
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/log/charts/log-elasticsearch/Chart.yaml b/kubernetes/log/charts/log-elasticsearch/Chart.yaml
new file mode 100644
index 0000000000..5d233b4645
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: ONAP Logging Elasticsearch
+name: log-elasticsearch
+version: 2.0.0
diff --git a/kubernetes/log/charts/log-elasticsearch/requirements.yaml b/kubernetes/log/charts/log-elasticsearch/requirements.yaml
new file mode 100644
index 0000000000..1e8f788318
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/requirements.yaml
@@ -0,0 +1,18 @@
+# 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.
+
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml b/kubernetes/log/charts/log-elasticsearch/resources/config/elasticsearch.yml
index f038a10775..e7933b8570 100644
--- a/kubernetes/log/resources/elasticsearch/conf/elasticsearch.yml
+++ b/kubernetes/log/charts/log-elasticsearch/resources/config/elasticsearch.yml
@@ -111,12 +111,12 @@ discovery.zen.minimum_master_nodes: 1
#action.destructive_requires_name: true
# Set a custom port for HTTP: If required, default is 9200-9300
# This is used for REST APIs
-http.port: 9200
+http.port: {{.Values.service.externalPort}}
# Port to bind for communication between nodes. Accepts a single value or a range.
# If a range is specified, the node will bind to the first available port in the range.
# Defaults to 9300-9400.
# More info:
-transport.tcp.port: 9300
+transport.tcp.port: {{.Values.service.externalPortTcp}}
xpack.graph.enabled: false
#Set to false to disable X-Pack graph features.
diff --git a/kubernetes/log/charts/log-elasticsearch/templates/NOTES.txt b/kubernetes/log/charts/log-elasticsearch/templates/NOTES.txt
new file mode 100644
index 0000000000..0878f5c080
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/log/charts/log-elasticsearch/templates/configmap.yaml b/kubernetes/log/charts/log-elasticsearch/templates/configmap.yaml
new file mode 100644
index 0000000000..4ccc7cc526
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/templates/configmap.yaml
@@ -0,0 +1,21 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }} \ No newline at end of file
diff --git a/kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml b/kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml
new file mode 100644
index 0000000000..13caa7e866
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/templates/deployment.yaml
@@ -0,0 +1,117 @@
+# 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: 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:
+ - /bin/sh
+ - -c
+ - |
+ sysctl -w vm.max_map_count=262144
+ mkdir -p /logroot/elasticsearch/logs
+ mkdir -p /logroot/elasticsearch/data
+ chmod -R 777 /logroot/elasticsearch
+ chown -R root:root /logroot
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ securityContext:
+ privileged: true
+ image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.busyboxImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: init-sysctl
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs
+ mountPath: /logroot/
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - containerPort: {{ .Values.service.internalPortTcp }}
+ name: {{ .Values.service.name }}-tcp
+# disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPortTcp }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
+ name: {{ include "common.fullname" . }}-config
+ 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:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}-configmap
+ items:
+ - key: elasticsearch.yml
+ path: elasticsearch.yml
+ - name: {{ include "common.fullname" . }}-data
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ - name: {{ include "common.fullname" . }}-logs
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPathLogs }}
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/log/charts/log-elasticsearch/templates/pv.yaml b/kubernetes/log/charts/log-elasticsearch/templates/pv.yaml
new file mode 100644
index 0000000000..dba12d4125
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/templates/pv.yaml
@@ -0,0 +1,21 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+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 }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Namespace }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/log/charts/log-elasticsearch/templates/pvc.yaml b/kubernetes/log/charts/log-elasticsearch/templates/pvc.yaml
new file mode 100644
index 0000000000..c046f4604a
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/templates/pvc.yaml
@@ -0,0 +1,25 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ name: {{ include "common.fullname" . }}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- end -}}
diff --git a/kubernetes/log/charts/log-elasticsearch/templates/service.yaml b/kubernetes/log/charts/log-elasticsearch/templates/service.yaml
new file mode 100644
index 0000000000..72dfc7e817
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/templates/service.yaml
@@ -0,0 +1,46 @@
+# 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: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPortTcp }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPortTcp }}
+ name: {{ .Values.service.name }}-tcp
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPortTcp }}
+ targetPort: {{ .Values.service.internalPortTcp }}
+ name: {{ .Values.service.name }}-tcp
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/log/charts/log-elasticsearch/values.yaml b/kubernetes/log/charts/log-elasticsearch/values.yaml
new file mode 100644
index 0000000000..2e6e08509e
--- /dev/null
+++ b/kubernetes/log/charts/log-elasticsearch/values.yaml
@@ -0,0 +1,114 @@
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# BusyBox image
+busyboxRepository: registry.hub.docker.com
+busyboxImage: library/busybox:latest
+
+# application image
+loggingRepository: docker.elastic.co
+image: elasticsearch/elasticsearch:5.5.0
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+# Example:
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ accessMode: ReadWriteMany
+ size: 1Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: log/elasticsearch/data
+ mountSubPathLogs: log
+
+service:
+ #Example service definition with external, internal and node ports.
+ #Services may use any combination of ports depending on the 'type' of
+ #service being defined.
+ type: ClusterIP
+ name: log-es
+ externalPort: 9200
+ internalPort: 9200
+ externalPortTcp: 9300
+ internalPortTcp: 9300
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/log/charts/log-kibana/Chart.yaml b/kubernetes/log/charts/log-kibana/Chart.yaml
new file mode 100644
index 0000000000..74f2c2b441
--- /dev/null
+++ b/kubernetes/log/charts/log-kibana/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: ONAP Logging Kibana
+name: log-kibana
+version: 2.0.0
diff --git a/kubernetes/log/charts/log-kibana/requirements.yaml b/kubernetes/log/charts/log-kibana/requirements.yaml
new file mode 100644
index 0000000000..1e8f788318
--- /dev/null
+++ b/kubernetes/log/charts/log-kibana/requirements.yaml
@@ -0,0 +1,18 @@
+# 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.
+
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/log/resources/kibana/conf/kibana.yml b/kubernetes/log/charts/log-kibana/resources/config/kibana.yml
index df0d71abab..5171ad4cdb 100644
--- a/kubernetes/log/resources/kibana/conf/kibana.yml
+++ b/kubernetes/log/charts/log-kibana/resources/config/kibana.yml
@@ -11,7 +11,7 @@ xpack.security.enabled: false
xpack.watcher.enabled: false
#Set to false to disable Watcher.
# Kibana is served by a back end server. This setting specifies the port to use.
-server.port: 5601
+server.port: {{.Values.service.externalPort}}
# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
@@ -30,10 +30,7 @@ server.host: "0"
server.name: "Kibana"
# The URL of the Elasticsearch instance to use for all your queries.
-# OOM-427, OOM-441 hardcoded onap workspace to avoid helm upgrade past 2.3
-elasticsearch.url: "http://elasticsearch.{{.Values.nsPrefix}}:9200"
-#elasticsearch-service.{{.Values.nsPrefix}}:9200"
-#elasticsearch.url: "http://10.247.47.3:9200"
+elasticsearch.url: "http://{{.Values.config.elasticsearchServiceName}}.{{.Release.Namespace}}:{{.Values.config.elasticsearchPort}}"
# When this setting's value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
diff --git a/kubernetes/log/charts/log-kibana/templates/NOTES.txt b/kubernetes/log/charts/log-kibana/templates/NOTES.txt
new file mode 100644
index 0000000000..0878f5c080
--- /dev/null
+++ b/kubernetes/log/charts/log-kibana/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/log/charts/log-kibana/templates/configmap.yaml b/kubernetes/log/charts/log-kibana/templates/configmap.yaml
new file mode 100644
index 0000000000..fd8934b22c
--- /dev/null
+++ b/kubernetes/log/charts/log-kibana/templates/configmap.yaml
@@ -0,0 +1,21 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/log/charts/log-kibana/templates/deployment.yaml b/kubernetes/log/charts/log-kibana/templates/deployment.yaml
new file mode 100644
index 0000000000..bdd5a447be
--- /dev/null
+++ b/kubernetes/log/charts/log-kibana/templates/deployment.yaml
@@ -0,0 +1,98 @@
+# 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: 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
+ - log-elasticsearch
+ 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: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+# disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ env:
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /usr/share/kibana/config/kibana.yml
+ name: {{ include "common.fullname" . }}
+ subPath: kibana.yml
+ 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:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}
+ configMap:
+ name: {{ include "common.fullname" . }}
+ items:
+ - key: kibana.yml
+ path: kibana.yml
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/log/charts/log-kibana/templates/service.yaml b/kubernetes/log/charts/log-kibana/templates/service.yaml
new file mode 100644
index 0000000000..d758c99d89
--- /dev/null
+++ b/kubernetes/log/charts/log-kibana/templates/service.yaml
@@ -0,0 +1,40 @@
+# 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: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/log/charts/log-kibana/values.yaml b/kubernetes/log/charts/log-kibana/values.yaml
new file mode 100644
index 0000000000..50c6e52ee0
--- /dev/null
+++ b/kubernetes/log/charts/log-kibana/values.yaml
@@ -0,0 +1,94 @@
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+ persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# BusyBox image
+busyboxRepository: registry.hub.docker.com
+busyboxImage: library/busybox:latest
+
+# application image
+loggingRepository: docker.elastic.co
+image: kibana/kibana:5.5.0
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ elasticsearchServiceName: log-es
+ elasticsearchPort: 9200
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ #Example service definition with external, internal and node ports.
+ #Services may use any combination of ports depending on the 'type' of
+ #service being defined.
+ type: NodePort
+ name: log-kibana
+ externalPort: 5601
+ internalPort: 5601
+ nodePort: 53
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/log/charts/log-logstash/Chart.yaml b/kubernetes/log/charts/log-logstash/Chart.yaml
new file mode 100644
index 0000000000..3aab337308
--- /dev/null
+++ b/kubernetes/log/charts/log-logstash/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: ONAP Logging Logstash
+name: log-logstash
+version: 2.0.0
diff --git a/kubernetes/log/charts/log-logstash/requirements.yaml b/kubernetes/log/charts/log-logstash/requirements.yaml
new file mode 100644
index 0000000000..1e8f788318
--- /dev/null
+++ b/kubernetes/log/charts/log-logstash/requirements.yaml
@@ -0,0 +1,18 @@
+# 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.
+
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/log/resources/logstash/conf/logstash.yml b/kubernetes/log/charts/log-logstash/resources/config/logstash.yml
index f658006503..3ddf63f9cc 100644
--- a/kubernetes/log/resources/logstash/conf/logstash.yml
+++ b/kubernetes/log/charts/log-logstash/resources/config/logstash.yml
@@ -1,14 +1,14 @@
http.host: "0.0.0.0"
## Path where pipeline configurations reside
path.config: /usr/share/logstash/pipeline
-
+
## Type of queue : memeory based or file based
#queue.type: persisted
## Size of queue
#queue.max_bytes: 1024mb
## Setting true makes logstash check periodically for change in pipeline configurations
config.reload.automatic: true
-
+
## xpack configurations
#xpack.monitoring.elasticsearch.url: ["http://10.247.186.12:9200", "http://10.247.186.13:9200"]
#xpack.monitoring.elasticsearch.username: elastic
diff --git a/kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf b/kubernetes/log/charts/log-logstash/resources/config/onap-pipeline.conf
index 8289b49f6e..3b4fd768c3 100644
--- a/kubernetes/log/resources/logstash/pipeline/onap-pipeline.conf
+++ b/kubernetes/log/charts/log-logstash/resources/config/onap-pipeline.conf
@@ -7,7 +7,7 @@ input {
######## Connection configurations ########
## The port to listen on.
- port => 5044
+ port => {{.Values.service.externalPort}}
## Close Idle clients after the specified time in seconds. Default is 60 seconds
#client_inactivity_timeout => 60
@@ -222,10 +222,8 @@ output {
######### Elasticsearchcluster and host configurations #########
-#can specify one or a list of hosts. If sniffing is set, one is enough and others will be auto-discovered
-##Also protocol can be specified like ["http://10.247.186.12:9200"]
-## OOM-427, OOM-441 hardcoded onap workspace to avoid helm upgrade past 2.3
- hosts => ["http://elasticsearch.{{.Values.nsPrefix}}:9200"]
+ ##can specify one or a list of hosts. If sniffing is set, one is enough and others will be auto-discovered
+ hosts => ["http://{{.Values.config.elasticsearchServiceName}}.{{.Release.Namespace}}:{{.Values.config.elasticsearchPort}}"]
## This setting asks Elasticsearch for the list of all cluster nodes and adds them to the hosts list. Default is false.
diff --git a/kubernetes/log/charts/log-logstash/templates/NOTES.txt b/kubernetes/log/charts/log-logstash/templates/NOTES.txt
new file mode 100644
index 0000000000..0878f5c080
--- /dev/null
+++ b/kubernetes/log/charts/log-logstash/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/log/charts/log-logstash/templates/configmap.yaml b/kubernetes/log/charts/log-logstash/templates/configmap.yaml
new file mode 100644
index 0000000000..fd8934b22c
--- /dev/null
+++ b/kubernetes/log/charts/log-logstash/templates/configmap.yaml
@@ -0,0 +1,21 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/log/charts/log-logstash/templates/deployment.yaml b/kubernetes/log/charts/log-logstash/templates/deployment.yaml
new file mode 100644
index 0000000000..682c448da8
--- /dev/null
+++ b/kubernetes/log/charts/log-logstash/templates/deployment.yaml
@@ -0,0 +1,105 @@
+# 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: 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
+ - log-elasticsearch
+ 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: "{{ .Values.global.loggingRepository| default .Values.loggingRepository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - containerPort: {{ .Values.service.internalPortHttp }}
+ name: {{ .Values.service.name }}-http
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+# disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ env:
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /usr/share/logstash/config/logstash.yml
+ name: {{ include "common.fullname" . }}
+ subPath: logstash.yml
+ - mountPath: /usr/share/logstash/pipeline/onap-pipeline.conf
+ name: {{ include "common.fullname" . }}
+ subPath: onap-pipeline.conf
+ 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:
+ path: /etc/localtime
+ - name: {{ include "common.fullname" . }}
+ configMap:
+ name: {{ include "common.fullname" . }}
+ items:
+ - key: logstash.yml
+ path: logstash.yml
+ - key: onap-pipeline.conf
+ path: onap-pipeline.conf
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/log/charts/log-logstash/templates/service.yaml b/kubernetes/log/charts/log-logstash/templates/service.yaml
new file mode 100644
index 0000000000..ca71aa2224
--- /dev/null
+++ b/kubernetes/log/charts/log-logstash/templates/service.yaml
@@ -0,0 +1,46 @@
+# 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: v1
+kind: Service
+metadata:
+ name: {{ .Values.service.name }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.internalPortHttp }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPortHttp }}
+ name: {{ .Values.service.name }}-http
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPortHttp }}
+ targetPort: {{ .Values.service.internalPortHttp }}
+ name: {{ .Values.service.name }}-http
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/log/charts/log-logstash/values.yaml b/kubernetes/log/charts/log-logstash/values.yaml
new file mode 100644
index 0000000000..bfe50b54a8
--- /dev/null
+++ b/kubernetes/log/charts/log-logstash/values.yaml
@@ -0,0 +1,91 @@
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+ persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# application image
+loggingRepository: docker.elastic.co
+image: logstash/logstash:5.4.3
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ elasticsearchServiceName: log-es
+ elasticsearchPort: 9200
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ #Example service definition with external, internal and node ports.
+ #Services may use any combination of ports depending on the 'type' of
+ #service being defined.
+ type: ClusterIP
+ name: log-ls
+ externalPort: 5044
+ internalPort: 5044
+ externalPortHttp: 9600
+ internalPortHttp: 9600
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/log/requirements.yaml b/kubernetes/log/requirements.yaml
new file mode 100644
index 0000000000..acca8ef7e2
--- /dev/null
+++ b/kubernetes/log/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/log/templates/all-services.yaml b/kubernetes/log/templates/all-services.yaml
deleted file mode 100644
index a40a4da0e8..0000000000
--- a/kubernetes/log/templates/all-services.yaml
+++ /dev/null
@@ -1,84 +0,0 @@
-#{{ if not .Values.disableLogElasticsearch }}
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: elasticsearch
- name: elasticsearch
- namespace: {{ .Values.nsPrefix }}
-spec:
- ports:
- - name: http
- port: 9200
- targetPort: 9200
- nodePort: {{ .Values.nodePortPrefix }}54
- selector:
- app: elasticsearch
- type: NodePort
----
-apiVersion: v1
-kind: Service
-metadata:
- name: elasticsearchtcp
- namespace: {{ .Values.nsPrefix }}
- labels:
- app: elasticsearch
-spec:
- ports:
- - name: tcp
- port: 9300
- targetPort: 9300
- selector:
- app: elasticsearch
-#{{ end }}
-#{{ if not .Values.disableLogLogstash }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: logstashinternal
- namespace: {{ .Values.nsPrefix }}
- labels:
- app: logstash
-spec:
- ports:
- - name: http
- port: 9600
- targetPort: 9600
- selector:
- app: logstash
----
-apiVersion: v1
-kind: Service
-metadata:
- name: logstash
- namespace: {{ .Values.nsPrefix }}
- labels:
- app: logstash
-spec:
- ports:
- - name: transport
- port: 5044
- targetPort: 5044
- selector:
- app: logstash
-#{{ end }}
-#{{ if not .Values.disableLogKibana }}
----
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: kibana
- name: kibana
- namespace: {{ .Values.nsPrefix }}
-spec:
- ports:
- - name: tcp-ks
- port: 5601
- targetPort: 5601
- nodePort: {{ .Values.nodePortPrefix }}53
- selector:
- app: kibana
- type: NodePort
-#{{ end }}
diff --git a/kubernetes/log/templates/elasticsearch-deployment.yaml b/kubernetes/log/templates/elasticsearch-deployment.yaml
deleted file mode 100644
index cbc19a8591..0000000000
--- a/kubernetes/log/templates/elasticsearch-deployment.yaml
+++ /dev/null
@@ -1,87 +0,0 @@
-#{{ if not .Values.disableLogElasticsearch }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: elasticsearch
- name: log-elasticsearch
- namespace: {{ .Values.nsPrefix }}
-spec:
- replicas: {{ .Values.elasticsearchReplicas }}
- selector:
- matchLabels:
- app: elasticsearch
- template:
- metadata:
- labels:
- app: elasticsearch
- name: log-elasticsearch
- spec:
- initContainers:
- - command:
- - /bin/sh
- - -c
- - |
- sysctl -w vm.max_map_count=262144
- mkdir -p /logroot/elasticsearch/logs
- mkdir -p /logroot/elasticsearch/data
- chmod -R 777 /logroot/elasticsearch
- chown -R root:root /logroot
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- securityContext:
- privileged: true
- image: {{ .Values.image.es_bb }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: init-sysctl
- volumeMounts:
- - name: elasticsearch-logs
- mountPath: /logroot/
- containers:
- - name: elasticsearch
- image: {{ .Values.image.elasticsearch}}
- ports:
- - containerPort: 9200
- name: http
- protocol: TCP
- - containerPort: 9300
- name: transport
- protocol: TCP
- readinessProbe:
- tcpSocket:
- port: 9300
- volumeMounts:
- - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
- name: elasticsearch-conf
- subPath: elasticsearch.yml
- - mountPath: /usr/share/elasticsearch/data/
- name: elasticsearch-data
- - mountPath: /usr/share/elasticsearch/logs/
- name: elasticsearch-logs
- volumes:
- - name: elasticsearch-data
- persistentVolumeClaim:
- claimName: elasticsearch-db
- - name: elasticsearch-logs
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/log/
- - name: elasticsearch-conf
- configMap:
- name: log-elasticsearch-configmap
- items:
- - key: elasticsearch.yml
- path: elasticsearch.yml
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: log-elasticsearch-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ (.Files.Glob "resources/elasticsearch/conf/elasticsearch.yml").AsConfig | indent 2 }}
-#{{ end }}
-
diff --git a/kubernetes/log/templates/kibana-deployment.yaml b/kubernetes/log/templates/kibana-deployment.yaml
deleted file mode 100644
index 6e5c36c993..0000000000
--- a/kubernetes/log/templates/kibana-deployment.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-#{{ if not .Values.disableLogKibana }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: kibana
- name: log-kibana
- namespace: {{ .Values.nsPrefix }}
-spec:
- replicas: {{ .Values.kibanaReplicas }}
- selector:
- matchLabels:
- app: kibana
- template:
- metadata:
- labels:
- app: kibana
- name: log-kibana
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - elasticsearch
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: kibana-readiness
- containers:
- - name: kibana
- image: {{ .Values.image.kibana }}
- ports:
- - containerPort: 5601
- name: http
- protocol: TCP
- readinessProbe:
- tcpSocket:
- port: 5601
- volumeMounts:
- - name: kibana-conf
- mountPath: /usr/share/kibana/config/
- volumes:
- - name: kibana-conf
- configMap:
- name: log-kibana-configmap
- items:
- - key: kibana.yml
- path: kibana.yml
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: log-kibana-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/kibana/conf/kibana.yml").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/log/templates/log-pv-pvc.yaml b/kubernetes/log/templates/log-pv-pvc.yaml
deleted file mode 100644
index d0176a5462..0000000000
--- a/kubernetes/log/templates/log-pv-pvc.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#{{ if not .Values.disableLogElasticsearch }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
- name: {{ .Values.nsPrefix }}-elasticsearch-db
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- name: {{ .Values.nsPrefix }}-elasticsearch-db
-spec:
- capacity:
- storage: 2Gi
- accessModes:
- - ReadWriteMany
- persistentVolumeReclaimPolicy: Retain
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/log/elasticsearch/data
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: elasticsearch-db
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 2Gi
- selector:
- matchLabels:
- name: {{ .Values.nsPrefix }}-elasticsearch-db
-#{{ end }}
diff --git a/kubernetes/log/templates/logstash-deployment.yaml b/kubernetes/log/templates/logstash-deployment.yaml
deleted file mode 100644
index 1d3b945711..0000000000
--- a/kubernetes/log/templates/logstash-deployment.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-#{{ if not .Values.disableLogLogstash }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: logstash
- name: log-logstash
- namespace: {{ .Values.nsPrefix }}
-spec:
- replicas: {{ .Values.logstashReplicas }}
- selector:
- matchLabels:
- app: logstash
- template:
- metadata:
- labels:
- app: logstash
- name: log-logstash
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - elasticsearch
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: logstash-readiness
- containers:
- - name: logstash
- image: {{ .Values.image.logstash }}
- ports:
- - containerPort: 5044
- name: transport
- protocol: TCP
- - containerPort: 9600
- name: http
- protocol: TCP
- readinessProbe:
- tcpSocket:
- port: 5044
- volumeMounts:
- - mountPath: /usr/share/logstash/config/
- name: logstash-conf
- - mountPath: /usr/share/logstash/pipeline/
- name: logstash-pipeline
- volumes:
- - name: logstash-conf
- configMap:
- name: log-logstash-configmap
- items:
- - key: logstash.yml
- path: logstash.yml
- - name: logstash-pipeline
- configMap:
- name: log-logstash-configmap
- items:
- - key: onap-pipeline.conf
- path: onap-pipeline.conf
-
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: log-logstash-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/logstash/conf/logstash.yml").AsConfig . | indent 2 }}
-{{ tpl (.Files.Glob "resources/logstash/pipeline/onap-pipeline.conf").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/log/values.yaml b/kubernetes/log/values.yaml
index 69efa27b3d..088ad5d0b3 100644
--- a/kubernetes/log/values.yaml
+++ b/kubernetes/log/values.yaml
@@ -1,13 +1,21 @@
-nsPrefix: onap
-pullPolicy: Always
-nodePortPrefix: 302
-dataRootDir: /dockerdata-nfs
-elasticsearchReplicas: 1
-kibanaReplicas: 1
-logstashReplicas: 1
-image:
- readiness: oomk8s/readiness-check:1.1.0
- logstash: docker.elastic.co/logstash/logstash:5.4.3
- kibana: docker.elastic.co/kibana/kibana:5.5.0
- elasticsearch: docker.elastic.co/elasticsearch/elasticsearch:5.5.0
- es_bb: busybox
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
diff --git a/kubernetes/message-router/Chart.yaml b/kubernetes/message-router/Chart.yaml
index 6341c5ca40..109cce20fe 100644
--- a/kubernetes/message-router/Chart.yaml
+++ b/kubernetes/message-router/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: message-router
diff --git a/kubernetes/message-router/resources/config/dmaap/MsgRtrApi.properties b/kubernetes/message-router/resources/config/dmaap/MsgRtrApi.properties
new file mode 100755
index 0000000000..568d0d4ce0
--- /dev/null
+++ b/kubernetes/message-router/resources/config/dmaap/MsgRtrApi.properties
@@ -0,0 +1,141 @@
+###############################################################################
+##
+## Cambria API Server config
+##
+## - Default values are shown as commented settings.
+##
+
+###############################################################################
+##
+## HTTP service
+##
+## - 3904 is standard as of 7/29/14.
+#
+## Zookeeper Connection
+##
+## Both Cambria and Kafka make use of Zookeeper.
+##
+# config.zk.servers=zookeeper.namespace-placeholder:2181
+config.zk.servers=zookeeper:2181
+#config.zk.servers=172.17.0.1:2181
+#dmaap.namespace-placeholder:2181
+#10.208.128.229:2181
+#config.zk.root=/fe3c/cambria/config
+
+
+###############################################################################
+##
+## Kafka Connection
+##
+## Items below are passed through to Kafka's producer and consumer
+## configurations (after removing "kafka.")
+## if you want to change request.required.acks it can take this one value
+#kafka.metadata.broker.list=localhost:9092,localhost:9093
+kafka.metadata.broker.list=global-kafka:9092
+#kafka.metadata.broker.list=172.17.0.1:9092
+#dmaap.namespace-placeholder:9092
+#10.208.128.229:9092
+##kafka.request.required.acks=-1
+#kafka.client.zookeeper=${config.zk.servers}
+consumer.timeout.ms=100
+zookeeper.connection.timeout.ms=6000
+zookeeper.session.timeout.ms=6000
+zookeeper.sync.time.ms=2000
+auto.commit.interval.ms=1000
+fetch.message.max.bytes =1000000
+auto.commit.enable=false
+
+
+###############################################################################
+##
+## Secured Config
+##
+## Some data stored in the config system is sensitive -- API keys and secrets,
+## for example. to protect it, we use an encryption layer for this section
+## of the config.
+##
+## The key is a base64 encode AES key. This must be created/configured for
+## each installation.
+#cambria.secureConfig.key=
+##
+## The initialization vector is a 16 byte value specific to the secured store.
+## This must be created/configured for each installation.
+#cambria.secureConfig.iv=
+
+## Southfield Sandbox
+cambria.secureConfig.key=b/7ouTn9FfEw2PQwL0ov/Q==
+cambria.secureConfig.iv=wR9xP5k5vbz/xD0LmtqQLw==
+authentication.adminSecret=fe3cCompound
+#cambria.secureConfig.key[pc569h]=YT3XPyxEmKCTLI2NK+Sjbw==
+#cambria.secureConfig.iv[pc569h]=rMm2jhR3yVnU+u2V9Ugu3Q==
+
+
+###############################################################################
+##
+## Consumer Caching
+##
+## Kafka expects live connections from the consumer to the broker, which
+## obviously doesn't work over connectionless HTTP requests. The Cambria
+## server proxies HTTP requests into Kafka consumer sessions that are kept
+## around for later re-use. Not doing so is costly for setup per request,
+## which would substantially impact a high volume consumer's performance.
+##
+## This complicates Cambria server failover, because we often need server
+## A to close its connection before server B brings up the replacement.
+##
+
+## The consumer cache is normally enabled.
+#cambria.consumer.cache.enabled=true
+
+## Cached consumers are cleaned up after a period of disuse. The server inspects
+## consumers every sweepFreqSeconds and will clean up any connections that are
+## dormant for touchFreqMs.
+#cambria.consumer.cache.sweepFreqSeconds=15
+#cambria.consumer.cache.touchFreqMs=120000
+
+## The cache is managed through ZK. The default value for the ZK connection
+## string is the same as config.zk.servers.
+#cambria.consumer.cache.zkConnect=${config.zk.servers}
+
+##
+## Shared cache information is associated with this node's name. The default
+## name is the hostname plus the HTTP service port this host runs on. (The
+## hostname is determined via InetAddress.getLocalHost ().getCanonicalHostName(),
+## which is not always adequate.) You can set this value explicitly here.
+##
+#cambria.api.node.identifier=<use-something-unique-to-this-instance>
+
+###############################################################################
+##
+## Metrics Reporting
+##
+## This server can report its metrics periodically on a topic.
+##
+#metrics.send.cambria.enabled=true
+#metrics.send.cambria.topic=cambria.apinode.metrics #msgrtr.apinode.metrics.dmaap
+#metrics.send.cambria.sendEverySeconds=60
+
+cambria.consumer.cache.zkBasePath=/fe3c/cambria/consumerCache
+
+##############################################################################
+#100mb
+maxcontentlength=10000
+
+
+##############################################################################
+#AAF Properties
+msgRtr.namespace.aaf=org.openecomp.dcae.dmaap.mtnje2.mr.topic
+msgRtr.topicfactory.aaf=org.openecomp.dcae.dmaap.topicFactory|:org.openecomp.dcae.dmaap.mtnje2.mr.topic:
+enforced.topic.name.AAF=org.openecomp
+forceAAF=false
+transidUEBtopicreqd=false
+defaultNSforUEB=org.openecomp.dmaap.mr.ueb
+##############################################################################
+#Mirror Maker Agent
+msgRtr.mirrormakeradmin.aaf=org.openecomp.dmaap.mr.dev.mirrormaker|*|admin
+msgRtr.mirrormakeruser.aaf=org.openecomp.dmaap.mr.dev.mirrormaker|*|user
+msgRtr.mirrormakeruser.aaf.create=org.openecomp.dmaap.mr.dev.topicFactory|:org.openecomp.dmaap.mr.dev.topic:
+msgRtr.mirrormaker.timeout=15000
+msgRtr.mirrormaker.topic=org.openecomp.dmaap.mr.prod.mm.agent
+msgRtr.mirrormaker.consumergroup=mmagentserver
+msgRtr.mirrormaker.consumerid=1
diff --git a/kubernetes/message-router/resources/config/dmaap/cadi.properties b/kubernetes/message-router/resources/config/dmaap/cadi.properties
new file mode 100755
index 0000000000..1cb00a5cda
--- /dev/null
+++ b/kubernetes/message-router/resources/config/dmaap/cadi.properties
@@ -0,0 +1,21 @@
+basic_realm=openecomp.org
+basic_warn=TRUE
+
+cadi_loglevel=DEBUG
+#cadi_keyfile=target/swm/package/nix/dist_files/appl/${artifactId}/etc/keyfile2
+cadi_keyfile=/appl/dmaapMR1/etc/keyfile
+# Configure AAF
+aaf_url=https://DME2RESOLVE/service=org.openecomp.authz.AuthorizationService/version=2.0/envContext=DEV/routeOffer=BAU_SE
+
+aaf_id=dgl@openecomp.org
+aaf_password=enc:f2u5br1mh29M02-
+aaf_timeout=5000
+aaf_clean_interval=1200000
+aaf_user_expires=60000
+aaf_high_count=1000000
+
+
+# The following properties are being set by the AJSC Container and should NOT need to be set here.
+AFT_LATITUDE=33.823589
+AFT_LONGITUDE=-84.366982
+AFT_ENVIRONMENT=AFTUAT
diff --git a/kubernetes/message-router/resources/config/dmaap/mykey b/kubernetes/message-router/resources/config/dmaap/mykey
new file mode 100755
index 0000000000..c2b8b8779b
--- /dev/null
+++ b/kubernetes/message-router/resources/config/dmaap/mykey
@@ -0,0 +1,27 @@
+_sNOLphPzrU7L0L3oWv0pYwgV_ddGF1XoBsQEIAp34jfP-fGJFPfFYaMpDEZ3gwH59rNw6qyMZHk
+k-4irklvVcWk36lC3twNvc0DueRCVrws1bkuhOLCXdxHJx-YG-1xM8EJfRmzh79WPlPkbAdyPmFF
+Ah44V0GjAnInPOFZA6MHP9rNx9B9qECHRfmvzU13vJCcgTsrmOr-CEiWfRsnzPjsICxpq9OaVT_D
+zn6rNaroGm1OiZNCrCgvRkCUHPOOCw3j9G1GeaImoZNYtozbz9u4sj13PU-MxIIAa64b1bMMMjpz
+Upc8lVPI4FnJKg6axMmEGn5zJ6JUq9mtOVyPj__2GEuDgpx5H4AwodXXVjFsVgR8UJwI_BvS2JVp
+JoQk0J1RqXmAXVamlsMAfzmmbARXgmrBfnuhveZnh9ymFVU-YZeujdANniXAwBGI7c6hG_BXkH7i
+Eyf4Fn41_SV78PskP6qgqJahr9r3bqdjNbKBztIKCOEVrE_w3IM5r02l-iStk_NBRkj6cq_7VCpG
+afxZ2CtZMwuZMiypO_wOgbdpCSKNzsL-NH2b4b08OlKiWb263gz634KJmV5WEfCl-6eH-JUFbWOS
+JwQfActLNT2ZQPl2MyZQNBzJEWoJRgS6k7tPRO-zqeUtYYHGHVMCxMuMHGQcoilNNHEFeBCG_fBh
+yAKb9g9F86Cbx9voMLiyTX2T3rwVHiSJFOzfNxGmfN5JWOthIun_c5hEY1tLQ15BomzkDwk7BAj7
+VbRCrVD45B6xrmSTMBSWYmLyr6mnQxQqeh9cMbD-0ZAncE3roxRnRvPKjFFa208ykYUp2V83r_PJ
+fV5I9ZPKSjk9DwFyrjkcQQEYDhdK6IFqcd6nEthjYVkmunu2fsX0bIOm9GGdIbKGqBnpdgBO5hyT
+rBr9HSlZrHcGdti1R823ckDF0Ekcl6kioDr5NLIpLtg9zUEDRm3QrbX2mv5Zs8W0pYnOqglxy3lz
+bJZTN7oR7VasHUtjmp0RT9nLZkUs5TZ6MHhlIq3ZsQ6w_Q9Rv1-ofxfwfCC4EBrWKbWAGCf6By4K
+Ew8321-2YnodhmsK5BrT4zQ1DZlmUvK8BmYjZe7wTljKjgYcsLTBfX4eMhJ7MIW1kpnl8AbiBfXh
+QzN56Mki51Q8PSQWHm0W9tnQ0z6wKdck6zBJ8JyNzewZahFKueDTn-9DOqIDfr3YHvQLLzeXyJ8e
+h4AgjW-hvlLzRGtkCknjLIgXVa3rMTycseAwbW-mgdCqqkw3SdEG8feAcyntmvE8j2jbtSDStQMB
+9JdvyNLuQdNG4pxpusgvVso0-8NQF0YVa9VFwg9U6IPSx5p8FcW68OAHt_fEgT4ZtiH7o9aur4o9
+oYqUh2lALCY-__9QLq1KkNjMKs33Jz9E8LbRerG9PLclkTrxCjYAeUWBjCwSI7OB7xkuaYDSjkjj
+a46NLpdBN1GNcsFFcZ79GFAK0_DsyxGLX8Tq6q0Bvhs8whD8wlSxpTGxYkyqNX-vcb7SDN_0WkCE
+XSdZWkqTHXcYbOvoCOb_e6SFAztuMenuHWY0utX0gBfx_X5lPDFyoYXErxFQHiA7t27keshXNa6R
+ukQRRS8kMjre1U74sc-fRNXkXpl57rG4rgxaEX0eBeowa53KAsVvUAoSac2aC_nfzXrDvoyf9Xi3
+JpEZNhUDLpFCEycV4I7jGQ9wo9qNaosvlsr6kbLDNdb_1xrGVgjT3xEvRNJNPqslSAu-yD-UFhC3
+AmCdYUnugw_eEFqXCHTARcRkdPPvl2XsmEKY2IqEeO5tz4DyXQFaL-5hEVh6lYEU1EOWHk3UGIXe
+Vc5_Ttp82qNLmlJPbZvgmNTJzYTHDQ_27KBcp7IVVZgPDjVKdWqQvZ18KhxvfF3Idgy82LBZniFV
+IbtxllXiPRxoPQriSXMnXjh3XkvSDI2pFxXfEvLRn1tvcFOwPNCz3QfPIzYg8uYXN5bRt3ZOrR_g
+ZhIlrc7HO0VbNbeqEVPKMZ-cjkqGj4VAuDKoQc0eQ6X_wCoAGO78nPpLeIvZPx1X3z5YoqNA \ No newline at end of file
diff --git a/kubernetes/message-router/templates/all-services.yaml b/kubernetes/message-router/templates/all-services.yaml
index 385b5f472d..da6fee117d 100644
--- a/kubernetes/message-router/templates/all-services.yaml
+++ b/kubernetes/message-router/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMessageRouterZookeeper }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/message-router/templates/dmaap-configmap.yaml b/kubernetes/message-router/templates/dmaap-configmap.yaml
new file mode 100644
index 0000000000..bd1e629b21
--- /dev/null
+++ b/kubernetes/message-router/templates/dmaap-configmap.yaml
@@ -0,0 +1,23 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: mr-dmaap-cadi-prop-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/cadi.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: mr-dmaap-msgrtrapi-prop-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/MsgRtrApi.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: mr-dmaap-mykey-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/mykey").AsConfig . | indent 2 }}
diff --git a/kubernetes/message-router/templates/message-router-dmaap.yaml b/kubernetes/message-router/templates/message-router-dmaap.yaml
index cc13a382da..a0c13802bb 100644
--- a/kubernetes/message-router/templates/message-router-dmaap.yaml
+++ b/kubernetes/message-router/templates/message-router-dmaap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMessageRouterDmaap }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -49,10 +63,13 @@ spec:
name: localtime
readOnly: true
- mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+ subPath: MsgRtrApi.properties
name: appprops
- mountPath: /appl/dmaapMR1/etc/cadi.properties
+ subPath: cadi.properties
name: cadi
- mountPath: /appl/dmaapMR1/etc/keyfile
+ subPath: mykey
name: mykey
restartPolicy: Always
volumes:
@@ -60,14 +77,15 @@ spec:
hostPath:
path: /etc/localtime
- name: appprops
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/message-router/dmaap/MsgRtrApi.properties
+ configMap:
+ name: mr-dmaap-msgrtrapi-prop-configmap
- name: cadi
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/message-router/dmaap/cadi.properties
+ configMap:
+ name: mr-dmaap-cadi-prop-configmap
- name: mykey
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/message-router/dmaap/mykey
+ configMap:
+ name: mr-dmaap-mykey-configmap
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
{{ end }}
+
diff --git a/kubernetes/message-router/templates/message-router-kafka.yaml b/kubernetes/message-router/templates/message-router-kafka.yaml
index ca38da414f..844de040d4 100644
--- a/kubernetes/message-router/templates/message-router-kafka.yaml
+++ b/kubernetes/message-router/templates/message-router-kafka.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMessageRouterGlobalKafka }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -17,6 +31,17 @@ spec:
spec:
initContainers:
- command:
+ - bash
+ args:
+ - -c
+ - "if [ -d /var/tmp/SDC-DISTR-NOTIF-TOPIC-SDC-OPENSOURCE-ENV1-0 ]; then echo nothing to do; else cp -a /opt/config/src/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/* /var/tmp/; fi"
+ image: {{ .Values.image.config }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /var/tmp
+ name: kafka-data
+ name: kafka-primer
+ - command:
- /root/ready.py
args:
- --container-name
@@ -74,3 +99,4 @@ spec:
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
+
diff --git a/kubernetes/message-router/templates/message-router-pv-pvc.yaml b/kubernetes/message-router/templates/message-router-pv-pvc.yaml
index 1518913f31..a39a975f33 100644
--- a/kubernetes/message-router/templates/message-router-pv-pvc.yaml
+++ b/kubernetes/message-router/templates/message-router-pv-pvc.yaml
@@ -1,3 +1,19 @@
+{{/*
+# 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.
+*/}}
+
#{{ if not .Values.disableMessageRouterGlobalKafka }}
apiVersion: v1
kind: PersistentVolume
diff --git a/kubernetes/message-router/templates/message-router-zookeeper.yaml b/kubernetes/message-router/templates/message-router-zookeeper.yaml
index 0dd8723ef0..1b3e8f8ed9 100644
--- a/kubernetes/message-router/templates/message-router-zookeeper.yaml
+++ b/kubernetes/message-router/templates/message-router-zookeeper.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMessageRouterZookeeper }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -15,6 +29,18 @@ spec:
app: zookeeper
name: message-router-zookeeper
spec:
+ initContainers:
+ - command:
+ - bash
+ args:
+ - -c
+ - "if [ -d /var/tmp/version-2 ]; then echo nothing to do; else cp -a /opt/config/src/message-router/dcae-startup-vm-message-router/docker_files/data-zookeeper/* /var/tmp/; fi"
+ image: {{ .Values.image.config }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ volumeMounts:
+ - mountPath: /var/tmp
+ name: zookeeper-data
+ name: zookeeper-primer
containers:
- image: {{ .Values.image.zookeeper }}
imagePullPolicy: {{ .Values.pullPolicy }}
@@ -43,3 +69,4 @@ spec:
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
+
diff --git a/kubernetes/message-router/values.yaml b/kubernetes/message-router/values.yaml
index bbc95ab718..68251471e6 100644
--- a/kubernetes/message-router/values.yaml
+++ b/kubernetes/message-router/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
@@ -10,3 +24,5 @@ image:
dmaap: attos/dmaap:latest
kafka: wurstmeister/kafka:latest
zookeeper: wurstmeister/zookeeper:latest
+ config: oomk8s/config-init:2.0.0-SNAPSHOT
+
diff --git a/kubernetes/mock/Chart.yaml b/kubernetes/mock/Chart.yaml
index baf2e3ad0f..e5d38b65f8 100644
--- a/kubernetes/mock/Chart.yaml
+++ b/kubernetes/mock/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: mock
diff --git a/kubernetes/mock/templates/all-services.yaml b/kubernetes/mock/templates/all-services.yaml
index a457d8ed9c..4c566eeed2 100644
--- a/kubernetes/mock/templates/all-services.yaml
+++ b/kubernetes/mock/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMockSniroEmulator }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/mock/templates/sniroemulator-deployment.yaml b/kubernetes/mock/templates/sniroemulator-deployment.yaml
index 9397bfd807..cd0da9fd78 100644
--- a/kubernetes/mock/templates/sniroemulator-deployment.yaml
+++ b/kubernetes/mock/templates/sniroemulator-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMockSniroEmulator }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/mock/values.yaml b/kubernetes/mock/values.yaml
index bd56445291..809ad90d3b 100644
--- a/kubernetes/mock/values.yaml
+++ b/kubernetes/mock/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
diff --git a/kubernetes/msb/.helmignore b/kubernetes/msb/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/msb/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/msb/Chart.yaml b/kubernetes/msb/Chart.yaml
index 7e2ba04fd0..e517d604b1 100644
--- a/kubernetes/msb/Chart.yaml
+++ b/kubernetes/msb/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: ONAP MicroServices Bus
name: msb
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/msb/charts/kube2msb/.helmignore b/kubernetes/msb/charts/kube2msb/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/msb/charts/kube2msb/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/msb/charts/kube2msb/Chart.yaml b/kubernetes/msb/charts/kube2msb/Chart.yaml
new file mode 100644
index 0000000000..4ab40e65cf
--- /dev/null
+++ b/kubernetes/msb/charts/kube2msb/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP MicroServices Bus Kube2MSB Registrator
+name: kube2msb
+version: 2.0.0
diff --git a/kubernetes/msb/charts/kube2msb/requirements.yaml b/kubernetes/msb/charts/kube2msb/requirements.yaml
new file mode 100644
index 0000000000..8cddd3029f
--- /dev/null
+++ b/kubernetes/msb/charts/kube2msb/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
diff --git a/kubernetes/msb/charts/kube2msb/templates/deployment.yaml b/kubernetes/msb/charts/kube2msb/templates/deployment.yaml
new file mode 100644
index 0000000000..94b25a19bf
--- /dev/null
+++ b/kubernetes/msb/charts/kube2msb/templates/deployment.yaml
@@ -0,0 +1,67 @@
+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
+ - msb-discovery
+ 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" . }}
+ # TODO: Temporary command:
+ command:
+ - /bin/sh
+ - -c
+ - export AUTH_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token); /bin/kube2msb --kube_master_url=${KUBE_MASTER_URL} --msb_url=${MSB_URL}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: KUBE_MASTER_URL
+ value: {{ .Values.config.kubeMasterUrl }}
+ - name: MSB_URL
+ value: {{tpl $.Values.config.discoveryUrl .}}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ 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:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/charts/kube2msb/values.yaml b/kubernetes/msb/charts/kube2msb/values.yaml
new file mode 100644
index 0000000000..43810a9781
--- /dev/null
+++ b/kubernetes/msb/charts/kube2msb/values.yaml
@@ -0,0 +1,58 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/oom/kube2msb:latest
+pullPolicy: Always
+
+# application configuration
+config:
+ routeLabels: "visualRange:1"
+ kubeMasterUrl: https://kubernetes.default:443
+ discoveryUrl: http://{{.Release.Name}}-msb-discovery.{{include "common.namespace" .}}:10081
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness: {}
+
+readiness: {}
+
+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
diff --git a/kubernetes/msb/charts/msb-consul/.helmignore b/kubernetes/msb/charts/msb-consul/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/msb/charts/msb-consul/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/msb/charts/msb-consul/Chart.yaml b/kubernetes/msb/charts/msb-consul/Chart.yaml
new file mode 100644
index 0000000000..3a1d299a6b
--- /dev/null
+++ b/kubernetes/msb/charts/msb-consul/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP MicroServices Bus Consul
+name: msb-consul
+version: 2.0.0
diff --git a/kubernetes/msb/charts/msb-consul/requirements.yaml b/kubernetes/msb/charts/msb-consul/requirements.yaml
new file mode 100644
index 0000000000..8cddd3029f
--- /dev/null
+++ b/kubernetes/msb/charts/msb-consul/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
diff --git a/kubernetes/msb/charts/msb-consul/templates/NOTES.txt b/kubernetes/msb/charts/msb-consul/templates/NOTES.txt
new file mode 100644
index 0000000000..2465e03634
--- /dev/null
+++ b/kubernetes/msb/charts/msb-consul/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/msb/charts/msb-consul/templates/deployment.yaml b/kubernetes/msb/charts/msb-consul/templates/deployment.yaml
new file mode 100644
index 0000000000..74342e7e0c
--- /dev/null
+++ b/kubernetes/msb/charts/msb-consul/templates/deployment.yaml
@@ -0,0 +1,59 @@
+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:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ .Values.global.dockerHubRepository | default .Values.dockerHubRepository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ 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:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/charts/msb-consul/templates/service.yaml b/kubernetes/msb/charts/msb-consul/templates/service.yaml
new file mode 100644
index 0000000000..841d3497c4
--- /dev/null
+++ b/kubernetes/msb/charts/msb-consul/templates/service.yaml
@@ -0,0 +1,26 @@
+apiVersion: v1
+kind: Service
+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 }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/msb/charts/msb-consul/values.yaml b/kubernetes/msb/charts/msb-consul/values.yaml
new file mode 100644
index 0000000000..28df51a370
--- /dev/null
+++ b/kubernetes/msb/charts/msb-consul/values.yaml
@@ -0,0 +1,65 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+dockerHubRepository: registry.hub.docker.com
+image: library/consul:0.9.3
+pullPolicy: Always
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: msb-consul
+ externalPort: 8500
+ internalPort: 8500
+ nodePort: 85
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/msb/charts/msb-discovery/.helmignore b/kubernetes/msb/charts/msb-discovery/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/msb/charts/msb-discovery/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/msb/charts/msb-discovery/Chart.yaml b/kubernetes/msb/charts/msb-discovery/Chart.yaml
new file mode 100644
index 0000000000..4a403ba5b5
--- /dev/null
+++ b/kubernetes/msb/charts/msb-discovery/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP MicroServices Bus Discovery
+name: msb-discovery
+version: 2.0.0
diff --git a/kubernetes/msb/charts/msb-discovery/requirements.yaml b/kubernetes/msb/charts/msb-discovery/requirements.yaml
new file mode 100644
index 0000000000..8cddd3029f
--- /dev/null
+++ b/kubernetes/msb/charts/msb-discovery/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
diff --git a/kubernetes/msb/charts/msb-discovery/templates/NOTES.txt b/kubernetes/msb/charts/msb-discovery/templates/NOTES.txt
new file mode 100644
index 0000000000..2465e03634
--- /dev/null
+++ b/kubernetes/msb/charts/msb-discovery/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/msb/charts/msb-discovery/templates/deployment.yaml b/kubernetes/msb/charts/msb-discovery/templates/deployment.yaml
new file mode 100644
index 0000000000..f32a5d1544
--- /dev/null
+++ b/kubernetes/msb/charts/msb-discovery/templates/deployment.yaml
@@ -0,0 +1,76 @@
+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
+ - msb-consul
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONSUL_IP
+ value: {{.Release.Name}}-msb-consul.{{ include "common.namespace" . }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ 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:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/charts/msb-discovery/templates/service.yaml b/kubernetes/msb/charts/msb-discovery/templates/service.yaml
new file mode 100644
index 0000000000..841d3497c4
--- /dev/null
+++ b/kubernetes/msb/charts/msb-discovery/templates/service.yaml
@@ -0,0 +1,26 @@
+apiVersion: v1
+kind: Service
+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 }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/msb/charts/msb-discovery/values.yaml b/kubernetes/msb/charts/msb-discovery/values.yaml
new file mode 100644
index 0000000000..d10ba6032e
--- /dev/null
+++ b/kubernetes/msb/charts/msb-discovery/values.yaml
@@ -0,0 +1,67 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/msb/msb_discovery:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# application configuration
+config: {}
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: msb-discovery
+ externalPort: 10081
+ internalPort: 10081
+ nodePort: 81
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/msb/charts/msb-eag/.helmignore b/kubernetes/msb/charts/msb-eag/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/msb/charts/msb-eag/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/msb/charts/msb-eag/Chart.yaml b/kubernetes/msb/charts/msb-eag/Chart.yaml
new file mode 100644
index 0000000000..c86decb97a
--- /dev/null
+++ b/kubernetes/msb/charts/msb-eag/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP MicroServices Bus Internal API Gateway
+name: msb-eag
+version: 2.0.0
diff --git a/kubernetes/msb/charts/msb-eag/requirements.yaml b/kubernetes/msb/charts/msb-eag/requirements.yaml
new file mode 100644
index 0000000000..8cddd3029f
--- /dev/null
+++ b/kubernetes/msb/charts/msb-eag/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
diff --git a/kubernetes/msb/charts/msb-eag/templates/NOTES.txt b/kubernetes/msb/charts/msb-eag/templates/NOTES.txt
new file mode 100644
index 0000000000..2465e03634
--- /dev/null
+++ b/kubernetes/msb/charts/msb-eag/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/msb/charts/msb-eag/templates/deployment.yaml b/kubernetes/msb/charts/msb-eag/templates/deployment.yaml
new file mode 100644
index 0000000000..d41518d662
--- /dev/null
+++ b/kubernetes/msb/charts/msb-eag/templates/deployment.yaml
@@ -0,0 +1,83 @@
+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
+ - msb-discovery
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - containerPort: {{ .Values.service.internalPortHttps }}
+ name: {{ .Values.service.name }}-https
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONSUL_IP
+ value: {{.Release.Name}}-msb-consul.{{ include "common.namespace" . }}
+ - name: SDCLIENT_IP
+ value: {{.Release.Name}}-msb-discovery.{{ include "common.namespace" . }}
+ - name: ROUTE_LABELS
+ value: {{ .Values.config.routeLabels }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ 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:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/charts/msb-eag/templates/service.yaml b/kubernetes/msb/charts/msb-eag/templates/service.yaml
new file mode 100644
index 0000000000..e438f10d01
--- /dev/null
+++ b/kubernetes/msb/charts/msb-eag/templates/service.yaml
@@ -0,0 +1,32 @@
+apiVersion: v1
+kind: Service
+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 }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPortHttps }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePortHttps }}
+ name: {{ .Values.service.name }}-https
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPortHttps }}
+ targetPort: {{ .Values.service.internalPortHttps }}
+ name: {{ .Values.service.name }}-https
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/msb/charts/msb-eag/values.yaml b/kubernetes/msb/charts/msb-eag/values.yaml
new file mode 100644
index 0000000000..757b46768b
--- /dev/null
+++ b/kubernetes/msb/charts/msb-eag/values.yaml
@@ -0,0 +1,71 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/msb/msb_apigateway:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# application configuration
+config:
+ routeLabels: "visualRange:0"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: msb-eag
+ externalPort: 80
+ internalPort: 80
+ nodePort: 82
+ externalPortHttps: 443
+ internalPortHttps: 443
+ nodePortHttps: 84
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/msb/charts/msb-iag/.helmignore b/kubernetes/msb/charts/msb-iag/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/msb/charts/msb-iag/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/msb/charts/msb-iag/Chart.yaml b/kubernetes/msb/charts/msb-iag/Chart.yaml
new file mode 100644
index 0000000000..d546bfacf0
--- /dev/null
+++ b/kubernetes/msb/charts/msb-iag/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: ONAP MicroServices Bus Internal API Gateway
+name: msb-iag
+version: 2.0.0
diff --git a/kubernetes/msb/charts/msb-iag/requirements.yaml b/kubernetes/msb/charts/msb-iag/requirements.yaml
new file mode 100644
index 0000000000..8cddd3029f
--- /dev/null
+++ b/kubernetes/msb/charts/msb-iag/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
diff --git a/kubernetes/msb/charts/msb-iag/templates/NOTES.txt b/kubernetes/msb/charts/msb-iag/templates/NOTES.txt
new file mode 100644
index 0000000000..2465e03634
--- /dev/null
+++ b/kubernetes/msb/charts/msb-iag/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.fullname" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.fullname" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/msb/charts/msb-iag/templates/deployment.yaml b/kubernetes/msb/charts/msb-iag/templates/deployment.yaml
new file mode 100644
index 0000000000..d41518d662
--- /dev/null
+++ b/kubernetes/msb/charts/msb-iag/templates/deployment.yaml
@@ -0,0 +1,83 @@
+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
+ - msb-discovery
+ 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: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - containerPort: {{ .Values.service.internalPortHttps }}
+ name: {{ .Values.service.name }}-https
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: CONSUL_IP
+ value: {{.Release.Name}}-msb-consul.{{ include "common.namespace" . }}
+ - name: SDCLIENT_IP
+ value: {{.Release.Name}}-msb-discovery.{{ include "common.namespace" . }}
+ - name: ROUTE_LABELS
+ value: {{ .Values.config.routeLabels }}
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ 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:
+ path: /etc/localtime
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/msb/charts/msb-iag/templates/service.yaml b/kubernetes/msb/charts/msb-iag/templates/service.yaml
new file mode 100644
index 0000000000..e438f10d01
--- /dev/null
+++ b/kubernetes/msb/charts/msb-iag/templates/service.yaml
@@ -0,0 +1,32 @@
+apiVersion: v1
+kind: Service
+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 }}
+ annotations:
+spec:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPortHttps }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePortHttps }}
+ name: {{ .Values.service.name }}-https
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ - port: {{ .Values.service.externalPortHttps }}
+ targetPort: {{ .Values.service.internalPortHttps }}
+ name: {{ .Values.service.name }}-https
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/msb/charts/msb-iag/values.yaml b/kubernetes/msb/charts/msb-iag/values.yaml
new file mode 100644
index 0000000000..6e4877b084
--- /dev/null
+++ b/kubernetes/msb/charts/msb-iag/values.yaml
@@ -0,0 +1,71 @@
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/msb/msb_apigateway:1.1.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# application configuration
+config:
+ routeLabels: "visualRange:1"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: msb-iag
+ externalPort: 80
+ internalPort: 80
+ nodePort: 80
+ externalPortHttps: 443
+ internalPortHttps: 443
+ nodePortHttps: 83
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/msb/requirements.yaml b/kubernetes/msb/requirements.yaml
new file mode 100644
index 0000000000..acca8ef7e2
--- /dev/null
+++ b/kubernetes/msb/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+ - name: common
+ version: ~2.0.0
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/msb/templates/all-services.yaml b/kubernetes/msb/templates/all-services.yaml
deleted file mode 100644
index 0ae94fc1bc..0000000000
--- a/kubernetes/msb/templates/all-services.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-#{{ if not .Values.disableMsbMsbConsul }}
-apiVersion: v1
-kind: Service
-metadata:
- name: msb-consul
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: msb-consul
-spec:
- ports:
- - port: {{ .Values.consulPort }}
- nodePort: {{ .Values.consulNodePort }}
- selector:
- app: msb-consul
- type: NodePort
-#{{ end }}
-#{{ if not .Values.disableMsbMsbDiscovery }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: msb-discovery
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: msb-discovery
-spec:
- clusterIP: "{{ .Values.discoveryClusterIP }}"
- ports:
- - port: {{ .Values.discoveryPort }}
- nodePort: {{ .Values.discoveryNodePort }}
- selector:
- app: msb-discovery
- type: NodePort
-#{{ end }}
-#{{ if not .Values.disableMsbMsbIag }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: msb-iag
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: msb-iag
-spec:
- ports:
- - name: http
- port: {{ .Values.iagPort }}
- nodePort: {{ .Values.iagNodePort }}
- - name: https
- port: {{ .Values.iagPort_https }}
- nodePort: {{ .Values.iagNodePort_https }}
- selector:
- app: msb-iag
- type: NodePort
-#{{ end }}
-#{{ if not .Values.disableMsbMsbEag }}
----
-apiVersion: v1
-kind: Service
-metadata:
- name: msb-eag
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- app: msb-eag
-spec:
- ports:
- - name: http
- port: {{ .Values.eagPort }}
- nodePort: {{ .Values.eagNodePort }}
- - name: https
- port: {{ .Values.eagPort_https }}
- nodePort: {{ .Values.eagNodePort_https }}
- selector:
- app: msb-eag
- type: NodePort
-#{{ end }}
diff --git a/kubernetes/msb/templates/msb-consul-deployment.yaml b/kubernetes/msb/templates/msb-consul-deployment.yaml
deleted file mode 100644
index 7d7586c5f6..0000000000
--- a/kubernetes/msb/templates/msb-consul-deployment.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#{{ if not .Values.disableMsbMsbConsul }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: msb-consul
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.msbConsulReplicas }}
- selector:
- matchLabels:
- app: msb-consul
- template:
- metadata:
- labels:
- app: msb-consul
- name: msb-consul
- spec:
- hostname: msb-consul
- containers:
- - args:
- image: {{ .Values.image.consul }}
- name: msb-consul
- ports:
- - containerPort: {{ .Values.consulPort }}
- name: msb-consul
- readinessProbe:
- tcpSocket:
- port: {{ .Values.consulPort }}
- initialDelaySeconds: 5
- periodSeconds: 10
- imagePullPolicy: {{ .Values.pullPolicy }}
-#{{ end }}
diff --git a/kubernetes/msb/templates/msb-discovery-deployment.yaml b/kubernetes/msb/templates/msb-discovery-deployment.yaml
deleted file mode 100644
index 280e6c39d0..0000000000
--- a/kubernetes/msb/templates/msb-discovery-deployment.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-#{{ if not .Values.disableMsbMsbDiscovery }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: msb-discovery
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.discoveryReplicas }}
- selector:
- matchLabels:
- app: msb-discovery
- template:
- metadata:
- labels:
- app: msb-discovery
- name: msb-discovery
- spec:
- hostname: msb-discovery
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - msb-consul
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: msb-discovery-readiness
- containers:
- - args:
- image: {{ .Values.image.discovery }}
- name: "msb-discovery"
- env:
- - name: CONSUL_IP
- value: msb-consul.{{ .Values.nsPrefix }}
- ports:
- - containerPort: {{ .Values.discoveryPort }}
- name: msb-discovery
- readinessProbe:
- tcpSocket:
- port: {{ .Values.discoveryPort }}
- initialDelaySeconds: 5
- periodSeconds: 10
- imagePullPolicy: {{ .Values.pullPolicy }}
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/msb/templates/msb-eag-deployment.yaml b/kubernetes/msb/templates/msb-eag-deployment.yaml
deleted file mode 100644
index a24b3b012e..0000000000
--- a/kubernetes/msb/templates/msb-eag-deployment.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-#{{ if not .Values.disableMsbMsbEag }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: msb-eag
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.eagReplicas }}
- selector:
- matchLabels:
- app: msb-eag
- template:
- metadata:
- labels:
- app: msb-eag
- name: msb-eag
- spec:
- hostname: msb-eag
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - msb-discovery
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: msb-eag-readiness
- containers:
- - args:
- image: {{ .Values.image.apigateway }}
- name: "msb-eag"
- env:
- - name: CONSUL_IP
- value: msb-consul.{{ .Values.nsPrefix }}
- - name: SDCLIENT_IP
- value: msb-discovery.{{ .Values.nsPrefix }}
- - name: ROUTE_LABELS
- value: "visualRange:0"
- ports:
- - containerPort: {{ .Values.eagPort }}
- name: msb-eag
- readinessProbe:
- tcpSocket:
- port: {{ .Values.eagPort }}
- initialDelaySeconds: 5
- periodSeconds: 10
- imagePullPolicy: {{ .Values.pullPolicy}}
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/msb/templates/msb-iag-deployment.yaml b/kubernetes/msb/templates/msb-iag-deployment.yaml
deleted file mode 100644
index 8a56a5f420..0000000000
--- a/kubernetes/msb/templates/msb-iag-deployment.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-#{{ if not .Values.disableMsbMsbIag }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: msb-iag
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.iagReplicas }}
- selector:
- matchLabels:
- app: msb-iag
- template:
- metadata:
- labels:
- app: msb-iag
- name: msb-iag
- spec:
- hostname: msb-iag
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - msb-discovery
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: msb-iag-readiness
- containers:
- - args:
- image: {{ .Values.image.apigateway }}
- name: "msb-iag"
- env:
- - name: CONSUL_IP
- value: msb-consul.{{ .Values.nsPrefix }}
- - name: SDCLIENT_IP
- value: msb-discovery.{{ .Values.nsPrefix }}
- - name: ROUTE_LABELS
- value: "visualRange:1"
- ports:
- - containerPort: {{ .Values.iagPort }}
- name: msb-iag
- readinessProbe:
- tcpSocket:
- port: {{ .Values.iagPort }}
- initialDelaySeconds: 5
- periodSeconds: 10
- imagePullPolicy: "{{ .Values.pullPolicy}}"
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/msb/values.yaml b/kubernetes/msb/values.yaml
index 8c50e37e2b..49e5196e41 100644
--- a/kubernetes/msb/values.yaml
+++ b/kubernetes/msb/values.yaml
@@ -1,27 +1,20 @@
-nsPrefix: onap
-pullPolicy: IfNotPresent
-image:
- readiness: oomk8s/readiness-check:1.1.0
- consul: consul:0.9.3
- discovery: nexus3.onap.org:10001/onap/msb/msb_discovery:1.1.0-SNAPSHOT-latest
- apigateway: nexus3.onap.org:10001/onap/msb/msb_apigateway:1.1.0-SNAPSHOT-latest
+# 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.
-consulPort: 8500
-consulNodePort: 30500
-msbConsulReplicas: 1
-
-discoveryPort: 10081
-discoveryNodePort: 30081
-discoveryReplicas: 1
-
-iagPort: 80
-iagPort_https: 443
-iagNodePort: 30080
-iagNodePort_https: 30443
-iagReplicas: 1
-
-eagPort: 80
-eagPort_https: 443
-eagNodePort: 30082
-eagNodePort_https: 30446
-eagReplicas: 1
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
diff --git a/kubernetes/mso/Chart.yaml b/kubernetes/mso/Chart.yaml
index ab67e0afdc..b4edecc4bd 100644
--- a/kubernetes/mso/Chart.yaml
+++ b/kubernetes/mso/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: mso
diff --git a/kubernetes/mso/resources/config/log/filebeat/filebeat.yml b/kubernetes/mso/resources/config/log/filebeat/filebeat.yml
index 89c6932577..b0d4690754 100644
--- a/kubernetes/mso/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/mso/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/mso/templates/all-services.yaml b/kubernetes/mso/templates/all-services.yaml
index 6eefe65cff..70e67e482e 100644
--- a/kubernetes/mso/templates/all-services.yaml
+++ b/kubernetes/mso/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMsoMariadb }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/mso/templates/db-deployment-configmap.yaml b/kubernetes/mso/templates/db-deployment-configmap.yaml
index 51c106cc78..2949876e43 100644
--- a/kubernetes/mso/templates/db-deployment-configmap.yaml
+++ b/kubernetes/mso/templates/db-deployment-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMsoMariadb }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/mso/templates/db-deployment.yaml b/kubernetes/mso/templates/db-deployment.yaml
index a906c1c413..801b7d4038 100644
--- a/kubernetes/mso/templates/db-deployment.yaml
+++ b/kubernetes/mso/templates/db-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMsoMariadb }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/mso/templates/mso-deployment-configmap.yaml b/kubernetes/mso/templates/mso-deployment-configmap.yaml
index 15c6141baf..4704c6cc16 100644
--- a/kubernetes/mso/templates/mso-deployment-configmap.yaml
+++ b/kubernetes/mso/templates/mso-deployment-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMsoMso }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/mso/templates/mso-deployment.yaml b/kubernetes/mso/templates/mso-deployment.yaml
index 2e5497c22c..8a099a4744 100644
--- a/kubernetes/mso/templates/mso-deployment.yaml
+++ b/kubernetes/mso/templates/mso-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMsoMso }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/mso/templates/mso-log-configmap.yaml b/kubernetes/mso/templates/mso-log-configmap.yaml
index 273c22f533..ed6b16a2a7 100644
--- a/kubernetes/mso/templates/mso-log-configmap.yaml
+++ b/kubernetes/mso/templates/mso-log-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMsoMso }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/mso/templates/mso-pv-pvc.yaml b/kubernetes/mso/templates/mso-pv-pvc.yaml
index 04f5c60832..1ee4ab088b 100644
--- a/kubernetes/mso/templates/mso-pv-pvc.yaml
+++ b/kubernetes/mso/templates/mso-pv-pvc.yaml
@@ -1,3 +1,19 @@
+{{/*
+# 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.
+*/}}
+
#{{ if not .Values.disableMsoMariadb }}
apiVersion: v1
kind: PersistentVolume
diff --git a/kubernetes/mso/values.yaml b/kubernetes/mso/values.yaml
index 4cc91463f7..410246fcbc 100644
--- a/kubernetes/mso/values.yaml
+++ b/kubernetes/mso/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
@@ -15,3 +29,7 @@ image:
mso: nexus3.onap.org:10001/openecomp/mso:v1.1.2
mariadb: nexus3.onap.org:10001/mariadb:10.1.11
filebeat: docker.elastic.co/beats/filebeat:5.5.0
+
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
diff --git a/kubernetes/multicloud/Chart.yaml b/kubernetes/multicloud/Chart.yaml
index da92f90f48..4f9a154880 100644
--- a/kubernetes/multicloud/Chart.yaml
+++ b/kubernetes/multicloud/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: multicloud
diff --git a/kubernetes/multicloud/resources/config/log/filebeat/filebeat.yml b/kubernetes/multicloud/resources/config/log/filebeat/filebeat.yml
new file mode 100644
index 0000000000..a6dd579b4b
--- /dev/null
+++ b/kubernetes/multicloud/resources/config/log/filebeat/filebeat.yml
@@ -0,0 +1,41 @@
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 24h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 48h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
diff --git a/kubernetes/multicloud/resources/config/log/framework/log.yml b/kubernetes/multicloud/resources/config/log/framework/log.yml
new file mode 100644
index 0000000000..f54887144a
--- /dev/null
+++ b/kubernetes/multicloud/resources/config/log/framework/log.yml
@@ -0,0 +1,24 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ multivimbroker:
+ handlers: [multivimbroker_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ multivimbroker_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/multivimbroker/multivimbroker.log"
+ formatter: "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
+ mdcFormat:
+ format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter \ No newline at end of file
diff --git a/kubernetes/multicloud/resources/config/log/ocata/log.yml b/kubernetes/multicloud/resources/config/log/ocata/log.yml
new file mode 100644
index 0000000000..ef71b907c8
--- /dev/null
+++ b/kubernetes/multicloud/resources/config/log/ocata/log.yml
@@ -0,0 +1,34 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ ocata:
+ handlers: [ocata_handler]
+ level: "DEBUG"
+ propagate: False
+ newton_base:
+ handlers: [ocata_handler]
+ level: "DEBUG"
+ propagate: False
+ common:
+ handlers: [ocata_handler]
+ level: "DEBUG"
+ propagate: False
+
+handlers:
+ ocata_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/openstack/ocata/ocata.log"
+ formatter: "mdcFormat"
+ maxBytes: 1024*1024*50
+ backupCount: 10
+
+formatters:
+ standard:
+ format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:[%(mdc)s]: %(message)s"
+ mdcfmt: "{requestID}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter \ No newline at end of file
diff --git a/kubernetes/multicloud/resources/config/log/vio/log.yml b/kubernetes/multicloud/resources/config/log/vio/log.yml
new file mode 100644
index 0000000000..91654645c8
--- /dev/null
+++ b/kubernetes/multicloud/resources/config/log/vio/log.yml
@@ -0,0 +1,24 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ vio:
+ handlers: [vio_handler]
+ level: "DEBUG"
+ propagate: False
+handlers:
+ vio_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/vio/vio.log"
+ formatter: "mdcFormat"
+ maxBytes: 52428800
+ backupCount: 10
+formatters:
+ standard:
+ format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
+ mdcFormat:
+ format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+ mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter \ No newline at end of file
diff --git a/kubernetes/multicloud/resources/config/log/windriver/log.yml b/kubernetes/multicloud/resources/config/log/windriver/log.yml
new file mode 100644
index 0000000000..8e2c5c25f9
--- /dev/null
+++ b/kubernetes/multicloud/resources/config/log/windriver/log.yml
@@ -0,0 +1,34 @@
+version: 1
+disable_existing_loggers: False
+
+loggers:
+ titanium_cloud:
+ handlers: [titanium_cloud_handler]
+ level: "DEBUG"
+ propagate: False
+ newton_base:
+ handlers: [titanium_cloud_handler]
+ level: "DEBUG"
+ propagate: False
+ common:
+ handlers: [titanium_cloud_handler]
+ level: "DEBUG"
+ propagate: False
+
+handlers:
+ titanium_cloud_handler:
+ level: "DEBUG"
+ class: "logging.handlers.RotatingFileHandler"
+ filename: "/var/log/onap/multicloud/openstack/windriver/titanium_cloud.log"
+ formatter: "mdcFormat"
+ maxBytes: 1024*1024*50
+ backupCount: 10
+
+formatters:
+ standard:
+ format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:%(message)s"
+ mdcFormat:
+ format: "%(asctime)s:[%(name)s]:[%(filename)s]-[%(lineno)d] [%(levelname)s]:[%(mdc)s]: %(message)s"
+ mdcfmt: "{requestID}"
+ datefmt: "%Y-%m-%d %H:%M:%S"
+ (): onaplogging.mdcformatter.MDCFormatter \ No newline at end of file
diff --git a/kubernetes/multicloud/templates/all-services.yaml b/kubernetes/multicloud/templates/all-services.yaml
index 58e67e03d1..c58cd7486e 100644
--- a/kubernetes/multicloud/templates/all-services.yaml
+++ b/kubernetes/multicloud/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMulticloudFramework }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/multicloud/templates/framework-deployment.yaml b/kubernetes/multicloud/templates/framework-deployment.yaml
index 4f96fbf457..b2f0440263 100644
--- a/kubernetes/multicloud/templates/framework-deployment.yaml
+++ b/kubernetes/multicloud/templates/framework-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMulticloudFramework }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -15,7 +29,6 @@ spec:
app: framework
name: multicloud-framework
spec:
- hostname: framework
containers:
- env:
- name: MSB_ADDR
@@ -32,12 +45,15 @@ spec:
value: "AAI"
- name: AAI_PASSWORD
value: "AAI"
+ image: {{ .Values.image.framework }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
name: framework
volumeMounts:
- - mountPath: /service/multivimbroker/logs
+ - mountPath: /var/log/onap
name: framework-log
- image: {{ .Values.image.framework }}
- imagePullPolicy: {{ .Values.pullPolicy }}
+ - mountPath: /opt/multivimbroker/multivimbroker/pub/config/log.yml
+ name: framework-logconfig
+ subPath: log.yml
ports:
- containerPort: 9001
livenessProbe:
@@ -50,11 +66,29 @@ spec:
timeoutSeconds: 10
successThreshold: 1
failureThreshold: 5
- restartPolicy: Always
+ - image: {{ .Values.image.filebeat }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: filebeat-onap
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: framework-log
+ - mountPath: /usr/share/filebeat/data
+ name: framework-data-filebeat
volumes:
- name: framework-log
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/multicloud/framework/logs
+ emptyDir: {}
+ - name: framework-data-filebeat
+ emptyDir: {}
+ - name: filebeat-conf
+ configMap:
+ name: multicloud-filebeat-configmap
+ - name: framework-logconfig
+ configMap:
+ name: multicloud-framework-log-configmap
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
+ restartPolicy: Always
#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-log-configmap.yaml b/kubernetes/multicloud/templates/multicloud-log-configmap.yaml
new file mode 100644
index 0000000000..1050f1061e
--- /dev/null
+++ b/kubernetes/multicloud/templates/multicloud-log-configmap.yaml
@@ -0,0 +1,55 @@
+# 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.
+
+#{{ if not .Values.disableVidVidServer }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: multicloud-filebeat-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: multicloud-framework-log-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/framework/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: multicloud-vio-log-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/vio/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: multicloud-ocata-log-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/ocata/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: multicloud-windriver-log-configmap
+ namespace: {{ .Values.nsPrefix }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/windriver/*").AsConfig . | indent 2 }}
+#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml b/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml
index 072b3d9e7e..ecbd74b067 100644
--- a/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml
+++ b/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMulticloudMulticloudOcata }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -15,7 +29,6 @@ spec:
app: multicloud-ocata
name: multicloud-ocata
spec:
- hostname: multicloud-ocata
containers:
- env:
- name: MSB_ADDR
@@ -34,8 +47,11 @@ spec:
value: "AAI"
name: multicloud-ocata
volumeMounts:
- - mountPath: /opt/ocata/logs
+ - mountPath: /var/log/onap
name: ocata-log
+ - mountPath: /opt/ocata/ocata/pub/config/log.yml
+ name: ocata-logconfig
+ subPath: log.yml
image: {{ .Values.image.ocata }}
imagePullPolicy: {{ .Values.pullPolicy }}
ports:
@@ -50,11 +66,29 @@ spec:
timeoutSeconds: 10
successThreshold: 1
failureThreshold: 5
- restartPolicy: Always
+ - image: {{ .Values.image.filebeat }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: filebeat-onap
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: ocata-log
+ - mountPath: /usr/share/filebeat/data
+ name: ocata-data-filebeat
volumes:
- name: ocata-log
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/multicloud/ocata/logs
+ emptyDir: {}
+ - name: ocata-data-filebeat
+ emptyDir: {}
+ - name: filebeat-conf
+ configMap:
+ name: multicloud-filebeat-configmap
+ - name: ocata-logconfig
+ configMap:
+ name: multicloud-ocata-log-configmap
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
+ restartPolicy: Always
#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-vio-deployment.yaml b/kubernetes/multicloud/templates/multicloud-vio-deployment.yaml
index 7919bc89f5..e15108116d 100644
--- a/kubernetes/multicloud/templates/multicloud-vio-deployment.yaml
+++ b/kubernetes/multicloud/templates/multicloud-vio-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMulticloudMulticloudVio }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -15,7 +29,6 @@ spec:
app: multicloud-vio
name: multicloud-vio
spec:
- hostname: multicloud-vio
containers:
- env:
- name: MSB_ADDR
@@ -34,8 +47,11 @@ spec:
value: "AAI"
name: multicloud-vio
volumeMounts:
- - mountPath: /service/vio/logs
+ - mountPath: /var/log/onap
name: vio-log
+ - mountPath: /opt/vio/vio/pub/config/log.yml
+ name: vio-logconfig
+ subPath: log.yml
image: {{ .Values.image.vio }}
imagePullPolicy: {{ .Values.pullPolicy }}
ports:
@@ -50,11 +66,29 @@ spec:
timeoutSeconds: 10
successThreshold: 1
failureThreshold: 5
- restartPolicy: Always
+ - image: {{ .Values.image.filebeat }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: filebeat-onap
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: vio-log
+ - mountPath: /usr/share/filebeat/data
+ name: vio-data-filebeat
volumes:
- name: vio-log
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/multicloud/vio/logs
+ emptyDir: {}
+ - name: vio-data-filebeat
+ emptyDir: {}
+ - name: filebeat-conf
+ configMap:
+ name: multicloud-filebeat-configmap
+ - name: vio-logconfig
+ configMap:
+ name: multicloud-vio-log-configmap
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
+ restartPolicy: Always
#{{ end }}
diff --git a/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml b/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml
index 168d1d611e..c1b385865b 100644
--- a/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml
+++ b/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableMulticloudMulticloudWindriver }}
apiVersion: extensions/v1beta1
kind: Deployment
@@ -15,7 +29,6 @@ spec:
app: multicloud-windriver
name: multicloud-windriver
spec:
- hostname: multicloud-windriver
containers:
- env:
- name: MSB_ADDR
@@ -34,8 +47,11 @@ spec:
value: "AAI"
name: multicloud-windriver
volumeMounts:
- - mountPath: /opt/windriver/logs
+ - mountPath: /var/log/onap
name: windriver-log
+ - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
+ name: windriver-logconfig
+ subPath: log.yml
image: {{ .Values.image.windriver }}
imagePullPolicy: {{ .Values.pullPolicy }}
ports:
@@ -50,11 +66,29 @@ spec:
timeoutSeconds: 10
successThreshold: 1
failureThreshold: 5
- restartPolicy: Always
+ - image: {{ .Values.image.filebeat }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: filebeat-onap
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: windriver-log
+ - mountPath: /usr/share/filebeat/data
+ name: windriver-data-filebeat
volumes:
- name: windriver-log
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/multicloud/windriver/logs
+ emptyDir: {}
+ - name: windriver-data-filebeat
+ emptyDir: {}
+ - name: filebeat-conf
+ configMap:
+ name: multicloud-filebeat-configmap
+ - name: windriver-logconfig
+ configMap:
+ name: multicloud-windriver-log-configmap
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
+ restartPolicy: Always
#{{ end }}
diff --git a/kubernetes/multicloud/values.yaml b/kubernetes/multicloud/values.yaml
index a903bae1c3..d43ee61343 100644
--- a/kubernetes/multicloud/values.yaml
+++ b/kubernetes/multicloud/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
@@ -8,11 +22,15 @@ vioReplicas: 1
windRiverReplicas: 1
image:
readiness: oomk8s/readiness-check:1.1.0
- framework: nexus3.onap.org:10001/onap/multicloud/framework:v1.0.0
- vio: nexus3.onap.org:10001/onap/multicloud/vio:v1.0.0
- ocata: nexus3.onap.org:10001/onap/multicloud/openstack-ocata:v1.0.0
- windriver: nexus3.onap.org:10001/onap/multicloud/openstack-windriver:v1.0.0
-
+ framework: nexus3.onap.org:10001/onap/multicloud/framework:latest
+ vio: nexus3.onap.org:10001/onap/multicloud/vio:latest
+ ocata: nexus3.onap.org:10001/onap/multicloud/openstack-ocata:latest
+ windriver: nexus3.onap.org:10001/onap/multicloud/openstack-windriver:latest
+ filebeat: docker.elastic.co/beats/filebeat:5.5.0
# domain name of msb gateway
msbgateway: msb-iag.{{ .Values.nsPrefix }}
msbPort: 80
+
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
diff --git a/kubernetes/onap/Chart.yaml b/kubernetes/onap/Chart.yaml
index db8a30f28e..1050e1a38b 100644
--- a/kubernetes/onap/Chart.yaml
+++ b/kubernetes/onap/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
name: onap
version: 2.0.0
diff --git a/kubernetes/onap/requirements.yaml b/kubernetes/onap/requirements.yaml
index 8f123128ad..b98096b22b 100644
--- a/kubernetes/onap/requirements.yaml
+++ b/kubernetes/onap/requirements.yaml
@@ -1,3 +1,17 @@
+# 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.
+
# Referencing a named repo called 'local'.
# Can add this repo by running commands like:
# > helm serve
@@ -8,21 +22,24 @@ dependencies:
repository: '@local'
condition: aaf.enabled
- name: aai
- version: ~0.1.0
+ version: ~2.0.0
repository: '@local'
condition: aai.enabled
- name: appc
- version: ~0.1.0
+ version: ~2.0.0
repository: '@local'
condition: appc.enabled
- name: clamp
- version: ~1.1.0
+ version: ~2.0.0
repository: '@local'
condition: clamp.enabled
- name: cli
version: ~0.1.0
repository: '@local'
condition: cli.enabled
+ - name: common
+ version: ~2.0.0
+ repository: '@local'
- name: consul
version: ~1.1.0
repository: '@local'
@@ -32,15 +49,11 @@ dependencies:
repository: '@local'
condition: dcaegen2.enabled
- name: esr
- version: ~1.1.0
+ version: ~2.0.0
repository: '@local'
condition: esr.enabled
- - name: kube2msb
- version: ~0.1.0
- repository: '@local'
- condition: kube2msb.enabled
- name: log
- version: ~0.1.0
+ version: ~2.0.0
repository: '@local'
condition: log.enabled
- name: message-router
@@ -52,7 +65,7 @@ dependencies:
repository: '@local'
condition: mock.enabled
- name: msb
- version: ~0.1.0
+ version: ~2.0.0
repository: '@local'
condition: msb.enabled
- name: multicloud
@@ -68,7 +81,7 @@ dependencies:
repository: '@local'
condition: portal.enabled
- name: robot
- version: ~0.1.0
+ version: ~2.0.0
repository: '@local'
condition: robot.enabled
- name: sdc
@@ -92,10 +105,10 @@ dependencies:
repository: '@local'
condition: vfc.enabled
- name: vid
- version: ~0.1.0
+ version: ~2.0.0
repository: '@local'
condition: vid.enabled
- name: vnfsdk
version: ~1.1.0
repository: '@local'
- condition: vnfsdk.enabled \ No newline at end of file
+ condition: vnfsdk.enabled
diff --git a/kubernetes/onap/resources/environments/onap-demo.yaml b/kubernetes/onap/resources/environments/dev.yaml
index 67b6f401a4..8bbaa279e8 100644
--- a/kubernetes/onap/resources/environments/onap-demo.yaml
+++ b/kubernetes/onap/resources/environments/dev.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#################################################################
# Global configuration overrides.
#
@@ -23,7 +37,7 @@ global:
# override default mount path root directory
# referenced by persistent volumes and log files
persistence:
- mountPath: /dockerdata-nfs
+ mountPath: /dockerdata
# flag to enable debugging - application support required
debugEnabled: true
@@ -32,17 +46,52 @@ global:
# Enable/disable and configure helm charts (ie. applications)
# to customize the ONAP deployment.
#################################################################
-consul:
+aaf:
+ enabled: false
+aai:
+ enabled: false
+appc:
+ enabled: false
+clamp:
enabled: true
-
-so:
+cli:
+ enabled: false
+consul: # Consul Health Check Monitoring
+ enabled: false
+dcaegen2:
+ enabled: false
+esr:
+ enabled: false
+log:
+ enabled: false
+message-router:
+ enabled: false
+mock:
+ enabled: false
+msb:
+ enabled: false
+multicloud:
+ enabled: false
+policy:
+ enabled: false
+portal:
+ enabled: false
+robot: # Robot Health Check
enabled: true
+sdc:
+ enabled: false
+sdnc:
+ enabled: false
+so: # Service Orchestrator
+ enabled: true
+
replicaCount: 1
+
liveness:
# necessary to disable liveness probe when setting breakpoints
# in debugger so K8s doesn't restart unresponsive container
enabled: true
-
+
# so server configuration
config:
# message router configuration
@@ -57,4 +106,12 @@ so:
# configure embedded mariadb
mariadb:
config:
- mariadbRootPassword: password \ No newline at end of file
+ mariadbRootPassword: password
+uui:
+ enabled: false
+vfc:
+ enabled: false
+vid:
+ enabled: false
+vnfsdk:
+ enabled: false \ No newline at end of file
diff --git a/kubernetes/onap/templates/clusterrolebinding.yaml b/kubernetes/onap/templates/clusterrolebinding.yaml
new file mode 100644
index 0000000000..fbe9a5b0a7
--- /dev/null
+++ b/kubernetes/onap/templates/clusterrolebinding.yaml
@@ -0,0 +1,32 @@
+# 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: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: {{ include "common.namespace" . }}-binding
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: cluster-admin
+subjects:
+ - kind: ServiceAccount
+ name: default
+ namespace: {{ include "common.namespace" . }} \ No newline at end of file
diff --git a/kubernetes/onap/templates/secrets.yaml b/kubernetes/onap/templates/secrets.yaml
new file mode 100644
index 0000000000..2345be1972
--- /dev/null
+++ b/kubernetes/onap/templates/secrets.yaml
@@ -0,0 +1,27 @@
+# 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: v1
+kind: Secret
+metadata:
+ name: {{ include "common.namespace" . }}-docker-registry-key
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+ .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }}
+type: kubernetes.io/dockercfg \ No newline at end of file
diff --git a/kubernetes/onap/values.yaml b/kubernetes/onap/values.yaml
index 5340c95f57..ee7d00b441 100644
--- a/kubernetes/onap/values.yaml
+++ b/kubernetes/onap/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#################################################################
# Global configuration overrides.
#
@@ -28,48 +42,47 @@ global:
# flag to enable debugging - application support required
debugEnabled: false
+
#################################################################
# Enable/disable and configure helm charts (ie. applications)
# to customize the ONAP deployment.
#################################################################
aaf:
- enabled: false
+ enabled: true
aai:
- enabled: false
+ enabled: true
appc:
- enabled: false
+ enabled: true
clamp:
- enabled: false
+ enabled: true
cli:
- enabled: false
+ enabled: true
consul: # Consul Health Check Monitoring
- enabled: false
+ enabled: true
dcaegen2:
- enabled: false
+ enabled: true
esr:
- enabled: false
-kube2msb:
- enabled: false
-log:
- enabled: false
+ enabled: true
+log: # ONAP Logging ElasticStack
+ enabled: true
message-router:
- enabled: false
+ enabled: true
mock:
- enabled: false
+ enabled: true
msb:
- enabled: false
+ enabled: true
multicloud:
- enabled: false
+ enabled: true
policy:
- enabled: false
+ enabled: true
portal:
- enabled: false
+ enabled: true
robot: # Robot Health Check
- enabled: false
+ enabled: true
sdc:
- enabled: false
+ enabled: true
sdnc:
- enabled: false
+ enabled: true
so: # Service Orchestrator
enabled: true
@@ -96,10 +109,10 @@ so: # Service Orchestrator
config:
mariadbRootPassword: password
uui:
- enabled: false
+ enabled: true
vfc:
- enabled: false
+ enabled: true
vid:
- enabled: false
+ enabled: true
vnfsdk:
- enabled: false \ No newline at end of file
+ enabled: true
diff --git a/kubernetes/oneclick/createAll.bash b/kubernetes/oneclick/createAll.bash
deleted file mode 100755
index 488f920e91..0000000000
--- a/kubernetes/oneclick/createAll.bash
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/bin/bash
-
-. $(dirname "$0")/setenv.bash
-
-
-usage() {
- cat <<EOF
-Usage: $0 [PARAMs]
--u : Display usage
--n [NAMESPACE] : Kubernetes namespace (required)
--v [VALUES] : HELM values filepath (usefull when deploying one component at a time)
--l [LOCATION] : Location of oom project
--i [INSTANCE] : ONAP deployment instance # (default: 1)
--a [APP] : Specify a specific ONAP component (default: all)
- from the following choices:
- sdc, aai ,mso, message-router, robot, vid, aaf, uui
- sdnc, portal, policy, appc, multicloud, clamp, consul, vnfsdk
-EOF
-}
-
-check_return_code(){
- ret=$?
- if [ $ret -ne 0 ]; then
- printf "The command $1 returned with error code $ret \n" 1>&2
- exit $ret
- fi
-}
-
-create_service_account() {
- cmd=`echo kubectl create clusterrolebinding $1-admin-binding --clusterrole=cluster-admin --serviceaccount=$1:default`
- eval ${cmd}
- check_return_code $cmd
-}
-
-create_namespace() {
- cmd=`echo kubectl create namespace $1`
- eval ${cmd}
-}
-
-create_registry_key() {
-cmd=`echo kubectl --namespace $1 create secret docker-registry $2 --docker-server=$3 --docker-username=$4 --docker-password=$5 --docker-email=$6`
- eval ${cmd}
- check_return_code $cmd
-}
-
-configure_dcaegen2() {
- if [ ! -s "$OPENSTACK_PRIVATE_KEY_PATH" ]
- then
- echo "ERROR: $OPENSTACK_PRIVATE_KEY_PATH does not exist or is empty. Cannot launch dcae gen2."
- return 1
- fi
-
- cmd=`echo kubectl --namespace $1-$2 create secret generic $2-openstack-ssh-private-key --from-file=key=${OPENSTACK_PRIVATE_KEY_PATH}`
- eval ${cmd}
- check_return_code $cmd
-
- if [ ! -s "$DCAEGEN2_CONFIG_INPUT_FILE_PATH" ]
- then
- echo "ERROR: $DCAEGEN2_CONFIG_INPUT_FILE_PATH does not exist or is empty. Cannot launch dcae gen2."
- return 1
- fi
-
- cmd=`echo kubectl --namespace $1-$2 create configmap $2-config-inputs --from-file=inputs.yaml=${DCAEGEN2_CONFIG_INPUT_FILE_PATH}`
- eval ${cmd}
- check_return_code $cmd
-}
-
-create_onap_helm() {
- HELM_VALUES_ADDITION=""
- if [[ ! -z $HELM_VALUES_FILEPATH ]]; then
- HELM_VALUES_ADDITION="--values=$HELM_VALUES_FILEPATH"
- fi
- # Have to put a check for dcaegen2 because it requires external files to helm
- # which should not be part of the Chart.
- if [ "$2" = "dcaegen2" ];
- then
- configure_dcaegen2 $1 $2
- local result=$?
- if [ $result -ne 0 ]
- then
- echo "ERROR: dcaegen2 failed to configure: Pre-requisites not met. Skipping deploying it and continue"
- return
- fi
- fi
-
- # assign default auth token
- if [[ -z $ONAP_DEFAULT_AUTH_TOKEN ]]; then
- DEFAULT_SECRET=`kubectl get secrets -n $1 | grep default-token | awk '{ print $1}'`
- ONAP_DEFAULT_AUTH_TOKEN=`kubectl get secrets $DEFAULT_SECRET -n $1 -o yaml | grep 'token:' | awk '{ print $2}' | base64 --decode`
- fi
-
- cmd=`echo helm install $LOCATION/$2/ --name $1-$2 --namespace $1 --set nsPrefix=$1,nodePortPrefix=$3,kubeMasterAuthToken=$ONAP_DEFAULT_AUTH_TOKEN ${HELM_VALUES_ADDITION}`
- eval ${cmd}
- check_return_code $cmd
-}
-
-#MAINs
-NS=
-HELM_VALUES_FILEPATH=""
-LOCATION="../"
-INCL_SVC=true
-APP=
-INSTANCE=1
-MAX_INSTANCE=5
-DU=$ONAP_DOCKER_USER
-DP=$ONAP_DOCKER_PASS
-
-SINGLE_COMPONENT=false
-
-while getopts ":n:u:s:i:a:du:dp:l:v:" PARAM; do
- case $PARAM in
- u)
- usage
- exit 1
- ;;
- n)
- NS=${OPTARG}
- ;;
- v)
- HELM_VALUES_FILEPATH=${OPTARG}
- ;;
- i)
- INSTANCE=${OPTARG}
- ;;
- l)
- LOCATION=${OPTARG}
- ;;
- a)
- SINGLE_COMPONENT=true
- APP=${OPTARG}
- if [[ -z $APP ]]; then
- usage
- exit 1
- fi
- ;;
- du)
- DU=${OPTARG}
- ;;
- dp)
- DP=${OPTARG}
- ;;
- ?)
- usage
- exit
- ;;
- esac
-done
-
-if [[ -z $NS ]]; then
- usage
- exit 1
-fi
-
-if [[ ! -z "$APP" ]]; then
- HELM_APPS=($APP)
-fi
-
-
-if [ "$INSTANCE" -gt "$MAX_INSTANCE" ];then
- printf "\n********** You choose to create ${INSTANCE}th instance of ONAP \n"
- printf "\n********** Due to port allocation only ${MAX_INSTANCE} instances of ONAP is allowed per kubernetes deployment\n"
- exit 1
-fi
-
-start=$((300+2*INSTANCE))
-end=$((start+1))
-
-printf "\n********** Creating instance ${INSTANCE} of ONAP with port range ${start}00 and ${end}99\n"
-
-
-printf "\n********** Creating ONAP: ${ONAP_APPS[*]}\n"
-
-if [ "$SINGLE_COMPONENT" == "false" ]
-then
- printf "\nCreating namespace **********\n"
- create_namespace $NS
-
- printf "\nCreating registry secret **********\n"
- create_registry_key $NS ${NS}-docker-registry-key $ONAP_DOCKER_REGISTRY $DU $DP $ONAP_DOCKER_MAIL
-
- printf "\nCreating service account **********\n"
- create_service_account $NS
-fi
-
-printf "\n\n********** Creating deployments for ${HELM_APPS[*]} ********** \n"
-
-for i in ${HELM_APPS[@]}; do
-
- printf "\nCreating deployments and services **********\n"
- create_onap_helm $NS $i $start
-
- printf "\n"
-done
-
-printf "\n**** Done ****\n"
diff --git a/kubernetes/oneclick/deleteAll.bash b/kubernetes/oneclick/deleteAll.bash
deleted file mode 100755
index 9833af7909..0000000000
--- a/kubernetes/oneclick/deleteAll.bash
+++ /dev/null
@@ -1,150 +0,0 @@
-#!/bin/bash
-
-. $(dirname "$0")/setenv.bash
-
-delete_namespace() {
- kubectl delete namespace $1
-}
-
-delete_service_account() {
- kubectl delete clusterrolebinding $1-admin-binding
-}
-
-delete_registry_key() {
- kubectl --namespace $1 delete secret ${1}-docker-registry-key
-}
-
-delete_app_helm() {
- helm delete $1-$2 --purge
-}
-
-wait_terminate() {
- printf "Waiting for namespaces termination...\n"
- while true; do
- declare -i _STATUS=0
- for i in ${HELM_APPS[@]}; do
- kubectl get pods --namespace $1 | grep -w " $i" > /dev/null 2>&1
- if [ "$?" -ne "0" ]; then
- _STATUS=1
- break
- fi
- done
-
- if [ "$SINGLE_COMPONENT" == "false" ]; then
- kubectl get namespaces $1 > /dev/null 2>&1
- _STATUS=$?
- fi
- if [ "$_STATUS" -ne "0" ]; then
- break
- fi
- sleep 2
- done
-}
-
-usage() {
- cat <<EOF
-Usage: $0 [PARAMs]
--u : Display usage
--n [NAMESPACE] : Kubernetes namespace (required)
--c : kubectl context (default: current context)
--y : Skip interactive confirmation (default: no)
--a [APP] : Specify a specific ONAP component (default: all)
- from the following choices:
- sdc, aai ,mso, message-router, robot, vid, aaf, uui
- sdnc, portal, policy, appc, multicloud, clamp, consul, vnfsdk
--N : Do not wait for deletion of namespace and its objects
-EOF
-}
-
-#MAINs
-NS=
-INCL_SVC=false
-APP=
-WAIT_TERMINATE=true
-SKIP_INTERACTIVE_CONFIRMATION=no
-KUBECTL_CONTEXT=
-SINGLE_COMPONENT=false
-while getopts ":c:n:u:s:a:yN" PARAM; do
- case $PARAM in
- u)
- usage
- exit 1
- ;;
- n)
- NS=${OPTARG}
- ;;
- a)
- APP=${OPTARG}
- if [[ -z $APP ]]; then
- usage
- exit 1
- fi
- SINGLE_COMPONENT=true
- ;;
- N)
- WAIT_TERMINATE=false
- ;;
- y)
- SKIP_INTERACTIVE_CONFIRMATION=yes
- ;;
- c)
- KUBECTL_CONTEXT=${OPTARG}
- ;;
- ?)
- usage
- exit
- ;;
- esac
-done
-
-if [[ -z $NS ]]; then
- usage
- exit 1
-fi
-
-if [[ "$SKIP_INTERACTIVE_CONFIRMATION" != yes ]]; then
- current_kubectl_context=$(kubectl config get-contexts |grep "*" |awk '{print $2}')
- if test "$KUBECTL_CONTEXT" != "$current_kubectl_context"; then
- printf "Current kubectl context does not match context specified:\x1b[31m $current_kubectl_context\x1b[0m\n"
- if [ ! -z "$KUBECTL_CONTEXT" -a "$KUBECTL_CONTEXT" != " " ]; then
- read -p "Do you wish to switch context to $KUBECTL_CONTEXT and continue?" yn
- case $yn in
- [Yy]* ) kubectl config use-context $KUBECTL_CONTEXT;;
- * ) printf "Skipping delete...\n"; exit;;
- esac
- else
- printf "You are about to delete deployment from:\x1b[31m $current_kubectl_context\x1b[0m\n"
- read -p "To continue enter context name: " response
-
- if test "$response" != "$current_kubectl_context"
- then
- printf "Your response does not match current context! Skipping delete ...\n"
- exit 1
- fi
- fi
- fi
-fi
-
-if [[ ! -z "$APP" ]]; then
- HELM_APPS=($APP)
-fi
-
-printf "\n********** Cleaning up ONAP: ${ONAP_APPS[*]}\n"
-
-for i in ${HELM_APPS[@]}; do
- delete_app_helm $NS $i
-done
-
-if [ "$SINGLE_COMPONENT" == "false" ]
-then
- delete_app_helm $NS "config"
- delete_namespace $NS
- delete_registry_key $NS
- delete_service_account $NS
-fi
-
-if $WAIT_TERMINATE; then
- wait_terminate $NS
-fi
-
-printf "\n********** Gone **********\n"
diff --git a/kubernetes/oneclick/setenv.bash b/kubernetes/oneclick/setenv.bash
deleted file mode 100644
index 312d2c45fb..0000000000
--- a/kubernetes/oneclick/setenv.bash
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-# Deploying MSB first and kube2msb last will ensure all the ONAP services can be registered to MSB
-HELM_APPS=('consul' 'msb' 'mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc' 'dcaegen2' 'log' 'cli' 'multicloud' 'clamp' 'vnfsdk' 'uui' 'aaf' 'vfc' 'kube2msb' 'esr')
-ONAP_DOCKER_REGISTRY=${ONAP_DOCKER_REGISTRY:-nexus3.onap.org:10001}
-ONAP_DOCKER_USER=${ONAP_DOCKER_USER:-docker}
-ONAP_DOCKER_PASS=${ONAP_DOCKER_PASS:-docker}
-ONAP_DOCKER_MAIL=${ONAP_DOCKER_MAIL:-$USERNAME@$USERDOMAIN}
-# Openstack key pair private key file location required to enable dcaegen2 installer CRUD operations in your Openstack
-# Ensure you set the name of your keypair in the dcae-parameters.yaml entry "keypair: "dcae-g2"
-# example: export OPENSTACK_PRIVATE_KEY_PATH=/home/user/Downloads/dcae-g2.pem
-OPENSTACK_PRIVATE_KEY_PATH=${OPENSTACK_PRIVATE_KEY_PATH:-~/.ssh/onap_rsa}
-# dcaegen2 bootstrap configuration input yaml file. Start from the sample, and set your environments real values:
-# example: export DCAEGEN2_CONFIG_INPUT_FILE_PATH=/tmp/dcae-parameters.yaml
-DCAEGEN2_CONFIG_INPUT_FILE_PATH=${DCAEGEN2_CONFIG_INPUT_FILE_PATH:-../dcaegen2/dcae-parameters-sample.yaml}
diff --git a/kubernetes/oneclick/tools/autoCleanConfig.bash b/kubernetes/oneclick/tools/autoCleanConfig.bash
deleted file mode 100644
index e274e0d0c5..0000000000
--- a/kubernetes/oneclick/tools/autoCleanConfig.bash
+++ /dev/null
@@ -1,54 +0,0 @@
-########################################################################################
-# This script wraps {$OOM}/kubernetes/oneclick/deleteAll.sh script along with #
-# the following steps to clean up ONAP configure for specified namespace: #
-# - remove namespace #
-# - remove release #
-# - remove shared directory #
-# #
-# To run it, just enter the following command: #
-# ./autoCleanConfig.bash <namespace, default is "onap"> #
-########################################################################################
-#!/bin/bash
-
-
-NS=$1
-if [[ -z $NS ]]
-then
- echo "Namespace is not specified, use onap namespace."
- NS="onap"
-fi
-
-echo "Clean up $NS configuration"
-cd ..
-./deleteAll.bash -n $NS -y
-cd -
-
-echo "----------------------------------------------
-Force remove namespace..."
-kubectl delete namespace $NS
-echo "...done : kubectl get namespace
------------------------------------------------
->>>>>>>>>>>>>> k8s namespace"
-kubectl get namespace
-while [[ ! -z `kubectl get namespace|grep $NS` ]]
-do
- echo "Wait for namespace $NS to be deleted
------------------------------------------------
->>>>>>>>>>>>>> k8s namespace"
- kubectl get namespace
- sleep 2
-done
-
-echo "Force delete helm process ..."
-helm delete $NS-config --purge --debug
-echo "...done : helm ls --all
- -----------------------------------------------
->>>>>>>>>>>>>> helm"
-helm ls --all
-
-echo "Remove $NS dockerdata..."
-sudo rm -rf /dockerdata-nfs/onap
-echo "...done : ls -altr /dockerdata-nfs
- -----------------------------------------------
->>>>>>>>>>>>>> /dockerdata-nfs directory"
-ls -altr /dockerdata-nfs
diff --git a/kubernetes/oneclick/tools/autoCreateConfig.bash b/kubernetes/oneclick/tools/autoCreateConfig.bash
deleted file mode 100644
index 99ea03e1bb..0000000000
--- a/kubernetes/oneclick/tools/autoCreateConfig.bash
+++ /dev/null
@@ -1,65 +0,0 @@
-########################################################################################
-# This script wraps {$OOM}/kubernetes/config/createConfig.sh script #
-# and will only terminated when the configuration is Completed or failed #
-# #
-# To run it, just enter the following command: #
-# ./autoCreateConfig.bash <namespace, default is "onap"> #
-########################################################################################
-#!/bin/bash
-
-
-NS=$1
-if [[ -z $NS ]]
-then
- echo "Namespace is not specified, use onap namespace."
- NS="onap"
-fi
-
-echo "Create $NS config under config directory..."
-cd ../../config
-./createConfig.sh -n $NS
-cd -
-
-
-echo "...done : kubectl get namespace
------------------------------------------------
->>>>>>>>>>>>>> k8s namespace"
-kubectl get namespace
-
-
-echo "
------------------------------------------------
->>>>>>>>>>>>>> helm : helm ls --all"
-helm ls --all
-
-
-echo "
------------------------------------------------
->>>>>>>>>>>>>> pod : kubectl get pods -n $NS -a"
-kubectl get pods -n $NS -a
-
-
-while true
-do
- echo "wait for $NS config pod reach to Completed STATUS"
- sleep 5
- echo "-----------------------------------------------"
- kubectl get pods -n $NS -a
-
- status=`kubectl get pods -n $NS -a |grep config |xargs echo | cut -d' ' -f3`
-
- if [ "$status" = "Completed" ]
- then
- echo "$NS config is Completed!!!"
- break
- fi
-
- if [ "$status" = "Error" ]
- then
- echo "
-$NS config is failed with Error!!!
-Logs are:"
- kubectl logs config -n $NS -f
- break
- fi
-done
diff --git a/kubernetes/oneclick/tools/collectInfo.bash b/kubernetes/oneclick/tools/collectInfo.bash
deleted file mode 100644
index 734c5a6c62..0000000000
--- a/kubernetes/oneclick/tools/collectInfo.bash
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/bin/bash
-
-NS=
-OUT_NAME=onap_info_$(date +%y.%m.%d_%H.%M.%S.%N)
-OUT_FILE=
-OUT_DIR=$(dirname "$0")
-TMP_DIR=$(dirname $(mktemp -u))
-CONTAINER_LOGS_PATH=/var/log/onap
-CP_CONTAINER_LOGS=false
-
-if [ ! -z "$DEBUG" ]; then
- set -x
-fi
-
-usage() {
- cat <<EOF
-Utility script collecting various information about ONAP deployment on kubernetes.
-
-Usage: $0 [PARAMs]
--u : Display usage
--n [NAMESPACE] : Kubernetes namespace (required)
--a [APP] : Specify a specific ONAP component (default: all)
--d [OUT_DIR] : Specify output folder for the collected info pack file
- (default: current dir)
--f [OUT_FILE] : Specify output file for the collected info
- (default: file name with timestamp)
--c : Collect log files from containers, from path ${CONTAINER_LOGS_PATH}
-EOF
-}
-
-call_with_log() {
- local _cmd=$1
- local _log=$2
- # Make sure otput dir exists
- mkdir -p "$(dirname "$_log")"
- printf "Command: ${_cmd}\n" >> ${_log}
- printf "================================================================================\n" >> ${_log}
- eval "${_cmd}" >> ${_log} 2>&1
- printf "================================================================================\n" >> ${_log}
-}
-
-collect_pod_info() {
- local _ns=$1
- local _id=$2
- local _log_dir=$3
- local _cp_logs=$4
- declare -i _i=0
- kubectl -n $_ns get pods $_id -o=jsonpath='{range .spec.containers[*]}{.name}{"\n"}{end}' | while read c; do
- call_with_log "kubectl -n $_ns logs $_id -c $c" "$_log_dir/$_id-$c.log"
- if [ "$_i" -eq "0" ] && [ "$_cp_logs" == "true" ]; then
- # copy logs from 1st container only as logs dir is shared between the containers
- local _cmd="kubectl cp $_ns/$_id:${CONTAINER_LOGS_PATH} $_log_dir/$_id-$c -c $c"
- if [ -z "$DEBUG" ]; then
- _cmd+=" > /dev/null 2>&1"
- fi
- eval "${_cmd}"
- fi
- ((_i++))
- done
-}
-
-collect_ns_info() {
- local _ns=$1
- local _log_dir=$2/$_ns
- call_with_log "kubectl -n $NS-$i get services -o=wide" "$_log_dir/list_services.log"
- kubectl -n "$_ns" get services | while read i; do
- local _id=`echo -n $i | tr -s ' ' | cut -d' ' -n -f1`
- if [ "$_id" == "NAME" ]; then
- continue
- fi
- call_with_log "kubectl -n $_ns describe services $_id" "$_log_dir/describe_services/$_id.log"
- done
- call_with_log "kubectl -n $NS-$i get pods -o=wide" "$_log_dir/list_pods.log"
- kubectl -n "$_ns" get pods | while read i; do
- local _id=`echo -n $i | tr -s ' ' | cut -d' ' -n -f1`
- if [ "$_id" == "NAME" ]; then
- continue
- fi
- call_with_log "kubectl -n $_ns describe pods $_id" "$_log_dir/describe_pods/$_id.log"
- collect_pod_info "$_ns" "$_id" "$_log_dir/logs" "${CP_CONTAINER_LOGS}"
- done
-}
-
-while getopts ":un:a:d:f:c" PARAM; do
- case $PARAM in
- u)
- usage
- exit 1
- ;;
- n)
- NS=${OPTARG}
- ;;
- a)
- APP=${OPTARG}
- if [[ -z $APP ]]; then
- usage
- exit 1
- fi
- ;;
- d)
- OUT_DIR=${OPTARG}
- if [[ -z $OUT_DIR ]]; then
- usage
- exit 1
- fi
- ;;
- f)
- OUT_FILE=${OPTARG}
- if [[ -z $OUT_FILE ]]; then
- usage
- exit 1
- fi
- ;;
- c)
- CP_CONTAINER_LOGS=true
- ;;
- ?)
- usage
- exit
- ;;
- esac
-done
-
-if [ -z "$NS" ]; then
- usage
- exit 1
-fi
-
-if [[ -z $OUT_FILE ]]; then
- OUT_FILE=$OUT_NAME.tgz
-fi
-
-if [ ! -z "$APP" ]; then
- _APPS=($APP)
-else
- _APPS=(`kubectl get namespaces | grep "^$NS-" | tr -s ' ' | cut -d' ' -n -f1 | sed -e "s/^$NS-//"`)
-fi
-
-printf "Collecting information about ONAP deployment...\n"
-printf "Components: %s\n" "${_APPS[*]}"
-
-# Collect common info
-mkdir -p ${TMP_DIR}/${OUT_NAME}/
-echo "${_APPS[*]}" > ${TMP_DIR}/${OUT_NAME}/component-list.log
-printf "Collecting Helm info\n"
-call_with_log "helm version" "${TMP_DIR}/${OUT_NAME}/helm-version.log"
-call_with_log "helm list" "${TMP_DIR}/${OUT_NAME}/helm-list.log"
-
-printf "Collecting Kubernetes info\n"
-call_with_log "kubectl version" "${TMP_DIR}/${OUT_NAME}/k8s-version.log"
-call_with_log "kubectl get nodes -o=wide" "${TMP_DIR}/${OUT_NAME}/k8s-nodes.log"
-call_with_log "kubectl cluster-info" "${TMP_DIR}/${OUT_NAME}/k8s-cluster-info.log"
-call_with_log "kubectl cluster-info dump" "${TMP_DIR}/${OUT_NAME}/k8s-cluster-info-dump.log"
-call_with_log "kubectl top node" "${TMP_DIR}/${OUT_NAME}/k8s-top-node.log"
-
-# Collect per-component info
-for i in ${_APPS[@]}; do
- printf "Writing Kubernetes info of component $i\n"
- collect_ns_info "$NS-$i" "${TMP_DIR}/${OUT_NAME}"
-done
-
-# Pack and cleanup
-mkdir -p ${OUT_DIR}
-_OUT_DIR=`readlink -e ${OUT_DIR}`
-printf "Packing output to ${_OUT_DIR}/${OUT_FILE}...\n"
-cd ${TMP_DIR}
-tar cfz ${_OUT_DIR}/${OUT_FILE} ${OUT_NAME}
-cd -
-printf "Cleaning up...\n"
-rm -rf ${TMP_DIR}/${OUT_NAME}
-printf "Done\n"
diff --git a/kubernetes/policy/Chart.yaml b/kubernetes/policy/Chart.yaml
index 0f877a0ecd..b178495b47 100644
--- a/kubernetes/policy/Chart.yaml
+++ b/kubernetes/policy/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: policy
diff --git a/kubernetes/policy/resources/config/log/filebeat/filebeat.yml b/kubernetes/policy/resources/config/log/filebeat/filebeat.yml
index 89c6932577..b0d4690754 100644
--- a/kubernetes/policy/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/policy/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/policy/templates/all-services.yaml b/kubernetes/policy/templates/all-services.yaml
index 3971b29b73..f8e435b1bc 100644
--- a/kubernetes/policy/templates/all-services.yaml
+++ b/kubernetes/policy/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyMariadb }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/policy/templates/dep-brmsgw.yaml b/kubernetes/policy/templates/dep-brmsgw.yaml
index 25bf0c678b..54b5565617 100644
--- a/kubernetes/policy/templates/dep-brmsgw.yaml
+++ b/kubernetes/policy/templates/dep-brmsgw.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyBrmsgw }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/policy/templates/dep-drools.yaml b/kubernetes/policy/templates/dep-drools.yaml
index ef9636ceef..ec0413aac5 100644
--- a/kubernetes/policy/templates/dep-drools.yaml
+++ b/kubernetes/policy/templates/dep-drools.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyDrools }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/policy/templates/dep-maria.yaml b/kubernetes/policy/templates/dep-maria.yaml
index 9ac17daa88..302a052401 100644
--- a/kubernetes/policy/templates/dep-maria.yaml
+++ b/kubernetes/policy/templates/dep-maria.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyMariadb }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/policy/templates/dep-nexus.yaml b/kubernetes/policy/templates/dep-nexus.yaml
index c63e0af685..de0aeb0f30 100644
--- a/kubernetes/policy/templates/dep-nexus.yaml
+++ b/kubernetes/policy/templates/dep-nexus.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyNexus }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/policy/templates/dep-pap.yaml b/kubernetes/policy/templates/dep-pap.yaml
index 389fc6b3eb..5a0d0467eb 100644
--- a/kubernetes/policy/templates/dep-pap.yaml
+++ b/kubernetes/policy/templates/dep-pap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyPap }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/policy/templates/dep-pdp.yaml b/kubernetes/policy/templates/dep-pdp.yaml
index 6740f1d422..6b28ed0fdb 100644
--- a/kubernetes/policy/templates/dep-pdp.yaml
+++ b/kubernetes/policy/templates/dep-pdp.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyPdp }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/policy/templates/policy-deployment-configmap.yaml b/kubernetes/policy/templates/policy-deployment-configmap.yaml
index d59ba617fa..9998b2c320 100644
--- a/kubernetes/policy/templates/policy-deployment-configmap.yaml
+++ b/kubernetes/policy/templates/policy-deployment-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyDrools }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/policy/templates/policy-deployment-secret.yaml b/kubernetes/policy/templates/policy-deployment-secret.yaml
index 6fe52ead4e..59bfa11df2 100644
--- a/kubernetes/policy/templates/policy-deployment-secret.yaml
+++ b/kubernetes/policy/templates/policy-deployment-secret.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyDrools }}
apiVersion: v1
kind: Secret
diff --git a/kubernetes/policy/templates/policy-log-configmap.yaml b/kubernetes/policy/templates/policy-log-configmap.yaml
index b1a9e0999c..3a62030bd5 100644
--- a/kubernetes/policy/templates/policy-log-configmap.yaml
+++ b/kubernetes/policy/templates/policy-log-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePolicyPap }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/policy/values.yaml b/kubernetes/policy/values.yaml
index 3af4af893e..49ad89225d 100644
--- a/kubernetes/policy/values.yaml
+++ b/kubernetes/policy/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
@@ -24,3 +38,7 @@ image:
policyNexusVersion: v1.1.1
ubuntu: ubuntu:16.04
filebeat: docker.elastic.co/beats/filebeat:5.5.0
+
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
diff --git a/kubernetes/portal/Chart.yaml b/kubernetes/portal/Chart.yaml
index 706a4f4816..b7c9e7b100 100644
--- a/kubernetes/portal/Chart.yaml
+++ b/kubernetes/portal/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: portal
diff --git a/kubernetes/portal/resources/config/log/filebeat/filebeat.yml b/kubernetes/portal/resources/config/log/filebeat/filebeat.yml
index 89c6932577..b0d4690754 100644
--- a/kubernetes/portal/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/portal/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/portal/templates/all-services.yaml b/kubernetes/portal/templates/all-services.yaml
index b676e3c6d1..d6958fcc6d 100644
--- a/kubernetes/portal/templates/all-services.yaml
+++ b/kubernetes/portal/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePortalPortaldb }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/portal/templates/portal-apps-configmap.yaml b/kubernetes/portal/templates/portal-apps-configmap.yaml
index ec3805de32..ee5e4b8059 100644
--- a/kubernetes/portal/templates/portal-apps-configmap.yaml
+++ b/kubernetes/portal/templates/portal-apps-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePortalPortalapps }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/portal/templates/portal-apps-deployment.yaml b/kubernetes/portal/templates/portal-apps-deployment.yaml
index e00151c714..ccd086caf5 100755..100644
--- a/kubernetes/portal/templates/portal-apps-deployment.yaml
+++ b/kubernetes/portal/templates/portal-apps-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePortalPortalapps }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/portal/templates/portal-logs-configmap.yaml b/kubernetes/portal/templates/portal-logs-configmap.yaml
index 60abcb78c8..068adadbdb 100644
--- a/kubernetes/portal/templates/portal-logs-configmap.yaml
+++ b/kubernetes/portal/templates/portal-logs-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePortalPortalapps }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/portal/templates/portal-mariadb-deployment.yaml b/kubernetes/portal/templates/portal-mariadb-deployment.yaml
index 828779eaa9..e1158a2461 100755..100644
--- a/kubernetes/portal/templates/portal-mariadb-deployment.yaml
+++ b/kubernetes/portal/templates/portal-mariadb-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePortalPortaldb }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/portal/templates/portal-pv-pvc.yaml b/kubernetes/portal/templates/portal-pv-pvc.yaml
index 1f554bc34a..1ba5fbb5ea 100644
--- a/kubernetes/portal/templates/portal-pv-pvc.yaml
+++ b/kubernetes/portal/templates/portal-pv-pvc.yaml
@@ -1,3 +1,19 @@
+{{/*
+# 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.
+*/}}
+
#{{ if not .Values.disablePortalPortaldb }}
apiVersion: v1
kind: PersistentVolume
diff --git a/kubernetes/portal/templates/portal-vnc-dep.yaml b/kubernetes/portal/templates/portal-vnc-dep.yaml
index 0680a8ab24..f3418e7bb8 100644
--- a/kubernetes/portal/templates/portal-vnc-dep.yaml
+++ b/kubernetes/portal/templates/portal-vnc-dep.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePortalVncPortal }}
kind: ConfigMap
metadata:
@@ -47,6 +61,7 @@ spec:
image: {{ .Values.image.readiness }}
imagePullPolicy: {{ .Values.pullPolicy }}
name: portal-vnc-readiness
+{{- if empty .Values.disablePolicyPap | not }}
- command:
- /root/ready.py
args:
@@ -58,6 +73,7 @@ spec:
image: {{ .Values.image.readiness }}
imagePullPolicy: {{ .Values.pullPolicy }}
name: vnc-pap-readiness
+{{- end }}
- command:
- /root/ready.py
args:
@@ -118,3 +134,4 @@ spec:
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
+
diff --git a/kubernetes/portal/templates/portal-widgets-deployment.yaml b/kubernetes/portal/templates/portal-widgets-deployment.yaml
index d5237caf33..1b6669e64f 100644
--- a/kubernetes/portal/templates/portal-widgets-deployment.yaml
+++ b/kubernetes/portal/templates/portal-widgets-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disablePortalPortalwidgets }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/portal/values.yaml b/kubernetes/portal/values.yaml
index abac400ba3..89c2dbcd96 100644
--- a/kubernetes/portal/values.yaml
+++ b/kubernetes/portal/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
@@ -17,3 +31,6 @@ image:
ubuntuInit: oomk8s/ubuntu-init:1.0.0
onapPortal:
webappsDir: "/opt/apache-tomcat-8.0.37/webapps"
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
diff --git a/kubernetes/readiness/dep-health-init.yaml b/kubernetes/readiness/dep-health-init.yaml
index 34bfbafdea..63cfc809d3 100644
--- a/kubernetes/readiness/dep-health-init.yaml
+++ b/kubernetes/readiness/dep-health-init.yaml
@@ -1,3 +1,17 @@
+# 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: extensions/v1beta1
kind: Deployment
metadata:
diff --git a/kubernetes/readiness/docker/init/Dockerfile b/kubernetes/readiness/docker/init/Dockerfile
index 20f2268975..7214e04174 100644
--- a/kubernetes/readiness/docker/init/Dockerfile
+++ b/kubernetes/readiness/docker/init/Dockerfile
@@ -17,4 +17,8 @@ ENV TOKEN="/var/run/secrets/kubernetes.io/serviceaccount/token"
COPY ready.py /root/ready.py
RUN chmod a+x /root/ready.py
+
+COPY job_complete.py /root/job_complete.py
+RUN chmod a+x /root/job_complete.py
+
ENTRYPOINT /root/ready.py
diff --git a/kubernetes/readiness/docker/init/job_complete.py b/kubernetes/readiness/docker/init/job_complete.py
new file mode 100644
index 0000000000..97d22da6c1
--- /dev/null
+++ b/kubernetes/readiness/docker/init/job_complete.py
@@ -0,0 +1,97 @@
+#!/usr/bin/python
+import getopt
+import logging
+import os
+import sys
+import time
+
+from kubernetes import client
+
+# 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', '')
+
+# 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)
+
+configuration = client.Configuration()
+configuration.host = "https://" + host
+configuration.ssl_ca_cert = cert
+configuration.api_key['authorization'] = token
+configuration.api_key_prefix['authorization'] = 'Bearer'
+batchV1Api = client.BatchV1Api(client.ApiClient(configuration))
+
+
+def is_job_complete(job_name):
+ complete = False
+ log.info("Checking if " + job_name + " is complete")
+ response = ""
+ try:
+ response = batchV1Api.read_namespaced_job_status(job_name, namespace)
+ if response.status.succeeded == 1:
+ job_status_type = response.status.conditions[0].type
+ if job_status_type == "Complete":
+ complete = True
+ else:
+ log.info(job_name + " is not complete")
+ else:
+ log.info(job_name + " has not succeeded yet")
+ return complete
+ except Exception as e:
+ log.error("Exception when calling read_namespaced_job_status: %s\n" % e)
+
+
+DEF_TIMEOUT = 10
+DESCRIPTION = "Kubernetes container job complete check utility"
+USAGE = "Usage: job_complete.py [-t <timeout>] -j <job_name> [-j <job_name> ...]\n" \
+ "where\n" \
+ "<timeout> - wait for container job complete timeout in min, default is " + str(DEF_TIMEOUT) + "\n" \
+ "<job_name> - name of the job to wait for\n"
+
+def main(argv):
+ # args are a list of job names
+ job_names = []
+ timeout = DEF_TIMEOUT
+ try:
+ opts, args = getopt.getopt(argv, "hj:t:", ["job-name=", "timeout=", "help"])
+ for opt, arg in opts:
+ if opt in ("-h", "--help"):
+ print("%s\n\n%s" % (DESCRIPTION, USAGE))
+ sys.exit()
+ elif opt in ("-j", "--job-name"):
+ job_names.append(arg)
+ elif opt in ("-t", "--timeout"):
+ timeout = float(arg)
+ except (getopt.GetoptError, ValueError) as e:
+ print("Error parsing input parameters: %s\n" % e)
+ print(USAGE)
+ sys.exit(2)
+ if job_names.__len__() == 0:
+ print("Missing required input parameter(s)\n")
+ print(USAGE)
+ sys.exit(2)
+
+ for job_name in job_names:
+ timeout = time.time() + timeout * 60
+ while True:
+ complete = is_job_complete(job_name)
+ if complete is True:
+ break
+ elif time.time() > timeout:
+ log.warning("timed out waiting for '" + job_name + "' to be completed")
+ exit(1)
+ else:
+ time.sleep(5)
+
+if __name__ == "__main__":
+ main(sys.argv[1:]) \ No newline at end of file
diff --git a/kubernetes/robot/.helmignore b/kubernetes/robot/.helmignore
index 586046af66..f0c1319444 100644
--- a/kubernetes/robot/.helmignore
+++ b/kubernetes/robot/.helmignore
@@ -1,7 +1,21 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
-
-# k8s scripts
-ete-k8s.sh
-demo-k8s.sh
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/robot/Chart.yaml b/kubernetes/robot/Chart.yaml
index 1f59785ede..46b81dccf7 100644
--- a/kubernetes/robot/Chart.yaml
+++ b/kubernetes/robot/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: A helm Chart for kubernetes-ONAP Robot
name: robot
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/robot/all-services.yaml b/kubernetes/robot/all-services.yaml
deleted file mode 100644
index 1fbabe2df6..0000000000
--- a/kubernetes/robot/all-services.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: robot
- name: robot
-spec:
- ports:
- - port: 88
- nodePort: {{ .Values.nodePortPrefix }}09
- selector:
- app: robot
- type: NodePort
diff --git a/kubernetes/robot/requirements.yaml b/kubernetes/robot/requirements.yaml
new file mode 100644
index 0000000000..9b24f824d5
--- /dev/null
+++ b/kubernetes/robot/requirements.yaml
@@ -0,0 +1,21 @@
+# 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.
+
+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' \ No newline at end of file
diff --git a/kubernetes/config/docker/init/src/config/robot/authorization b/kubernetes/robot/resources/config/authorization
index 988730f7a8..988730f7a8 100644..100755
--- a/kubernetes/config/docker/init/src/config/robot/authorization
+++ b/kubernetes/robot/resources/config/authorization
diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_preload_parameters.py b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py
index 3826659fcd..b125f792b9 100755
--- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_preload_parameters.py
+++ b/kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py
@@ -5,15 +5,15 @@ GLOBAL_PRELOAD_PARAMETERS = {
"pub_key" : "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqqnA9BAiMLtjOPSYBfhzLu4CiBolWoskDg4KVwhTJVTTeB6CqrQNcadlGXxOHhCYuNCKkUmIVF4WTOisVOJ75Z1c4OMoZLL85xVPKSIeH63kgVugwgPYQu55NbbWX+rsbUha3LnElDhNviMM3iTPbD5nnhKixNERAJMTLKXvZZZGqxW94bREknYPQTT2qrk3YRqwldncopp6Nkgv3AnSJz2gc9tjxnWF0poTQnQm/3D6hiJICrzKfAV0EaPN0KdtYjPhKrYoy6Qb/tKOVaaqsvwfKBJGrT9LfcA7D7M/yj292RT1XN63hI84WC383LsaPJ6eWdDTE6zUP1eGTWCoOw== rsa-key-20161026",
"repo_url_blob" : "https://nexus.onap.org/content/repositories/raw",
"repo_url_artifacts" : "https://nexus.onap.org/content/groups/staging",
- "demo_artifacts_version" : "DEMO_ARTIFACTS_VERSION_HERE",
- "onap_private_net_id" : "OPENSTACK_NETWORK_ID_WITH_ONAP_ROUTE_HERE",
- "onap_private_subnet_id" : "OPENSTACK_SUBNET_ID_WITH_ONAP_ROUTE_HERE",
- "onap_private_net_cidr" : "NETWORK_CIDR_WITH_ONAP_ROUTE_HERE",
+ "demo_artifacts_version" : "{{ .Values.demoArtifactsVersion }}",
+ "onap_private_net_id" : "{{ .Values.openStackPrivateNetId }}",
+ "onap_private_subnet_id" : "{{ .Values.openStackPrivateSubnetId }}",
+ "onap_private_net_cidr" : "{{ .Values.openStackPrivateNetCidr }}",
"dcae_collector_ip" : "10.0.4.102",
"dcae_collector_port" : "8080",
- "public_net_id" : "OPENSTACK_PUBLIC_NET_ID_HERE",
+ "public_net_id" : "{{ .Values.openStackPublicNetId }}",
"cloud_env" : "${cloud_env}",
- "install_script_version" : "${install_script_version}",
+ "install_script_version" : "${install_script_version}",
###
# vims_preload same for every instantiation
###
@@ -24,28 +24,28 @@ GLOBAL_PRELOAD_PARAMETERS = {
"ralf_image_name" : "${vm_image_name}",
"ellis_image_name" : "${vm_image_name}",
"dns_image_name" : "${vm_image_name}",
- "bono_flavor_name" : "${vm_flavor_name}",
- "sprout_flavor_name" : "${vm_flavor_name}",
- "homer_flavor_name" : "${vm_flavor_name}",
- "homestead_flavor_name" : "${vm_flavor_name}",
- "ralf_flavor_name" : "${vm_flavor_name}",
- "ellis_flavor_name" : "${vm_flavor_name}",
- "dns_flavor_name" : "${vm_flavor_name}",
- "repo_url" : "http://repo.cw-ngv.com/stable",
- "zone" : "me.cw-ngv.com",
- "dn_range_start" : "2425550000",
- "dn_range_length" : "10000",
- "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw==",
+ "bono_flavor_name" : "${vm_flavor_name}",
+ "sprout_flavor_name" : "${vm_flavor_name}",
+ "homer_flavor_name" : "${vm_flavor_name}",
+ "homestead_flavor_name" : "${vm_flavor_name}",
+ "ralf_flavor_name" : "${vm_flavor_name}",
+ "ellis_flavor_name" : "${vm_flavor_name}",
+ "dns_flavor_name" : "${vm_flavor_name}",
+ "repo_url" : "http://repo.cw-ngv.com/stable",
+ "zone" : "me.cw-ngv.com",
+ "dn_range_start" : "2425550000",
+ "dn_range_length" : "10000",
+ "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw==",
###
# vlb_preload same for every instantiation
###
- "vlb_image_name" : "${vm_image_name}",
- "vlb_flavor_name" : "${vm_flavor_name}",
+ "vlb_image_name" : "${vm_image_name}",
+ "vlb_flavor_name" : "${vm_flavor_name}",
###
# vlb_preload same for every instantiation
###
- "vfw_image_name" : "${vm_image_name}",
- "vfw_flavor_name" : "${vm_flavor_name}",
+ "vfw_image_name" : "${vm_image_name}",
+ "vfw_flavor_name" : "${vm_flavor_name}",
###
},
@@ -60,11 +60,11 @@ GLOBAL_PRELOAD_PARAMETERS = {
"protected_private_net_cidr" : "192.168.20.0/24",
"vfw_private_ip_0" : "192.168.10.100",
"vfw_private_ip_1" : "192.168.20.100",
- "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.1",
+ "vfw_private_ip_2" : "{{ .Values.openStackOamNetworkCidrPrefix }}.1",
"vpg_private_ip_0" : "192.168.10.200",
- "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.2",
+ "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.2",
"vsn_private_ip_0" : "192.168.20.250",
- "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.3",
+ "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.3",
'vfw_name_0':'vofwl01fwl${hostid}',
'vpg_name_0':'vofwl01pgn${hostid}',
'vsn_name_0':'vofwl01snk${hostid}'
@@ -73,41 +73,41 @@ GLOBAL_PRELOAD_PARAMETERS = {
"vlb_private_net_id" : "volb01_private${hostid}",
"vlb_private_net_cidr" : "192.168.30.0/24",
"vlb_private_ip_0" : "192.168.30.100",
- "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.4",
+ "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.4",
"vdns_private_ip_0" : "192.168.30.110",
- "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.5",
+ "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.5",
'vlb_name_0':'vovlblb${hostid}',
'vdns_name_0':'vovlbdns${hostid}',
- "vlb_private_net_cidr" : "192.168.10.0/24",
- "pktgen_private_net_cidr" : "192.168.9.0/24"
-
+ "vlb_private_net_cidr" : "192.168.10.0/24",
+ "pktgen_private_net_cidr" : "192.168.9.0/24"
+
},
"dnsscaling_preload.template" : {
"vlb_private_net_id" : "volb01_private${hostid}",
"vlb_private_ip_0" : "192.168.30.100",
- "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.4",
+ "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.4",
"vdns_private_ip_0" : "192.168.30.222",
- "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.6",
+ "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.6",
'scaling_vdns_name_0':'vovlbscaling${hostid}',
- "vlb_private_net_cidr" : "192.168.10.0/24"
+ "vlb_private_net_cidr" : "192.168.10.0/24"
},
"vvg_preload.template" : {
}
},
# heat template parameter values for heat template instances created during Closed-Loop test cases
"Closed-Loop" : {
- "vfw_preload.template": {
+ "vfw_preload.template": {
"unprotected_private_net_id" : "clfwl01_unprotected${hostid}",
"unprotected_private_net_cidr" : "192.168.110.0/24",
"protected_private_net_id" : "clfwl01_protected${hostid}",
"protected_private_net_cidr" : "192.168.120.0/24",
"vfw_private_ip_0" : "192.168.110.100",
"vfw_private_ip_1" : "192.168.120.100",
- "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.11",
+ "vfw_private_ip_2" : "{{ .Values.openStackOamNetworkCidrPrefix }}.11",
"vpg_private_ip_0" : "192.168.110.200",
- "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.12",
+ "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.12",
"vsn_private_ip_0" : "192.168.120.250",
- "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.13",
+ "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.13",
'vfw_name_0':'clfwl01fwl${hostid}',
'vpg_name_0':'clfwl01pgn${hostid}',
'vsn_name_0':'clfwl01snk${hostid}'
@@ -116,22 +116,22 @@ GLOBAL_PRELOAD_PARAMETERS = {
"vlb_private_net_id" : "cllb01_private${hostid}",
"vlb_private_net_cidr" : "192.168.130.0/24",
"vlb_private_ip_0" : "192.168.130.100",
- "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14",
+ "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
"vdns_private_ip_0" : "192.168.130.110",
- "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.15",
+ "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.15",
'vlb_name_0':'clvlblb${hostid}',
'vdns_name_0':'clvlbdns${hostid}',
- "vlb_private_net_cidr" : "192.168.10.0/24",
- "pktgen_private_net_cidr" : "192.168.9.0/24"
+ "vlb_private_net_cidr" : "192.168.10.0/24",
+ "pktgen_private_net_cidr" : "192.168.9.0/24"
},
"dnsscaling_preload.template" : {
"vlb_private_net_id" : "cllb01_private${hostid}",
"vlb_private_ip_0" : "192.168.130.100",
- "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14",
+ "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
"vdns_private_ip_0" : "192.168.130.222",
- "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.16",
+ "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.16",
'scaling_vdns_name_0':'clvlbscaling${hostid}',
- "vlb_private_net_cidr" : "192.168.10.0/24"
+ "vlb_private_net_cidr" : "192.168.10.0/24"
},
"vvg_preload.template" : {
}
@@ -145,11 +145,11 @@ GLOBAL_PRELOAD_PARAMETERS = {
"protected_private_net_cidr" : "192.168.120.0/24",
"vfw_private_ip_0" : "192.168.110.100",
"vfw_private_ip_1" : "192.168.120.100",
- "vfw_private_ip_2" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.11",
+ "vfw_private_ip_2" : "{{ .Values.openStackOamNetworkCidrPrefix }}.11",
"vpg_private_ip_0" : "192.168.110.200",
- "vpg_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.12",
+ "vpg_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.12",
"vsn_private_ip_0" : "192.168.120.250",
- "vsn_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.13",
+ "vsn_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.13",
'vfw_name_0':'demofwl01fwl',
'vpg_name_0':'demofwl01pgn',
'vsn_name_0':'demofwl01snk'
@@ -158,25 +158,24 @@ GLOBAL_PRELOAD_PARAMETERS = {
"vlb_private_net_id" : "demolb_private",
"vlb_private_net_cidr" : "192.168.130.0/24",
"vlb_private_ip_0" : "192.168.130.100",
- "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14",
+ "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
"vdns_private_ip_0" : "192.168.130.110",
- "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.15",
+ "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.15",
'vlb_name_0':'demovlblb',
'vdns_name_0':'demovlbdns',
- "vlb_private_net_cidr" : "192.168.10.0/24",
- "pktgen_private_net_cidr" : "192.168.9.0/24"
+ "vlb_private_net_cidr" : "192.168.10.0/24",
+ "pktgen_private_net_cidr" : "192.168.9.0/24"
},
"dnsscaling_preload.template" : {
"vlb_private_net_id" : "demolb_private",
"vlb_private_ip_0" : "192.168.130.100",
- "vlb_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.14",
+ "vlb_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.14",
"vdns_private_ip_0" : "192.168.130.222",
- "vdns_private_ip_1" : "OPENSTACK_OAM_NETWORK_CIDR_PREFIX_HERE.16",
+ "vdns_private_ip_1" : "{{ .Values.openStackOamNetworkCidrPrefix }}.16",
'scaling_vdns_name_0':'demovlbscaling',
- "vlb_private_net_cidr" : "192.168.10.0/24"
+ "vlb_private_net_cidr" : "192.168.10.0/24"
},
"vvg_preload.template" : {
}
}
}
-
diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
index 0bf67912d2..305ba3e8a0 100755
--- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py
+++ b/kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
@@ -74,8 +74,8 @@ GLOBAL_VID_HEALTH_PASSWORD = "AppPassword!1"
GLOBAL_PROXY_WARNING_TITLE = ""
GLOBAL_PROXY_WARNING_CONTINUE_XPATH = ""
# settings for vm to attach vvg too
-GLOBAL_VVGSERVER_IMAGE = "UBUNTU_14_IMAGE_NAME_HERE"
-GLOBAL_VVGSERVER_FLAVOR = "OPENSTACK_FLAVOUR_MEDIUM_HERE"
+GLOBAL_VVGSERVER_IMAGE = "{{ .Values.ubuntuImage }}"
+GLOBAL_VVGSERVER_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
# dns info
GLOBAL_DNS_TRAFFIC_DURATION = "600"
GLOBAL_HEAT_TEMPLATES_FOLDER = "/share/heat"
diff --git a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_config2robot.sh b/kubernetes/robot/resources/config/eteshare/config/vm_config2robot.sh
index c50fa5f491..c50fa5f491 100755
--- a/kubernetes/config/docker/init/src/config/robot/eteshare/config/vm_config2robot.sh
+++ b/kubernetes/robot/resources/config/eteshare/config/vm_config2robot.sh
diff --git a/kubernetes/robot/resources/config/eteshare/config/vm_properties.py b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py
new file mode 100755
index 0000000000..cd1ce14dc8
--- /dev/null
+++ b/kubernetes/robot/resources/config/eteshare/config/vm_properties.py
@@ -0,0 +1,79 @@
+#file generated from /opt/config
+#
+GLOBAL_INJECTED_AAI1_IP_ADDR = "{{.Release.Name}}-aai.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_AAI2_IP_ADDR = "N/A"
+GLOBAL_INJECTED_APPC_IP_ADDR = "{{.Release.Name}}-appc-sdnhost.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_ARTIFACTS_VERSION = "{{.Values.demoArtifactsVersion}}"
+GLOBAL_INJECTED_CLAMP_IP_ADDR = "{{.Release.Name}}-clamp.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_CLOUD_ENV = "openstack"
+GLOBAL_INJECTED_DCAE_IP_ADDR = "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_DNS_IP_ADDR = "10.0.100.1"
+GLOBAL_INJECTED_DOCKER_VERSION = "1.2-STAGING-latest"
+#GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
+GLOBAL_INJECTED_GERRIT_BRANCH = "master"
+GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
+GLOBAL_INJECTED_MR_IP_ADDR = "{{.Release.Name}}-dmaap.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_MSO_IP_ADDR = "{{.Release.Name}}-so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_NETWORK = "{{ .Values.openStackPrivateNetId }}"
+GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "nexus3.onap.org:10001"
+GLOBAL_INJECTED_NEXUS_PASSWORD = "docker"
+GLOBAL_INJECTED_NEXUS_REPO = "https://nexus.onap.org/content/sites/raw"
+GLOBAL_INJECTED_NEXUS_USERNAME = "docker"
+GLOBAL_INJECTED_OPENO_IP_ADDR = "{{.Release.Name}}-msb-iag.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackEncryptedPassword }}"
+GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{ .Values.openStackTenantId }}"
+GLOBAL_INJECTED_OPENSTACK_USERNAME = "{{ .Values.openStackUserName }}"
+GLOBAL_INJECTED_POLICY_IP_ADDR = "{{.Release.Name}}-pypdp.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "{{.Release.Name}}-drools.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_PORTAL_IP_ADDR = "{{.Release.Name}}-portalapps.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_REGION = "{{ .Values.openStackRegion }}"
+GLOBAL_INJECTED_REMOTE_REPO = "http://gerrit.onap.org/r/testsuite/properties.git"
+GLOBAL_INJECTED_SDC_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_FE_IP_ADDR = "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_BE_IP_ADDR = "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDNC_IP_ADDR = "{{.Release.Name}}-sdnhost.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_IP_ADDR = "{{.Release.Name}}-so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_VID_IP_ADDR = "{{.Release.Name}}-vid-server.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_VM_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
+GLOBAL_INJECTED_VM_IMAGE_NAME = "{{ .Values.ubuntuImage }}"
+GLOBAL_INJECTED_PUBLIC_NET_ID = "{{ .Values.openStackPublicNetId }}"
+GLOBAL_INJECTED_SCRIPT_VERSION = "{{ .Values.scriptVersion }}"
+GLOBAL_INJECTED_PROPERTIES = {
+ "GLOBAL_INJECTED_AAI1_IP_ADDR" : "{{.Release.Name}}-aai.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_APPC_IP_ADDR" : "{{.Release.Name}}-appc-sdnhost.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_ARTIFACTS_VERSION" : "{{.Values.demoArtifactsVersion}}",
+ "GLOBAL_INJECTED_CLAMP_IP_ADDR" : "{{.Release.Name}}-clamp.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_CLOUD_ENV" : "openstack",
+ "GLOBAL_INJECTED_DCAE_IP_ADDR" : "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_DNS_IP_ADDR" : "10.0.100.1",
+ "GLOBAL_INJECTED_DOCKER_VERSION" : "1.2-STAGING-latest",
+ "GLOBAL_INJECTED_GERRIT_BRANCH" : "master",
+ "GLOBAL_INJECTED_KEYSTONE" : "{{ .Values.openStackKeyStoneUrl }}",
+ "GLOBAL_INJECTED_MR_IP_ADDR" : "{{.Release.Name}}-dmaap.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_MSO_IP_ADDR" : "{{.Release.Name}}-so.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_NETWORK" : "{{ .Values.openStackPrivateNetId }}",
+ "GLOBAL_INJECTED_NEXUS_DOCKER_REPO" : "nexus3.onap.org:10001",
+ "GLOBAL_INJECTED_NEXUS_PASSWORD" : "docker",
+ "GLOBAL_INJECTED_NEXUS_REPO" : "https://nexus.onap.org/content/sites/raw",
+ "GLOBAL_INJECTED_NEXUS_USERNAME" : "docker",
+ "GLOBAL_INJECTED_OPENO_IP_ADDR" : "{{.Release.Name}}-msb-iag.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "{{ .Values.openStackEncryptedPassword }}",
+ "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "{{ .Values.openStackTenantId }}",
+ "GLOBAL_INJECTED_OPENSTACK_USERNAME" : "{{ .Values.openStackUserName }}",
+ "GLOBAL_INJECTED_POLICY_IP_ADDR" : "{{.Release.Name}}-pypdp.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR" : "{{.Release.Name}}-drools.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_PORTAL_IP_ADDR" : "{{.Release.Name}}-portalapps.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_REGION" : "{{ .Values.openStackRegion }}",
+ "GLOBAL_INJECTED_REMOTE_REPO" : "http://gerrit.onap.org/r/testsuite/properties.git",
+ "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_SDC_BE_IP_ADDR" : "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_SDNC_IP_ADDR" : "{{.Release.Name}}-sdnhost.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_SO_IP_ADDR" : "{{.Release.Name}}-so.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_VID_IP_ADDR" : "{{.Release.Name}}-vid-server.{{include "common.namespace" .}}",
+ "GLOBAL_INJECTED_VM_FLAVOR" : "{{ .Values.openStackFlavourMedium }}",
+ "GLOBAL_INJECTED_VM_IMAGE_NAME" : "{{ .Values.ubuntuImage }}",
+ "GLOBAL_INJECTED_PUBLIC_NET_ID" : "{{ .Values.openStackPublicNetId }}",
+ "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}"
+}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/asdc_interface.robot b/kubernetes/robot/resources/config/robot/resources/asdc_interface.robot
index 3020603ef8..5b69a66c7c 100644
--- a/kubernetes/config/docker/init/src/config/robot/robot/resources/asdc_interface.robot
+++ b/kubernetes/robot/resources/config/robot/resources/asdc_interface.robot
@@ -53,11 +53,13 @@ Distribute Model From ASDC
[Arguments] ${model_zip_path} ${catalog_service_name}=
${catalog_service_id}= Add ASDC Catalog Service ${catalog_service_name}
${catalog_resource_ids}= Create List
+ ${catalog_resources}= Create Dictionary
: FOR ${zip} IN @{model_zip_path}
\ ${loop_catalog_resource_id}= Setup ASDC Catalog Resource ${zip}
\ Append To List ${catalog_resource_ids} ${loop_catalog_resource_id}
\ ${loop_catalog_resource_resp}= Get ASDC Catalog Resource ${loop_catalog_resource_id}
\ Add ASDC Resource Instance ${catalog_service_id} ${loop_catalog_resource_id} ${loop_catalog_resource_resp['name']}
+ \ Set To Dictionary ${catalog_resources} ${loop_catalog_resource_id}=${loop_catalog_resource_resp}
${catalog_service_resp}= Get ASDC Catalog Service ${catalog_service_id}
Checkin ASDC Catalog Service ${catalog_service_id}
Request Certify ASDC Catalog Service ${catalog_service_id}
@@ -69,7 +71,7 @@ Distribute Model From ASDC
${catalog_service_resp}= Get ASDC Catalog Service ${catalog_service_id}
${vf_module}= Find Element In Array ${loop_catalog_resource_resp['groups']} type org.openecomp.groups.VfModule
Check Catalog Service Distributed ${catalog_service_resp['uuid']}
- [Return] ${catalog_service_resp['name']} ${loop_catalog_resource_resp['name']} ${vf_module} ${catalog_resource_ids} ${catalog_service_id}
+ [Return] ${catalog_service_resp['name']} ${loop_catalog_resource_resp['name']} ${vf_module} ${catalog_resource_ids} ${catalog_service_id} ${catalog_resources}
Setup ASDC Catalog Resource
[Documentation] Creates all the steps a vf needs for an asdc catalog resource and returns the id
@@ -390,6 +392,7 @@ Check Catalog Service Distributed
[Arguments] ${catalog_service_uuid}
${dist_resp}= Get Catalog Service Distribution ${catalog_service_uuid}
Should Be Equal As Strings ${dist_resp['distributionStatusOfServiceList'][0]['deployementStatus']} Distributed
+ Sleep 3 minutes
${det_resp}= Get Catalog Service Distribution Details ${dist_resp['distributionStatusOfServiceList'][0]['distributionID']}
@{ITEMS}= Copy List ${det_resp['distributionStatusList']}
:FOR ${ELEMENT} IN @{ITEMS}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/policy_interface.robot b/kubernetes/robot/resources/config/robot/resources/policy_interface.robot
index 6887ce6b56..9193fe438a 100644
--- a/kubernetes/config/docker/init/src/config/robot/robot/resources/policy_interface.robot
+++ b/kubernetes/robot/resources/config/robot/resources/policy_interface.robot
@@ -4,7 +4,7 @@ Library RequestsClientCert
Library RequestsLibrary
Library String
Library JSONUtils
-Library Collections
+Library Collections
Resource global_properties.robot
*** Variables ***
@@ -16,7 +16,7 @@ ${POLICY_HEALTHCHECK_ENDPOINT} ${GLOBAL_POLICY_SERVER_PROTOCOL}://${GLOBAL_I
Run Policy Health Check
[Documentation] Runs Policy Health check
- ${auth}= Create List ${GLOBAL_POLICY_USERNAME} ${GLOBAL_POLICY_PASSWORD}
+ ${auth}= Create List ${GLOBAL_POLICY_USERNAME} ${GLOBAL_POLICY_PASSWORD}
Log Creating session ${POLICY_ENDPOINT}
${session}= Create Session policy ${POLICY_HEALTHCHECK_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
@@ -28,7 +28,6 @@ Run Policy Health Check
:FOR ${ELEMENT} IN @{ITEMS}
\ Should Be Equal As Strings ${ELEMENT['code']} 200
\ Should Be True ${ELEMENT['healthy']}
-
Run Policy Put Request
[Documentation] Runs Policy Put request
[Arguments] ${data_path} ${data}
@@ -38,7 +37,6 @@ Run Policy Put Request
${resp}= Put Request policy ${data_path} data=${data} headers=${headers}
Log Received response from policy ${resp.text}
[Return] ${resp}
-
Run Policy Delete Request
[Documentation] Runs Policy Delete request
[Arguments] ${data_path} ${data}
@@ -48,7 +46,6 @@ Run Policy Delete Request
${resp}= Delete Request policy ${data_path} data=${data} headers=${headers}
Log Received response from policy ${resp.text}
[Return] ${resp}
-
Run Policy Get Configs Request
[Documentation] Runs Policy Get Configs request
[Arguments] ${data_path} ${data}
@@ -57,4 +54,4 @@ Run Policy Get Configs Request
${headers}= Create Dictionary Accept=application/json Content-Type=application/json Authorization=Basic ${GLOBAL_POLICY_AUTH} ClientAuth=${GLOBAL_POLICY_CLIENTAUTH}
${resp}= Post Request policy ${data_path} data=${data} headers=${headers}
Log Received response from policy ${resp.text}
- [Return] ${resp} \ No newline at end of file
+ [Return] ${resp}
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/sdngc_interface.robot b/kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot
index 07a8445221..5b79f9a305 100644
--- a/kubernetes/config/docker/init/src/config/robot/robot/resources/sdngc_interface.robot
+++ b/kubernetes/robot/resources/config/robot/resources/sdngc_interface.robot
@@ -1,7 +1,7 @@
*** Settings ***
Documentation The main interface for interacting with SDN-GC. It handles low level stuff like managing the http request library and SDN-GC required fields
Library RequestsLibrary
-Library UUID
+Library UUID
Library OperatingSystem
Library ExtendedSelenium2Library
Library Collections
@@ -137,9 +137,9 @@ Get Template Parameters
Set To Dictionary ${valuemap} network=${GLOBAL_INJECTED_NETWORK}
Set To Dictionary ${valuemap} public_net_id=${GLOBAL_INJECTED_PUBLIC_NET_ID}
Set To Dictionary ${valuemap} cloud_env=${GLOBAL_INJECTED_CLOUD_ENV}
- Set To Dictionary ${valuemap} install_script_version=${GLOBAL_INJECTED_INSTALL_SCRIPT_VERSION}
+ Set To Dictionary ${valuemap} install_script_version=${GLOBAL_INJECTED_SCRIPT_VERSION}
Set To Dictionary ${valuemap} vm_image_name=${GLOBAL_INJECTED_VM_IMAGE_NAME}
- Set To Dictionary ${valuemap} vm_flavor_name=${GLOBAL_INJECTED_VM_FLAVOR_NAME}
+ Set To Dictionary ${valuemap} vm_flavor_name=${GLOBAL_INJECTED_VM_FLAVOR}
# update the value map with unique values.
Set To Dictionary ${valuemap} uuid=${uuid} hostid=${hostid} ecompnet=${ecompnet}
${parameters}= Create Dictionary
@@ -201,7 +201,7 @@ Login To SDNGC Admin GUI
## Setup Browser is now being managed by the test case
## Setup Browser
Go To ${SDNGC_ADMIN_SIGNUP_URL}
- Maximize Browser Window
+ ##Maximize Browser Window
Set Selenium Speed ${GLOBAL_SELENIUM_DELAY}
Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
Log Logging in to ${SDNGC_ADMIN_LOGIN_URL}
@@ -219,4 +219,4 @@ Login To SDNGC Admin GUI
Input Password xpath=//input[@id='password'] ${shortened_uuid}
Click Button xpath=//button[@type='submit']
Title Should Be SDN-C AdminPortal
- Log Logged in to ${SDNGC_ADMIN_LOGIN_URL} \ No newline at end of file
+ Log Logged in to ${SDNGC_ADMIN_LOGIN_URL}
diff --git a/kubernetes/robot/templates/NOTES.txt b/kubernetes/robot/templates/NOTES.txt
new file mode 100644
index 0000000000..91d8ed42f1
--- /dev/null
+++ b/kubernetes/robot/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/robot/templates/all-services.yaml b/kubernetes/robot/templates/all-services.yaml
deleted file mode 100644
index 604982b1e4..0000000000
--- a/kubernetes/robot/templates/all-services.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-#{{ if not .Values.disableRobotRobot }}
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: robot
- name: robot
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- ports:
- - port: 88
- nodePort: {{ .Values.nodePortPrefix }}09
- selector:
- app: robot
- type: NodePort
-#{{ end }} \ No newline at end of file
diff --git a/kubernetes/robot/templates/configmap.yaml b/kubernetes/robot/templates/configmap.yaml
new file mode 100644
index 0000000000..ab4a10bf9b
--- /dev/null
+++ b/kubernetes/robot/templates/configmap.yaml
@@ -0,0 +1,37 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-eteshare-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/eteshare/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-resources-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/robot/resources/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-lighttpd-authorization-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/authorization").AsConfig . | indent 2 }}
diff --git a/kubernetes/robot/templates/deployment.yaml b/kubernetes/robot/templates/deployment.yaml
new file mode 100644
index 0000000000..3403810d20
--- /dev/null
+++ b/kubernetes/robot/templates/deployment.yaml
@@ -0,0 +1,96 @@
+# 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: 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.robotReplicas }}
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ containers:
+ - name: {{ .Chart.Name }}
+ image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: localtime
+ mountPath: /etc/localtime
+ readOnly: true
+ - name: robot-eteshare
+ mountPath: /share/config
+ - name: robot-resources
+ mountPath: /var/opt/OpenECOMP_ETE/robot/resources/asdc_interface.robot
+ subPath: asdc_interface.robot
+ - name: robot-resources
+ mountPath: /var/opt/OpenECOMP_ETE/robot/resources/policy_interface.robot
+ subPath: policy_interface.robot
+ - name: robot-resources
+ mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot
+ subPath: sdngc_interface.robot
+ - name: robot-lighttpd-authorization
+ mountPath: /etc/lighttpd/authorization
+ subPath: authorization
+ 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:
+ path: /etc/localtime
+ - name: robot-eteshare
+ configMap:
+ name: {{ include "common.fullname" . }}-eteshare-configmap
+ defaultMode: 0755
+ - name: robot-resources
+ configMap:
+ name: {{ include "common.fullname" . }}-resources-configmap
+ - name: robot-lighttpd-authorization
+ configMap:
+ name: {{ include "common.fullname" . }}-lighttpd-authorization-configmap
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/robot/templates/robot-deployment.yaml b/kubernetes/robot/templates/robot-deployment.yaml
deleted file mode 100644
index a978ff4f41..0000000000
--- a/kubernetes/robot/templates/robot-deployment.yaml
+++ /dev/null
@@ -1,64 +0,0 @@
-#{{ if not .Values.disableRobotRobot }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- name: robot
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.robotReplicas }}
- selector:
- matchLabels:
- app: robot
- template:
- metadata:
- labels:
- app: robot
- name: robot
- spec:
- containers:
- - image: {{ .Values.image.testsuite }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: robot
- volumeMounts:
- - name: localtime
- mountPath: /etc/localtime
- readOnly: true
- - name: robot-eteshare
- mountPath: /share
- - name: robot-resources-asdc-interface
- mountPath: /var/opt/OpenECOMP_ETE/robot/resources/asdc_interface.robot
- - name: robot-resources-policy-interface
- mountPath: /var/opt/OpenECOMP_ETE/robot/resources/policy_interface.robot
- - name: robot-resources-sdngc-interface
- mountPath: /var/opt/OpenECOMP_ETE/robot/resources/sdngc_interface.robot
- - name: lighttpd-authorization
- mountPath: /etc/lighttpd/authorization
- ports:
- - containerPort: 88
- readinessProbe:
- tcpSocket:
- port: 88
- initialDelaySeconds: 5
- periodSeconds: 10
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: robot-eteshare
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/eteshare
- - name: robot-resources-asdc-interface
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources/asdc_interface.robot
- - name: robot-resources-policy-interface
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources/policy_interface.robot
- - name: robot-resources-sdngc-interface
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/robot/resources/sdngc_interface.robot
- - name: lighttpd-authorization
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/authorization
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/robot/templates/service.yaml b/kubernetes/robot/templates/service.yaml
new file mode 100644
index 0000000000..f9f2805f00
--- /dev/null
+++ b/kubernetes/robot/templates/service.yaml
@@ -0,0 +1,39 @@
+# 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: v1
+kind: Service
+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:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/robot/values.yaml b/kubernetes/robot/values.yaml
index 6aadd93647..6ef3a21d89 100644
--- a/kubernetes/robot/values.yaml
+++ b/kubernetes/robot/values.yaml
@@ -1,7 +1,99 @@
-nsPrefix: onap
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
+# application image
+repository: nexus3.onap.org:10001
+image: openecomp/testsuite:1.2-STAGING-latest
pullPolicy: Always
-nodePortPrefix: 302
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+
+# openstack configuration
+
+demoArtifactsVersion: "1.2.0-SNAPSHOT"
+openStackPrivateNetCidr: "192.168.30.0"
+openStackFlavourMedium: "m1.medium"
+openStackKeyStoneUrl: "http://1.2.3.4:5000"
+openStackPublicNetId: "e8f51958045716781ffc"
+openStackPrivateNetId: "e8f51956-00dd-4425-af36-045716781ffc"
+openStackOamNetworkCidrPrefix: "192.168.120"
+openStackEncryptedPassword: "c124921a3a0efbe579782cde8227681e"
+openStackRegion: "RegionOne"
+openStackPrivateSubnetId: "e8f51956-00dd-4425-af36-045716781ffc"
+openStackTenantId: "47899782ed714295b1151681fdfd51f5"
+openStackUserName: "vnf_user"
+ubuntuImage: "Ubuntu_14.04.5_LTS"
+scriptVersion: "1.1.1"
+
+# default number of instances
robotReplicas: 1
-image:
- testsuite: nexus3.onap.org:10001/openecomp/testsuite:1.1-STAGING-latest
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+
+service:
+ type: NodePort
+ name: robot
+ externalPort: "09"
+ internalPort: 88
+
+
+ingress:
+ enabled: false
+
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/sdc/Chart.yaml b/kubernetes/sdc/Chart.yaml
index 668a9a641e..0fa6ac5f28 100644
--- a/kubernetes/sdc/Chart.yaml
+++ b/kubernetes/sdc/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: sdc
diff --git a/kubernetes/sdc/resources/config/log/filebeat/filebeat.yml b/kubernetes/sdc/resources/config/log/filebeat/filebeat.yml
index 89c6932577..b0d4690754 100644
--- a/kubernetes/sdc/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/sdc/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/sdc/templates/all-services.yaml b/kubernetes/sdc/templates/all-services.yaml
index 247ee034a8..1f0a9a720c 100644
--- a/kubernetes/sdc/templates/all-services.yaml
+++ b/kubernetes/sdc/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcEs }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/sdc/templates/sdc-be.yaml b/kubernetes/sdc/templates/sdc-be.yaml
index d075277d91..9cf036a55e 100644
--- a/kubernetes/sdc/templates/sdc-be.yaml
+++ b/kubernetes/sdc/templates/sdc-be.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcBe }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdc/templates/sdc-cs.yaml b/kubernetes/sdc/templates/sdc-cs.yaml
index bf86de6fe2..d41d5f75b8 100644
--- a/kubernetes/sdc/templates/sdc-cs.yaml
+++ b/kubernetes/sdc/templates/sdc-cs.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcCs }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdc/templates/sdc-environments-configmap.yaml b/kubernetes/sdc/templates/sdc-environments-configmap.yaml
index e1ff5581fd..741c2818ea 100644
--- a/kubernetes/sdc/templates/sdc-environments-configmap.yaml
+++ b/kubernetes/sdc/templates/sdc-environments-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcBe }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/sdc/templates/sdc-es.yaml b/kubernetes/sdc/templates/sdc-es.yaml
index 979c70df5b..0c3f3dedf7 100644
--- a/kubernetes/sdc/templates/sdc-es.yaml
+++ b/kubernetes/sdc/templates/sdc-es.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcEs }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdc/templates/sdc-fe-configmap.yaml b/kubernetes/sdc/templates/sdc-fe-configmap.yaml
index 05c0a1645c..648bec40e6 100644
--- a/kubernetes/sdc/templates/sdc-fe-configmap.yaml
+++ b/kubernetes/sdc/templates/sdc-fe-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcFe }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/sdc/templates/sdc-fe.yaml b/kubernetes/sdc/templates/sdc-fe.yaml
index adcec19ffe..b61e11fa95 100644
--- a/kubernetes/sdc/templates/sdc-fe.yaml
+++ b/kubernetes/sdc/templates/sdc-fe.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcFe }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdc/templates/sdc-kb.yaml b/kubernetes/sdc/templates/sdc-kb.yaml
index 90fc6f2a21..122781b62e 100644
--- a/kubernetes/sdc/templates/sdc-kb.yaml
+++ b/kubernetes/sdc/templates/sdc-kb.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcKb }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdc/templates/sdc-log-configmap.yaml b/kubernetes/sdc/templates/sdc-log-configmap.yaml
index f2b5c09d0b..78312b7c04 100644
--- a/kubernetes/sdc/templates/sdc-log-configmap.yaml
+++ b/kubernetes/sdc/templates/sdc-log-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdcSdcBe }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/sdc/templates/sdc-pv-pvc.yaml b/kubernetes/sdc/templates/sdc-pv-pvc.yaml
index 8d9becf2d5..d4dbc1b2a6 100644
--- a/kubernetes/sdc/templates/sdc-pv-pvc.yaml
+++ b/kubernetes/sdc/templates/sdc-pv-pvc.yaml
@@ -1,3 +1,19 @@
+{{/*
+# 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.
+*/}}
+
#{{ if not .Values.disableSdcSdcCs }}
apiVersion: v1
kind: PersistentVolume
diff --git a/kubernetes/sdc/values.yaml b/kubernetes/sdc/values.yaml
index d42abcccbe..40b3ec3f23 100644
--- a/kubernetes/sdc/values.yaml
+++ b/kubernetes/sdc/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
@@ -11,3 +25,6 @@ image:
sdcBackend: nexus3.onap.org:10001/openecomp/sdc-backend:v1.1.0
filebeat: docker.elastic.co/beats/filebeat:5.5.0
ubuntuInit: oomk8s/ubuntu-init:1.0.0
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
diff --git a/kubernetes/sdnc/Chart.yaml b/kubernetes/sdnc/Chart.yaml
index 2daeef2e46..6e0ec8d433 100644
--- a/kubernetes/sdnc/Chart.yaml
+++ b/kubernetes/sdnc/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: sdnc
diff --git a/kubernetes/sdnc/resources/config/log/filebeat/log4j/filebeat.yml b/kubernetes/sdnc/resources/config/log/filebeat/log4j/filebeat.yml
index 2cd63e1d98..49d818a807 100644
--- a/kubernetes/sdnc/resources/config/log/filebeat/log4j/filebeat.yml
+++ b/kubernetes/sdnc/resources/config/log/filebeat/log4j/filebeat.yml
@@ -29,7 +29,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/sdnc/templates/all-services.yaml b/kubernetes/sdnc/templates/all-services.yaml
index c309f48fb1..14d7b01a59 100644
--- a/kubernetes/sdnc/templates/all-services.yaml
+++ b/kubernetes/sdnc/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdncDbhost }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/sdnc/templates/db-statefulset.yaml b/kubernetes/sdnc/templates/db-statefulset.yaml
index 399eb42239..29d592a6a7 100644
--- a/kubernetes/sdnc/templates/db-statefulset.yaml
+++ b/kubernetes/sdnc/templates/db-statefulset.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdncDbhost }}
apiVersion: apps/v1beta1
kind: StatefulSet
@@ -68,7 +82,9 @@ spec:
volumeMounts:
- name: sdnc-data
mountPath: /var/lib/mysql
+#{{ if not .Values.disableNfsProvisioner }}
subPath: mysql
+#{{ end }}
- name: conf
mountPath: /etc/mysql/conf.d
containers:
@@ -85,7 +101,9 @@ spec:
volumeMounts:
- mountPath: /var/lib/mysql
name: sdnc-data
+#{{ if not .Values.disableNfsProvisioner }}
subPath: mysql
+#{{ end }}
- name: conf
mountPath: /etc/mysql/conf.d
ports:
@@ -164,7 +182,9 @@ spec:
volumeMounts:
- name: sdnc-data
mountPath: /var/lib/mysql
+#{{ if not .Values.disableNfsProvisioner }}
subPath: mysql
+#{{ end }}
- name: conf
mountPath: /etc/mysql/conf.d
resources:
@@ -183,7 +203,7 @@ spec:
#{{ if .Values.disableNfsProvisioner }}
- name: sdnc-data
hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/data
+ path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/sdnc/data/mysql
#{{ else }}
volumeClaimTemplates:
- metadata:
@@ -197,3 +217,4 @@ spec:
storage: 1Gi
#{{ end }}
#{{ end }}
+
diff --git a/kubernetes/sdnc/templates/dgbuilder-deployment.yaml b/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
index 78e20dab23..62f1d004d0 100644
--- a/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
+++ b/kubernetes/sdnc/templates/dgbuilder-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdncDgbuilder }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml b/kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml
index c27ae72930..b2b8a45cbc 100644
--- a/kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml
+++ b/kubernetes/sdnc/templates/dmaap-deployment-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncDmaap }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/sdnc/templates/dmaap-deployment.yaml b/kubernetes/sdnc/templates/dmaap-deployment.yaml
index 97dc7738e2..ca092ff261 100644
--- a/kubernetes/sdnc/templates/dmaap-deployment.yaml
+++ b/kubernetes/sdnc/templates/dmaap-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncDmaap }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdnc/templates/mysql-configmap.yaml b/kubernetes/sdnc/templates/mysql-configmap.yaml
index 6b4cdcbf9c..e8c267261c 100644
--- a/kubernetes/sdnc/templates/mysql-configmap.yaml
+++ b/kubernetes/sdnc/templates/mysql-configmap.yaml
@@ -1,3 +1,17 @@
+# 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: v1
kind: ConfigMap
metadata:
diff --git a/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml b/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml
index bd161d54a1..12713a1dbb 100644
--- a/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml
+++ b/kubernetes/sdnc/templates/nfs-provisoner-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdncDbhost }}
#{{ if not .Values.disableNfsProvisioner }}
kind: Deployment
diff --git a/kubernetes/sdnc/templates/sdnc-conf-configmap.yaml b/kubernetes/sdnc/templates/sdnc-conf-configmap.yaml
index d60cae7a3a..3d89f20cab 100644
--- a/kubernetes/sdnc/templates/sdnc-conf-configmap.yaml
+++ b/kubernetes/sdnc/templates/sdnc-conf-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdnc }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml b/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml
index d6d4eae30d..1e6bf53b21 100644
--- a/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml
+++ b/kubernetes/sdnc/templates/sdnc-data-storageclass.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdncDbhost }}
#{{ if not .Values.disableNfsProvisioner }}
kind: StorageClass
diff --git a/kubernetes/sdnc/templates/sdnc-log-configmap.yaml b/kubernetes/sdnc/templates/sdnc-log-configmap.yaml
index a7cada8c81..a0bf0e211a 100644
--- a/kubernetes/sdnc/templates/sdnc-log-configmap.yaml
+++ b/kubernetes/sdnc/templates/sdnc-log-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdnc }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/sdnc/templates/sdnc-statefulset.yaml b/kubernetes/sdnc/templates/sdnc-statefulset.yaml
index 1f020377bd..3b07896462 100644
--- a/kubernetes/sdnc/templates/sdnc-statefulset.yaml
+++ b/kubernetes/sdnc/templates/sdnc-statefulset.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdnc }}
apiVersion: apps/v1beta1
kind: StatefulSet
diff --git a/kubernetes/sdnc/templates/ueb-deployment-configmap.yaml b/kubernetes/sdnc/templates/ueb-deployment-configmap.yaml
index 6aeaa9f4c9..0e5b3ac62e 100644
--- a/kubernetes/sdnc/templates/ueb-deployment-configmap.yaml
+++ b/kubernetes/sdnc/templates/ueb-deployment-configmap.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncUeb }}
apiVersion: v1
kind: ConfigMap
diff --git a/kubernetes/sdnc/templates/ueb-deployment.yaml b/kubernetes/sdnc/templates/ueb-deployment.yaml
index b869ca9b83..f785cf7411 100644
--- a/kubernetes/sdnc/templates/ueb-deployment.yaml
+++ b/kubernetes/sdnc/templates/ueb-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncUeb }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdnc/templates/web-deployment.yaml b/kubernetes/sdnc/templates/web-deployment.yaml
index 968ec8d443..ef469ac523 100644
--- a/kubernetes/sdnc/templates/web-deployment.yaml
+++ b/kubernetes/sdnc/templates/web-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableSdncSdncPortal }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml
index b502a7427a..94029179db 100644
--- a/kubernetes/sdnc/values.yaml
+++ b/kubernetes/sdnc/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: IfNotPresent
nodePortPrefix: 302
@@ -23,4 +37,6 @@ portalReplicas: 1
disableSdncSdncDgbuilder: false
disableSdncSdncPortal: false
disableNfsProvisioner: false
-
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
diff --git a/kubernetes/so/Chart.yaml b/kubernetes/so/Chart.yaml
index 62d292de6d..27e9161940 100644
--- a/kubernetes/so/Chart.yaml
+++ b/kubernetes/so/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: ONAP Service Orchestrator
name: so
diff --git a/kubernetes/so/charts/mariadb/Chart.yaml b/kubernetes/so/charts/mariadb/Chart.yaml
index 1b3b5ffb23..6b4471ac55 100644
--- a/kubernetes/so/charts/mariadb/Chart.yaml
+++ b/kubernetes/so/charts/mariadb/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
description: MariaDB Service
-name: so-mariadb
+name: mariadb
version: 2.0.0
diff --git a/kubernetes/so/charts/mariadb/templates/NOTES.txt b/kubernetes/so/charts/mariadb/templates/NOTES.txt
index 87565ada20..c60c745ca3 100644
--- a/kubernetes/so/charts/mariadb/templates/NOTES.txt
+++ b/kubernetes/so/charts/mariadb/templates/NOTES.txt
@@ -4,16 +4,16 @@
http://{{ . }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
- export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
- export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
- export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
- export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}
diff --git a/kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml b/kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml
deleted file mode 100644
index df270f55e5..0000000000
--- a/kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: ClusterRoleBinding
-metadata:
- name: {{ include "common.name" . }}
- namespace: {{ include "common.namespace" . }}
- labels:
- app: {{ include "common.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cluster-admin
-subjects:
- - kind: ServiceAccount
- name: default
- namespace: {{ include "common.namespace" . }} \ No newline at end of file
diff --git a/kubernetes/so/charts/mariadb/templates/configmap.yaml b/kubernetes/so/charts/mariadb/templates/configmap.yaml
index e70563a379..c19e54a38f 100644
--- a/kubernetes/so/charts/mariadb/templates/configmap.yaml
+++ b/kubernetes/so/charts/mariadb/templates/configmap.yaml
@@ -1,3 +1,17 @@
+# 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: v1
kind: ConfigMap
metadata:
diff --git a/kubernetes/so/charts/mariadb/templates/deployment.yaml b/kubernetes/so/charts/mariadb/templates/deployment.yaml
index 9c9cf09004..5267cc0409 100644
--- a/kubernetes/so/charts/mariadb/templates/deployment.yaml
+++ b/kubernetes/so/charts/mariadb/templates/deployment.yaml
@@ -1,7 +1,21 @@
+# 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: extensions/v1beta1
kind: Deployment
metadata:
- name: {{ include "common.name" . }}
+ name: {{ include "common.fullname" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
@@ -41,7 +55,7 @@ spec:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
- name: {{ template "common.name" . }}
+ name: {{ template "common.fullname" . }}
key: db-root-password
volumeMounts:
- mountPath: /var/lib/mysql
@@ -83,7 +97,7 @@ spec:
{{- if .Values.persistence.enabled }}
- name: mariadb-data
persistentVolumeClaim:
- claimName: {{ include "common.name" . }}
+ claimName: {{ include "common.fullname" . }}
{{- else }}
emptyDir: {}
{{- end }}
@@ -115,4 +129,4 @@ spec:
hostPath:
path: /etc/localtime
imagePullSecrets:
- - name: "{{ include "common.name" . }}-docker-registry-key"
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/so/charts/mariadb/templates/pv.yaml b/kubernetes/so/charts/mariadb/templates/pv.yaml
index d60e075ca5..184728f8ad 100644
--- a/kubernetes/so/charts/mariadb/templates/pv.yaml
+++ b/kubernetes/so/charts/mariadb/templates/pv.yaml
@@ -1,14 +1,31 @@
+{{/*
+# 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.
+*/}}
+
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
kind: PersistentVolume
apiVersion: v1
metadata:
- name: {{ include "common.name" . }}
+ 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 }}"
+ name: {{ include "common.fullname" . }}
spec:
capacity:
storage: {{ .Values.persistence.size}}
@@ -17,4 +34,4 @@ spec:
persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
hostPath:
path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
-{{- end -}} \ No newline at end of file
+{{- end -}}
diff --git a/kubernetes/so/charts/mariadb/templates/pvc.yaml b/kubernetes/so/charts/mariadb/templates/pvc.yaml
index 2271d3c37a..e27c3311e9 100644
--- a/kubernetes/so/charts/mariadb/templates/pvc.yaml
+++ b/kubernetes/so/charts/mariadb/templates/pvc.yaml
@@ -1,8 +1,24 @@
+{{/*
+# 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.
+*/}}
+
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
- name: {{ include "common.name" . }}
+ name: {{ include "common.fullname" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
@@ -14,6 +30,9 @@ metadata:
{{ toYaml .Values.persistence.annotations | indent 4 }}
{{- end }}
spec:
+ selector:
+ matchLabels:
+ name: {{ include "common.fullname" . }}
accessModes:
- {{ .Values.persistence.accessMode }}
resources:
diff --git a/kubernetes/so/charts/mariadb/templates/secrets.yaml b/kubernetes/so/charts/mariadb/templates/secrets.yaml
index dc9761091a..4d65c078c9 100644
--- a/kubernetes/so/charts/mariadb/templates/secrets.yaml
+++ b/kubernetes/so/charts/mariadb/templates/secrets.yaml
@@ -1,7 +1,21 @@
+# 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: v1
kind: Secret
metadata:
- name: {{ include "common.name" . }}
+ name: {{ include "common.fullname" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
@@ -11,17 +25,3 @@ metadata:
type: Opaque
data:
db-root-password: {{ .Values.config.mariadbRootPassword | b64enc | quote }}
----
-apiVersion: v1
-kind: Secret
-metadata:
- name: {{ include "common.name" . }}-docker-registry-key
- namespace: {{ include "common.namespace" . }}
- labels:
- app: {{ include "common.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-data:
- .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }}
-type: kubernetes.io/dockercfg \ No newline at end of file
diff --git a/kubernetes/so/charts/mariadb/templates/service.yaml b/kubernetes/so/charts/mariadb/templates/service.yaml
index 5c133b77d1..11b3b48bd9 100644
--- a/kubernetes/so/charts/mariadb/templates/service.yaml
+++ b/kubernetes/so/charts/mariadb/templates/service.yaml
@@ -1,7 +1,21 @@
+# 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: v1
kind: Service
metadata:
- name: {{ include "common.name" . }}
+ name: {{ include "common.fullname" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
diff --git a/kubernetes/so/charts/mariadb/values.yaml b/kubernetes/so/charts/mariadb/values.yaml
index c3e6ead945..e957206811 100644
--- a/kubernetes/so/charts/mariadb/values.yaml
+++ b/kubernetes/so/charts/mariadb/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
# Default values for mariadb.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
diff --git a/kubernetes/so/requirements.yaml b/kubernetes/so/requirements.yaml
index fb8f1f6eb3..9b24f824d5 100644
--- a/kubernetes/so/requirements.yaml
+++ b/kubernetes/so/requirements.yaml
@@ -1,7 +1,21 @@
+# 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.
+
dependencies:
- - name: common-templates
+ - 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: file://../common/common-templates \ No newline at end of file
+ repository: '@local' \ No newline at end of file
diff --git a/kubernetes/so/resources/config/log/filebeat/filebeat.yml b/kubernetes/so/resources/config/log/filebeat/filebeat.yml
index 9ad559c027..b0d4690754 100644
--- a/kubernetes/so/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/so/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{ .Release.Name }}-log:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/so/resources/config/mso/mso-docker.json b/kubernetes/so/resources/config/mso/mso-docker.json
index 7a0c579a97..17f01931a6 100755
--- a/kubernetes/so/resources/config/mso/mso-docker.json
+++ b/kubernetes/so/resources/config/mso/mso-docker.json
@@ -9,9 +9,9 @@
"mso-api-handler-infra-config":
{
- "bpelURL": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080",
+ "bpelURL": "http://so:8080",
"bpelAuth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1",
- "camundaURL": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080",
+ "camundaURL": "http://so:8080",
"camundaAuth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
},
@@ -23,7 +23,7 @@
"consumerGroup": "sdc-OpenSource-Env1",
"consumerId": "sdc-COpenSource-Env11",
"environmentName": "{{ .Values.config.dmaapTopic }}",
- "asdcAddress": "sdc-be.onap-sdc.svc.cluster.local:8443",
+ "asdcAddress": "sdc-be:8443",
"password": "613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247",
"pollingInterval": 60,
"pollingTimeout": 60,
@@ -38,20 +38,20 @@
{
"sdncurls":
[
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/operations/L3SDN-API:",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/config/L3SDN-API:",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/operations/Firewall-API:",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/config",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/operations/VNF-API:",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/operations/NBNC-API:",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/operations/NORTHBOUND-API:service-topology-operation",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/operations/GENERIC-RESOURCE-API:",
- "http://sdnhost.{{ .Release.Name }}-sdnc.svc.cluster.local:8282/restconf/operations/VNFTOPOLOGYAIC-API:"
+ "http://sdnhost:8282/restconf/operations/L3SDN-API:",
+ "http://sdnhost:8282/restconf/config/L3SDN-API:",
+ "http://sdnhost:8282/restconf/operations/Firewall-API:",
+ "http://sdnhost:8282/restconf/config",
+ "http://sdnhost:8282/restconf/operations/VNF-API:",
+ "http://sdnhost:8282/restconf/operations/NBNC-API:",
+ "http://sdnhost:8282/restconf/operations/NORTHBOUND-API:service-topology-operation",
+ "http://sdnhost:8282/restconf/operations/GENERIC-RESOURCE-API:",
+ "http://sdnhost:8282/restconf/operations/VNFTOPOLOGYAIC-API:"
],
- "bpelurl": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/SDNCAdapterCallbackService",
- "restbpelurl": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/WorkflowMessage",
- "myurl": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/adapters/rest/SDNCNotify",
+ "bpelurl": "http://so:8080/mso/SDNCAdapterCallbackService",
+ "restbpelurl": "http://so:8080/mso/WorkflowMessage",
+ "myurl": "http://so:8080/adapters/rest/SDNCNotify",
"sdncauth": "263f7d5f944d4d0c76db74b4148bec67d0bc796a874bc0d2a2a12aae89a866aa69133f700f391f784719a37f6a68d29bf5a2fbae1dab0402db7788c800c5ba73",
"bpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1",
"sdncconnecttime": "5000"
@@ -92,7 +92,7 @@
"mso-workflow-message-adapter-config":
{
- "wmbpelurl": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/WorkflowMessage",
+ "wmbpelurl": "http://so:8080/mso/WorkflowMessage",
"wmbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1"
},
@@ -128,37 +128,37 @@
"versionIdL3ToHigherLayerDeleteBonding": "52dbec20-47aa-42e4-936c-331d8e350d44",
"infraCustomerId": "21014aa2-526b-11e6-beb8-9e71128cae77",
"sniroAuth": "test:testpwd",
- "sniroEndpoint": "http://sniro-emulator.{{ .Release.Name }}-mock.svc.cluster.local:8080/sniro/api/v2/placement",
+ "sniroEndpoint": "http://sniro-emulator:8080/sniro/api/v2/placement",
"sniroTimeout": "PT30M",
- "serviceAgnosticSniroHost": "http://sniro-emulator.{{ .Release.Name }}-mock.svc.cluster.local:8080",
+ "serviceAgnosticSniroHost": "http://sniro-emulator:8080",
"serviceAgnosticSniroEndpoint": "/sniro/api/v2/placement",
- "aaiEndpoint": "https://aai-service.{{ .Release.Name }}-aai.svc.cluster.local:8443",
+ "aaiEndpoint": "https://aai-service:8443",
"aaiAuth": "2630606608347B7124C244AB0FE34F6F",
"adaptersNamespace": "http://org.openecomp.mso",
- "adaptersCompletemsoprocessEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/CompleteMsoProcess",
- "adaptersDbEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/dbadapters/MsoRequestsDbAdapter",
- "adaptersOpenecompDbEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/dbadapters/RequestsDbAdapter",
- "catalogDbEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/ecomp/mso/catalog",
- "adaptersSdncEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/adapters/SDNCAdapter",
- "adaptersSdncRestEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/adapters/rest/v1/sdnc",
- "adaptersTenantEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/tenants/TenantAdapter",
+ "adaptersCompletemsoprocessEndpoint": "http://so:8080/CompleteMsoProcess",
+ "adaptersDbEndpoint": "http://so:8080/dbadapters/MsoRequestsDbAdapter",
+ "adaptersOpenecompDbEndpoint": "http://so:8080/dbadapters/RequestsDbAdapter",
+ "catalogDbEndpoint": "http://so:8080/ecomp/mso/catalog",
+ "adaptersSdncEndpoint": "http://so:8080/adapters/SDNCAdapter",
+ "adaptersSdncRestEndpoint": "http://so:8080/adapters/rest/v1/sdnc",
+ "adaptersTenantEndpoint": "http://so:8080/tenants/TenantAdapter",
"adaptersDbAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
- "adaptersWorkflowMessageEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/workflows/messages/message",
- "workflowMessageEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/WorkflowMessage",
- "workflowSdncAdapterCallback": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/SDNCAdapterCallbackService",
+ "adaptersWorkflowMessageEndpoint": "http://so:8080/workflows/messages/message",
+ "workflowMessageEndpoint": "http://so:8080/mso/WorkflowMessage",
+ "workflowSdncAdapterCallback": "http://so:8080/mso/SDNCAdapterCallbackService",
"workflowSdncReplicationDelay": "PT5S",
"workflowAaiDistributionDelay": "PT30S",
"msoKey": "07a7159d3bf51a0e53be7a8f89699be7",
"adaptersPoAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
"sdncTimeout": "PT5M",
"rollback": "true",
- "adaptersNetworkEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/networks/NetworkAdapter",
- "adaptersNetworkRestEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/networks/rest/v1/networks",
- "adaptersVnfAsyncEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/vnfs/VnfAdapterAsync",
- "workflowVnfAdapterDeleteCallback": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/vnfAdapterNotify",
- "workflowVnfAdapterCreateCallback": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/vnfAdapterNotify",
- "adaptersVnfRestEndpoint": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/vnfs/rest/v1/vnfs",
- "workflowVnfAdapterRestCallback": "http://mso.{{ .Release.Name }}-mso.svc.cluster.local:8080/mso/vnfAdapterRestNotify",
+ "adaptersNetworkEndpoint": "http://so:8080/networks/NetworkAdapter",
+ "adaptersNetworkRestEndpoint": "http://so:8080/networks/rest/v1/networks",
+ "adaptersVnfAsyncEndpoint": "http://so:8080/vnfs/VnfAdapterAsync",
+ "workflowVnfAdapterDeleteCallback": "http://so:8080/mso/vnfAdapterNotify",
+ "workflowVnfAdapterCreateCallback": "http://so:8080/mso/vnfAdapterNotify",
+ "adaptersVnfRestEndpoint": "http://so:8080/vnfs/rest/v1/vnfs",
+ "workflowVnfAdapterRestCallback": "http://so:8080/mso/vnfAdapterRestNotify",
"poTimeout": "PT5M",
"sdncFirewallYangModel": "http://com/att/svc/mis/firewall-lite-gui",
"sdncFirewallYangModelVersion": "2015-05-15",
@@ -179,3 +179,4 @@
"mso-config": "~> 1.0.0"
}
}
+
diff --git a/kubernetes/so/templates/NOTES.txt b/kubernetes/so/templates/NOTES.txt
index 0fa17a6a36..91d8ed42f1 100644
--- a/kubernetes/so/templates/NOTES.txt
+++ b/kubernetes/so/templates/NOTES.txt
@@ -4,16 +4,16 @@
http://{{ . }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
- export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
- export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
- export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
- export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}
diff --git a/kubernetes/so/templates/clusterrolebinding.yaml b/kubernetes/so/templates/clusterrolebinding.yaml
deleted file mode 100644
index df270f55e5..0000000000
--- a/kubernetes/so/templates/clusterrolebinding.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: ClusterRoleBinding
-metadata:
- name: {{ include "common.name" . }}
- namespace: {{ include "common.namespace" . }}
- labels:
- app: {{ include "common.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cluster-admin
-subjects:
- - kind: ServiceAccount
- name: default
- namespace: {{ include "common.namespace" . }} \ No newline at end of file
diff --git a/kubernetes/so/templates/configmap.yaml b/kubernetes/so/templates/configmap.yaml
index c9afd4f71e..db83fbb4f6 100644
--- a/kubernetes/so/templates/configmap.yaml
+++ b/kubernetes/so/templates/configmap.yaml
@@ -1,3 +1,17 @@
+# 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: v1
kind: ConfigMap
metadata:
diff --git a/kubernetes/so/templates/deployment.yaml b/kubernetes/so/templates/deployment.yaml
index 2d25a46722..0727ce80a3 100644
--- a/kubernetes/so/templates/deployment.yaml
+++ b/kubernetes/so/templates/deployment.yaml
@@ -1,7 +1,21 @@
+# 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: extensions/v1beta1
kind: Deployment
metadata:
- name: {{ include "common.name" . }}
+ name: {{ include "common.fullname" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
@@ -21,7 +35,7 @@ spec:
- /root/ready.py
args:
- --container-name
- - so-mariadb
+ - mariadb
env:
- name: NAMESPACE
valueFrom:
@@ -35,7 +49,7 @@ spec:
- name: {{ .Chart.Name }}
command:
- /tmp/start-jboss-server.sh
- image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+ image: "{{ .Values.repository | default .Values.global.repository }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
ports:
- containerPort: {{ .Values.service.internalPort }}
@@ -174,4 +188,5 @@ spec:
path: start-jboss-server.sh
mode: 0755
imagePullSecrets:
- - name: "{{ include "common.name" . }}-docker-registry-key"
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
+
diff --git a/kubernetes/so/templates/log-configmap.yaml b/kubernetes/so/templates/log-configmap.yaml
index 4d1cc90886..ed55ec07a4 100644
--- a/kubernetes/so/templates/log-configmap.yaml
+++ b/kubernetes/so/templates/log-configmap.yaml
@@ -1,3 +1,17 @@
+# 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: v1
kind: ConfigMap
metadata:
diff --git a/kubernetes/so/templates/namespace.yaml b/kubernetes/so/templates/namespace.yaml
deleted file mode 100644
index 83eb8e7815..0000000000
--- a/kubernetes/so/templates/namespace.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
- name: {{ include "common.namespace" . }} \ No newline at end of file
diff --git a/kubernetes/so/templates/service.yaml b/kubernetes/so/templates/service.yaml
index f1b5322d9a..63e41acc46 100644
--- a/kubernetes/so/templates/service.yaml
+++ b/kubernetes/so/templates/service.yaml
@@ -1,7 +1,21 @@
+# 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: v1
kind: Service
metadata:
- name: {{ include "common.name" . }}
+ name: so
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
@@ -66,4 +80,5 @@ spec:
{{- end}}
selector:
app: {{ include "common.name" . }}
- release: {{ .Release.Name }} \ No newline at end of file
+ release: {{ .Release.Name }}
+
diff --git a/kubernetes/so/values.yaml b/kubernetes/so/values.yaml
index b929fccb46..3ca60b0395 100644
--- a/kubernetes/so/values.yaml
+++ b/kubernetes/so/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
# Default values for so.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
@@ -5,10 +19,12 @@ global: # global defaults
nodePortPrefix: 302
repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
readinessRepository: oomk8s
- readinessImage: readiness-check:1.0.0
+ readinessImage: readiness-check:1.1.0
loggingRepository: docker.elastic.co
loggingImage: beats/filebeat:5.5.0
+subChartsOnly:
+ enabled: true
# application image
repository: nexus3.onap.org:10001
@@ -28,7 +44,8 @@ config:
openStackKeyStoneUrl: "http://1.2.3.4:5000"
openStackServiceTenantName: "service"
openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
-
+ logstashServiceName: log-ls
+ logstashPort: 5044
# default number of instances
replicaCount: 1
diff --git a/kubernetes/uui/Chart.yaml b/kubernetes/uui/Chart.yaml
index 1813f6e636..65636d29d9 100644
--- a/kubernetes/uui/Chart.yaml
+++ b/kubernetes/uui/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: uui
diff --git a/kubernetes/uui/templates/all-services.yaml b/kubernetes/uui/templates/all-services.yaml
index d66a22fd2e..7f450cd9ae 100644
--- a/kubernetes/uui/templates/all-services.yaml
+++ b/kubernetes/uui/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableUuiUui }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/uui/templates/uui-deployment.yaml b/kubernetes/uui/templates/uui-deployment.yaml
index 668574918b..ad757cbc22 100644
--- a/kubernetes/uui/templates/uui-deployment.yaml
+++ b/kubernetes/uui/templates/uui-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableUuiUui }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/uui/templates/uui-server-deployment.yaml b/kubernetes/uui/templates/uui-server-deployment.yaml
index 01c87e9450..2b9c3e9010 100644
--- a/kubernetes/uui/templates/uui-server-deployment.yaml
+++ b/kubernetes/uui/templates/uui-server-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableUuiUui }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/uui/values.yaml b/kubernetes/uui/values.yaml
index 391e338b67..e9033aa85f 100644
--- a/kubernetes/uui/values.yaml
+++ b/kubernetes/uui/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
uuiPortPrefix: 303
diff --git a/kubernetes/vfc/Chart.yaml b/kubernetes/vfc/Chart.yaml
index b4988d868f..2554d16ce5 100644
--- a/kubernetes/vfc/Chart.yaml
+++ b/kubernetes/vfc/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: vfc
diff --git a/kubernetes/vfc/templates/all-services.yaml b/kubernetes/vfc/templates/all-services.yaml
index 36a8d999ac..819ecffeb8 100755..100644
--- a/kubernetes/vfc/templates/all-services.yaml
+++ b/kubernetes/vfc/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcNslcm }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/vfc/templates/vfc-catalog-deployment.yaml b/kubernetes/vfc/templates/vfc-catalog-deployment.yaml
index 0384fefa76..af40cbce5b 100755..100644
--- a/kubernetes/vfc/templates/vfc-catalog-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-catalog-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcCatalog }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml
index 548bbe7413..adfa3be416 100755..100644
--- a/kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-emsdriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcEmsdriver }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml
index 02093ce00e..5252c5e91a 100755..100644
--- a/kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-gvnfmdriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcGvnfmdriver }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml
index 9b73626e74..9725f72c5c 100755..100644
--- a/kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-hwvnfmdriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcHwvnfmdriver }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml b/kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml
index 127612bed2..ea1a42d8e0 100755..100644
--- a/kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-jujudriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcJujudriver }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml
index 4925d1c121..843090c0d0 100755..100644
--- a/kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-nokiavnfmdriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcNokiaVnfmDriver }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-nslcm-deployment.yaml b/kubernetes/vfc/templates/vfc-nslcm-deployment.yaml
index 618968dd9f..88d5cb6fc8 100755..100644
--- a/kubernetes/vfc/templates/vfc-nslcm-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-nslcm-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcNslcm }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-resmgr-deployment.yaml b/kubernetes/vfc/templates/vfc-resmgr-deployment.yaml
index a6e8125a1e..71167d19a1 100755..100644
--- a/kubernetes/vfc/templates/vfc-resmgr-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-resmgr-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcResmgr }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml b/kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml
index ef4793dfaf..c5a3893244 100755..100644
--- a/kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-vnflcm-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcVnflcm }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml b/kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml
index e3eb750678..240bc74015 100755..100644
--- a/kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-vnfmgr-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcVnfmgr }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-vnfres-deployment.yaml b/kubernetes/vfc/templates/vfc-vnfres-deployment.yaml
index 34f2595ccf..ea394f39d8 100755..100644
--- a/kubernetes/vfc/templates/vfc-vnfres-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-vnfres-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcVnfres }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-workflow-deployment.yaml b/kubernetes/vfc/templates/vfc-workflow-deployment.yaml
index c2a8205d0d..d6aee58bee 100755..100644
--- a/kubernetes/vfc/templates/vfc-workflow-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-workflow-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcWorkflow }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml b/kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml
index d22481526c..7db01227dc 100755..100644
--- a/kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml
+++ b/kubernetes/vfc/templates/vfc-workflow-engine-activity.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcWorkflowEngineActiviti }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml
index 9eae38543c..79e427f635 100755..100644
--- a/kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-ztesdncdriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcZtesdncdriver }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml
index e79a27ef11..4874970545 100755..100644
--- a/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml
+++ b/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVfcVfcztevnfmdriver }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vfc/values.yaml b/kubernetes/vfc/values.yaml
index 13fb94f638..b301d2de4c 100644
--- a/kubernetes/vfc/values.yaml
+++ b/kubernetes/vfc/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: IfNotPresent
msbaddr: msb-iag.{{ .Values.nsPrefix }}:80
diff --git a/kubernetes/vid/.helmignore b/kubernetes/vid/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/vid/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vid/Chart.yaml b/kubernetes/vid/Chart.yaml
index 68b43f40ce..4df4dae10c 100644
--- a/kubernetes/vid/Chart.yaml
+++ b/kubernetes/vid/Chart.yaml
@@ -1,4 +1,18 @@
+# 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: v1
-description: A Helm chart for Kubernetes
+description: ONAP Virtual Infrastructure Deployment
name: vid
-version: 0.1.0
+version: 2.0.0
diff --git a/kubernetes/vid/charts/mariadb/.helmignore b/kubernetes/vid/charts/mariadb/.helmignore
new file mode 100644
index 0000000000..f0c1319444
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/vid/charts/mariadb/Chart.yaml b/kubernetes/vid/charts/mariadb/Chart.yaml
new file mode 100644
index 0000000000..1f7de32fdf
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: VID MariaDB Service
+name: mariadb
+version: 2.0.0
diff --git a/kubernetes/vid/resources/config/lf_config/vid-my.cnf b/kubernetes/vid/charts/mariadb/resources/config/lf_config/vid-my.cnf
index 472bf4698e..472bf4698e 100755..100644
--- a/kubernetes/vid/resources/config/lf_config/vid-my.cnf
+++ b/kubernetes/vid/charts/mariadb/resources/config/lf_config/vid-my.cnf
diff --git a/kubernetes/vid/resources/config/lf_config/vid-pre-init.sql b/kubernetes/vid/charts/mariadb/resources/config/lf_config/vid-pre-init.sql
index 57b797d03c..57b797d03c 100755..100644
--- a/kubernetes/vid/resources/config/lf_config/vid-pre-init.sql
+++ b/kubernetes/vid/charts/mariadb/resources/config/lf_config/vid-pre-init.sql
diff --git a/kubernetes/vid/charts/mariadb/templates/NOTES.txt b/kubernetes/vid/charts/mariadb/templates/NOTES.txt
new file mode 100644
index 0000000000..75f0a7a6b3
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/templates/NOTES.txt
@@ -0,0 +1,11 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ .Chart.Name }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/vid/charts/mariadb/templates/configmap.yaml b/kubernetes/vid/charts/mariadb/templates/configmap.yaml
new file mode 100644
index 0000000000..8a35df3f30
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/templates/configmap.yaml
@@ -0,0 +1,21 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-lfconfig
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/lf_config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/vid/charts/mariadb/templates/deployment.yaml b/kubernetes/vid/charts/mariadb/templates/deployment.yaml
new file mode 100644
index 0000000000..cafab0c17e
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/templates/deployment.yaml
@@ -0,0 +1,109 @@
+# 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: 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:
+ containers:
+ - name: {{ include "common.name" . }}
+ image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: MYSQL_DATABASE
+ value: "{{ .Values.config.mysqldb }}"
+ - name: MYSQL_USER
+ value: "{{ .Values.config.mysqluser }}"
+ - name: MYSQL_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-password
+ - name: MYSQL_ROOT_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /var/lib/mysql
+ name: mariadb-data
+ - mountPath: /docker-entrypoint-initdb.d/vid-pre-init.sql
+ name: lfconfig
+ subPath: vid-pre-init.sql
+ - mountPath: /etc/mysql/my.cnf
+ name: lfconfig
+ subPath: my.cnf
+ 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: mariadb-data
+ {{- if .Values.persistence.enabled }}
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: lfconfig
+ configMap:
+ name: {{ include "common.fullname" . }}-lfconfig
+ defaultMode: 0755
+ items:
+ - key: vid-my.cnf
+ path: my.cnf
+ - key: vid-pre-init.sql
+ path: vid-pre-init.sql
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vid/charts/mariadb/templates/pv.yaml b/kubernetes/vid/charts/mariadb/templates/pv.yaml
new file mode 100644
index 0000000000..184728f8ad
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/templates/pv.yaml
@@ -0,0 +1,37 @@
+{{/*
+# 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.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolume
+apiVersion: v1
+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 }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.size}}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/vid/charts/mariadb/templates/pvc.yaml b/kubernetes/vid/charts/mariadb/templates/pvc.yaml
new file mode 100644
index 0000000000..e27c3311e9
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/templates/pvc.yaml
@@ -0,0 +1,48 @@
+{{/*
+# 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.
+*/}}
+
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ name: {{ include "common.fullname" . }}
+ accessModes:
+ - {{ .Values.persistence.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.size }}
+{{- if .Values.persistence.storageClass }}
+{{- if (eq "-" .Values.persistence.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
diff --git a/kubernetes/vid/charts/mariadb/templates/secrets.yaml b/kubernetes/vid/charts/mariadb/templates/secrets.yaml
new file mode 100644
index 0000000000..36096925f5
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/templates/secrets.yaml
@@ -0,0 +1,28 @@
+# 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: v1
+kind: Secret
+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 }}
+type: Opaque
+data:
+ db-root-password: {{ .Values.config.mariadbRootPassword | b64enc | quote }}
+ db-password: {{ .Values.config.mariadbPassword | b64enc | quote }}
diff --git a/kubernetes/vid/charts/mariadb/templates/service.yaml b/kubernetes/vid/charts/mariadb/templates/service.yaml
new file mode 100644
index 0000000000..88ed09bb45
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/templates/service.yaml
@@ -0,0 +1,31 @@
+# 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: v1
+kind: Service
+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:
+ ports:
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/vid/charts/mariadb/values.yaml b/kubernetes/vid/charts/mariadb/values.yaml
new file mode 100644
index 0000000000..567109c6d4
--- /dev/null
+++ b/kubernetes/vid/charts/mariadb/values.yaml
@@ -0,0 +1,102 @@
+# 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.
+
+# Default values for mariadb.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ persistence: {}
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: library/mariadb:10
+pullPolicy: Always
+
+# application configuration
+config:
+ mysqldb: vid_openecomp_epsdk
+ mysqluser: vidadmin
+ mariadbRootPassword: LF+tp_1WqgSY
+ mariadbPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+ enabled: true
+
+ ## A manually managed Persistent Volume and Claim
+ ## Requires persistence.enabled: true
+ ## If defined, PVC must be created manually before volume will be bound
+ # existingClaim:
+ volumeReclaimPolicy: Retain
+
+ ## database data Persistent Volume Storage Class
+ ## If defined, storageClassName: <storageClass>
+ ## If set to "-", storageClassName: "", which disables dynamic provisioning
+ ## If undefined (the default) or set to null, no storageClassName spec is
+ ## set, choosing the default provisioner. (gp2 on AWS, standard on
+ ## GKE, AWS & OpenStack)
+ ##
+ # storageClass: "-"
+ accessMode: ReadWriteMany
+ size: 2Gi
+ mountPath: /dockerdata-nfs
+ mountSubPath: vid/mariadb/data
+
+service:
+ name: mariadb
+ internalPort: 3306
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/vid/requirements.yaml b/kubernetes/vid/requirements.yaml
new file mode 100644
index 0000000000..f639633537
--- /dev/null
+++ b/kubernetes/vid/requirements.yaml
@@ -0,0 +1,21 @@
+# 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.
+
+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/vid/resources/config/log/filebeat/filebeat.yml b/kubernetes/vid/resources/config/log/filebeat/filebeat.yml
index 89c6932577..b0d4690754 100644
--- a/kubernetes/vid/resources/config/log/filebeat/filebeat.yml
+++ b/kubernetes/vid/resources/config/log/filebeat/filebeat.yml
@@ -21,7 +21,7 @@ output.logstash:
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["logstash.{{.Values.nsPrefix}}:5044"]
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
#If enable will do load balancing among availabe Logstash, automatically.
loadbalance: true
diff --git a/kubernetes/vid/templates/NOTES.txt b/kubernetes/vid/templates/NOTES.txt
new file mode 100644
index 0000000000..6e0b9fc06d
--- /dev/null
+++ b/kubernetes/vid/templates/NOTES.txt
@@ -0,0 +1,19 @@
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+ http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+ export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+ export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+ echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+ NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+ You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+ export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+ echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ .Chart.Name }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ echo "Visit http://127.0.0.1:8080 to use your application"
+ kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/vid/templates/all-services.yaml b/kubernetes/vid/templates/all-services.yaml
deleted file mode 100644
index cd22b7d095..0000000000
--- a/kubernetes/vid/templates/all-services.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#{{ if not .Values.disableVidVidMariadb }}
-apiVersion: v1
-kind: Service
-metadata:
- name: vid-mariadb
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- ports:
- - name: vid-mariadb
- port: 3306
- selector:
- app: vid-mariadb
- clusterIP: None
-#{{ end }}
-#{{ if not .Values.disableVidVidServer }}
----
-apiVersion: v1
-kind: Service
-metadata:
- labels:
- app: vid-server
- name: vid-server
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- ports:
- - name: vid-server
- nodePort: {{ .Values.nodePortPrefix }}00
- port: 8080
- selector:
- app: vid-server
- type: NodePort
-#{{ end }} \ No newline at end of file
diff --git a/kubernetes/vid/templates/configmap.yaml b/kubernetes/vid/templates/configmap.yaml
new file mode 100644
index 0000000000..f7dbf07645
--- /dev/null
+++ b/kubernetes/vid/templates/configmap.yaml
@@ -0,0 +1,29 @@
+# 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: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/vid/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-filebeat-configmap
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/vid/templates/deployment.yaml b/kubernetes/vid/templates/deployment.yaml
new file mode 100644
index 0000000000..89ed734dfb
--- /dev/null
+++ b/kubernetes/vid/templates/deployment.yaml
@@ -0,0 +1,162 @@
+# 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: 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
+ - {{ .Values.mariadb.nameOverride }}
+ 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: "{{ .Values.global.repository | default .Values.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
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ env:
+ - name: ASDC_CLIENT_REST_HOST
+ value: sdc-be.{{ include "common.namespace" . }}-sdc
+ - name: ASDC_CLIENT_REST_AUTH
+ value: "{{ .Values.config.asdcclientrestauth }}"
+ - name: ASDC_CLIENT_REST_PORT
+ value: "{{ .Values.config.asdcclientrestport }}"
+ - name: VID_AAI_HOST
+ value: aai-service.{{ include "common.namespace" . }}-aai
+ - name: VID_AAI_PORT
+ value: "{{ .Values.config.vidaaiport }}"
+ - name: VID_ECOMP_SHARED_CONTEXT_REST_URL
+ value: http://portalapps.{{ include "common.namespace" . }}-portal:"{{ .Values.config.onapport }}"/ONAPPORTAL/context
+ - name: VID_MSO_SERVER_URL
+ value: http://mso.{{ include "common.namespace" . }}-mso:"{{ .Values.config.msoport }}"
+ - name: VID_MSO_PASS
+ value: "{{ .Values.config.vidmsopass }}"
+ - name: MSO_DME2_SERVER_URL
+ value: "{{ .Values.config.msodme2serverurl }}"
+ - name: MSO_DME2_ENABLED
+ value: {{ .Values.global.debugEnabled | default .Values.debugEnabled | quote }}
+ - name: VID_ECOMP_REDIRECT_URL
+ value: http://portalapps.{{ include "common.namespace" . }}-portal:"{{ .Values.config.onapport }}"/ONAPPORTAL/login.h\tm
+ - name: VID_ECOMP_REST_URL
+ value: http://portalapps.{{ include "common.namespace" . }}-portal:"{{ .Values.config.onapport }}"/ONAPPORTAL/auxapi
+ - name: VID_CONTACT_US_LINK
+ value: "{{ .Values.config.vidcontactuslink }}"
+ - name: VID_UEB_URL_LIST
+ value: dmaap.{{ include "common.namespace" . }}-message-router
+ - name: VID_MYSQL_HOST
+ value: "{{ .Values.config.vidmysqlhost }}"
+ - name: VID_MYSQL_PORT
+ value: "{{ .Values.config.vidmysqlport }}"
+ - name: VID_MYSQL_DBNAME
+ value: "{{ .Values.config.vidmysqldbname }}"
+ - name: VID_MYSQL_USER
+ value: "{{ .Values.config.vidmysqluser }}"
+ - name: VID_MYSQL_PASS
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: vid-password
+ - name: VID_MYSQL_MAXCONNECTIONS
+ value: "{{ .Values.config.vidmysqlmaxconnections }}"
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /var/log/onap
+ name: vid-logs
+ - mountPath: /tmp/logback.xml
+ name: vid-logback
+ subPath: logback.xml
+ 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
+ name: filebeat-conf
+ subPath: filebeat.yml
+ - mountPath: /var/log/onap
+ name: vid-logs
+ - mountPath: /usr/share/filebeat/data
+ name: vid-data-filebeat
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: filebeat-conf
+ configMap:
+ name: {{ include "common.fullname" . }}-filebeat-configmap
+ - name: vid-logs
+ emptyDir: {}
+ - name: vid-data-filebeat
+ emptyDir: {}
+ - name: vid-logback
+ configMap:
+ name: {{ include "common.fullname" . }}-log-configmap
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vid/templates/secrets.yaml b/kubernetes/vid/templates/secrets.yaml
new file mode 100644
index 0000000000..729e0b17c0
--- /dev/null
+++ b/kubernetes/vid/templates/secrets.yaml
@@ -0,0 +1,27 @@
+# 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: v1
+kind: Secret
+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 }}
+type: Opaque
+data:
+ vid-password: {{ .Values.config.vidmysqlpassword | b64enc | quote }}
diff --git a/kubernetes/vid/templates/service.yaml b/kubernetes/vid/templates/service.yaml
new file mode 100644
index 0000000000..3969d2184b
--- /dev/null
+++ b/kubernetes/vid/templates/service.yaml
@@ -0,0 +1,39 @@
+# 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: v1
+kind: Service
+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:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
diff --git a/kubernetes/vid/templates/vid-lfconfig-configmap.yaml b/kubernetes/vid/templates/vid-lfconfig-configmap.yaml
deleted file mode 100644
index 1743872ef8..0000000000
--- a/kubernetes/vid/templates/vid-lfconfig-configmap.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-#{{ if not .Values.disableVidVidMariadb }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: vid-lfconfig-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/lf_config/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/vid/templates/vid-log-configmap.yaml b/kubernetes/vid/templates/vid-log-configmap.yaml
deleted file mode 100644
index 896f47dded..0000000000
--- a/kubernetes/vid/templates/vid-log-configmap.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-#{{ if not .Values.disableVidVidServer }}
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: vid-log-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/vid/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: vid-filebeat-configmap
- namespace: {{ .Values.nsPrefix }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
-#{{ end }}
diff --git a/kubernetes/vid/templates/vid-mariadb-deployment.yaml b/kubernetes/vid/templates/vid-mariadb-deployment.yaml
deleted file mode 100644
index 41bfb90b74..0000000000
--- a/kubernetes/vid/templates/vid-mariadb-deployment.yaml
+++ /dev/null
@@ -1,70 +0,0 @@
-#{{ if not .Values.disableVidVidMariadb }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: vid-mariadb
- name: vid-mariadb
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.vidMariaDbReplicas }}
- selector:
- matchLabels:
- app: vid-mariadb
- template:
- metadata:
- labels:
- app: vid-mariadb
- name: vid-mariadb
- spec:
- containers:
- - image: {{ .Values.image.mariadb }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: vid-mariadb
- env:
- - name: MYSQL_DATABASE
- value: vid_openecomp_epsdk
- - name: MYSQL_USER
- value: vidadmin
- - name: MYSQL_PASSWORD
- value: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
- - name: MYSQL_ROOT_PASSWORD
- value: LF+tp_1WqgSY
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /var/lib/mysql
- name: vid-mariadb-data
- - mountPath: /docker-entrypoint-initdb.d/vid-pre-init.sql
- name: vid-lfconfig
- subPath: vid-pre-init.sql
- - mountPath: /etc/mysql/my.cnf
- name: vid-lfconfig
- subPath: my.cnf
- ports:
- - containerPort: 3306
- readinessProbe:
- tcpSocket:
- port: 3306
- initialDelaySeconds: 5
- periodSeconds: 10
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: vid-mariadb-data
- persistentVolumeClaim:
- claimName: vid-db
- - name: vid-lfconfig
- configMap:
- name: vid-lfconfig-configmap
- defaultMode: 0755
- items:
- - key: vid-my.cnf
- path: my.cnf
- - key: vid-pre-init.sql
- path: vid-pre-init.sql
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vid/templates/vid-pv-pvc.yaml b/kubernetes/vid/templates/vid-pv-pvc.yaml
deleted file mode 100644
index df8d99764f..0000000000
--- a/kubernetes/vid/templates/vid-pv-pvc.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#{{ if not .Values.disableVidVidMariadb }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
- name: "{{ .Values.nsPrefix }}-vid"
- namespace: "{{ .Values.nsPrefix }}"
- labels:
- name: "{{ .Values.nsPrefix }}-vid"
-spec:
- capacity:
- storage: 2Gi
- accessModes:
- - ReadWriteMany
- persistentVolumeReclaimPolicy: Retain
- hostPath:
- path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/vid/mariadb/data
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: vid-db
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 2Gi
- selector:
- matchLabels:
- name: "{{ .Values.nsPrefix }}-vid"
-#{{ end }}
diff --git a/kubernetes/vid/templates/vid-server-deployment.yaml b/kubernetes/vid/templates/vid-server-deployment.yaml
deleted file mode 100644
index a0569abc93..0000000000
--- a/kubernetes/vid/templates/vid-server-deployment.yaml
+++ /dev/null
@@ -1,127 +0,0 @@
-#{{ if not .Values.disableVidVidServer }}
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
- labels:
- app: vid-server
- name: vid-server
- namespace: "{{ .Values.nsPrefix }}"
-spec:
- replicas: {{ .Values.vidServerReplicas }}
- selector:
- matchLabels:
- app: vid-server
- template:
- metadata:
- labels:
- app: vid-server
- name: vid-server
- spec:
- initContainers:
- - command:
- - /root/ready.py
- args:
- - --container-name
- - vid-mariadb
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- apiVersion: v1
- fieldPath: metadata.namespace
- image: {{ .Values.image.readiness }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: vid-server-readiness
- containers:
- - env:
- - name: ASDC_CLIENT_REST_HOST
- value: sdc-be.{{ .Values.nsPrefix }}
- - name: ASDC_CLIENT_REST_AUTH
- value: Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
- - name: ASDC_CLIENT_REST_PORT
- value: "8080"
- - name: VID_AAI_HOST
- value: aai-service.{{ .Values.nsPrefix }}
- - name: VID_AAI_PORT
- value: "8443"
- - name: VID_ECOMP_SHARED_CONTEXT_REST_URL
- value: http://portalapps.{{ .Values.nsPrefix }}:8989/ONAPPORTAL/context
- - name: VID_MSO_SERVER_URL
- value: http://mso.{{ .Values.nsPrefix }}:8080
- - name: VID_MSO_PASS
- value: OBF:1ih71i271vny1yf41ymf1ylz1yf21vn41hzj1icz
- - name: MSO_DME2_SERVER_URL
- value: http://localhost:8081
- - name: MSO_DME2_ENABLED
- value: "false"
- - name: VID_ECOMP_REDIRECT_URL
- value: http://portalapps.{{ .Values.nsPrefix }}:8989/ONAPPORTAL/login.htm
- - name: VID_ECOMP_REST_URL
- value: http://portalapps.{{ .Values.nsPrefix }}:8989/ONAPPORTAL/auxapi
- - name: VID_CONTACT_US_LINK
- value: https://todo_contact_us_link.com
- - name: VID_UEB_URL_LIST
- value: dmaap.{{ .Values.nsPrefix }}
- - name: VID_MYSQL_HOST
- value: vid-mariadb
- - name: VID_MYSQL_PORT
- value: "3306"
- - name: VID_MYSQL_DBNAME
- value: vid_openecomp_epsdk
- - name: VID_MYSQL_USER
- value: vidadmin
- - name: VID_MYSQL_PASS
- value: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
- - name: VID_MYSQL_MAXCONNECTIONS
- value: "5"
- image: {{ .Values.image.vid }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: vid-server
- 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: 8080
- volumeMounts:
- - mountPath: /etc/localtime
- name: localtime
- readOnly: true
- - mountPath: /var/log/onap
- name: vid-logs
- - mountPath: /tmp/logback.xml
- name: vid-logback
- subPath: logback.xml
- readinessProbe:
- tcpSocket:
- port: 8080
- initialDelaySeconds: 5
- periodSeconds: 10
- - image: {{ .Values.image.filebeat }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: filebeat-onap
- volumeMounts:
- - mountPath: /usr/share/filebeat/filebeat.yml
- name: filebeat-conf
- subPath: filebeat.yml
- - mountPath: /var/log/onap
- name: vid-logs
- - mountPath: /usr/share/filebeat/data
- name: vid-data-filebeat
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: filebeat-conf
- configMap:
- name: vid-filebeat-configmap
- - name: vid-logs
- emptyDir: {}
- - name: vid-data-filebeat
- emptyDir: {}
- - name: vid-logback
- configMap:
- name: vid-log-configmap
- imagePullSecrets:
- - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
diff --git a/kubernetes/vid/values.yaml b/kubernetes/vid/values.yaml
index eef104dea3..b42bceb093 100644
--- a/kubernetes/vid/values.yaml
+++ b/kubernetes/vid/values.yaml
@@ -1,11 +1,107 @@
-nsPrefix: onap
+# 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.
+
+# Default values for vid.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global:
+ nodePortPrefix: 302
+ repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:1.1.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+
+subChartsOnly:
+ enabled: true
+
+# application image
+repository: nexus3.onap.org:10001
+image: openecomp/vid:v1.1.1
pullPolicy: Always
-nodePortPrefix: 302
-dataRootDir: /dockerdata-nfs
-vidMariaDbReplicas: 1
-vidServerReplicas: 1
-image:
- readiness: oomk8s/readiness-check:1.1.0
- mariadb: nexus3.onap.org:10001/library/mariadb:10
- vid: nexus3.onap.org:10001/openecomp/vid:v1.1.1
- filebeat: docker.elastic.co/beats/filebeat:5.5.0
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+ vidmysqlpassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+ asdcclientrestauth: "Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+ asdcclientrestport: "8080"
+ vidaaiport: "8443"
+ onapport: "8989"
+ msoport: "8080"
+ vidmsopass: OBF:1ih71i271vny1yf41ymf1ylz1yf21vn41hzj1icz
+ msodme2serverurl: http://localhost:8081
+ vidcontactuslink: https://todo_contact_us_link.com
+ vidmysqlhost: vid-mariadb
+ vidmysqlport: "3306"
+ vidmysqldbname: vid_openecomp_epsdk
+ vidmysqluser: vidadmin
+ vidmysqlmaxconnections: "5"
+ logstashServiceName: log-ls
+ logstashPort: 5044
+
+
+# subchart configuration
+mariadb:
+ nameOverride: vid-db
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+service:
+ type: NodePort
+ name: vid
+ externalPort: "00"
+ nodePort: "00"
+ internalPort: 8080
+
+ingress:
+ enabled: false
+
+resources: {}
+ # We usually recommend not to specify default resources and to leave this as a conscious
+ # choice for the user. This also increases chances charts run on environments with little
+ # resources, such as Minikube. If you do want to specify resources, uncomment the following
+ # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+ #
+ # Example:
+ # Configure resource requests and limits
+ # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+ # Minimum memory for development is 2 CPU cores and 4GB memory
+ # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+# limits:
+# cpu: 2
+# memory: 4Gi
+# requests:
+# cpu: 2
+# memory: 4Gi
diff --git a/kubernetes/vnfsdk/Chart.yaml b/kubernetes/vnfsdk/Chart.yaml
index 2dee27b360..3a1b4abbef 100644
--- a/kubernetes/vnfsdk/Chart.yaml
+++ b/kubernetes/vnfsdk/Chart.yaml
@@ -1,3 +1,17 @@
+# 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: v1
description: A Helm chart for Kubernetes
name: vnfsdk
diff --git a/kubernetes/vnfsdk/templates/all-services.yaml b/kubernetes/vnfsdk/templates/all-services.yaml
index 759e26dace..b592c47bad 100644
--- a/kubernetes/vnfsdk/templates/all-services.yaml
+++ b/kubernetes/vnfsdk/templates/all-services.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVnfsdkPostgres }}
apiVersion: v1
kind: Service
diff --git a/kubernetes/vnfsdk/templates/postgres-deployment.yaml b/kubernetes/vnfsdk/templates/postgres-deployment.yaml
index d0002662c6..14eb741157 100644
--- a/kubernetes/vnfsdk/templates/postgres-deployment.yaml
+++ b/kubernetes/vnfsdk/templates/postgres-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVnfsdkPostgres }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vnfsdk/templates/refrepo-deployment.yaml b/kubernetes/vnfsdk/templates/refrepo-deployment.yaml
index ba13292f0f..95d6fedad9 100644
--- a/kubernetes/vnfsdk/templates/refrepo-deployment.yaml
+++ b/kubernetes/vnfsdk/templates/refrepo-deployment.yaml
@@ -1,3 +1,17 @@
+# 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.
+
#{{ if not .Values.disableVnfsdkRefrepo }}
apiVersion: extensions/v1beta1
kind: Deployment
diff --git a/kubernetes/vnfsdk/values.yaml b/kubernetes/vnfsdk/values.yaml
index 386c61ee11..3c21d5cb28 100644
--- a/kubernetes/vnfsdk/values.yaml
+++ b/kubernetes/vnfsdk/values.yaml
@@ -1,3 +1,17 @@
+# 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.
+
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302