Merge "Add a path param in esr-gui annotations"
authorMike Elliott <mike.elliott@amdocs.com>
Mon, 7 May 2018 13:58:18 +0000 (13:58 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 7 May 2018 13:58:18 +0000 (13:58 +0000)
442 files changed:
TOSCA/Helm/helmdelete.sh
TOSCA/Helm/helminstall.sh
TOSCA/Helm/k8s_delete_env.sh [new file with mode: 0644]
TOSCA/Helm/k8s_setup_env.sh [new file with mode: 0644]
TOSCA/Helm/onap-blueprint.yaml
docs/oom_cloud_setup_guide.rst
kubernetes/Makefile
kubernetes/aaf/charts/aaf-cs/templates/service.yaml
kubernetes/aaf/charts/aaf-sms/Chart.yaml [moved from kubernetes/aaf/charts/sms/Chart.yaml with 97% similarity]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/Chart.yaml [new file with mode: 0644]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/configmap.yaml [moved from kubernetes/portal/charts/portal-cassandra/templates/secrets.yaml with 85% similarity]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/pv.yaml [new file with mode: 0644]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/pvc.yaml [moved from kubernetes/aaf/charts/sms/charts/vault/templates/pvc.yaml with 100% similarity]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/statefulset.yaml [new file with mode: 0644]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/values.yaml [new file with mode: 0644]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/Chart.yaml [moved from kubernetes/aaf/charts/sms/charts/vault/Chart.yaml with 97% similarity]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/configmap.yaml [moved from kubernetes/aaf/charts/sms/charts/vault/templates/configmap.yaml with 100% similarity]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pv.yaml [new file with mode: 0644]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pvc.yaml [new file with mode: 0644]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/service.yaml [moved from kubernetes/aaf/charts/sms/charts/vault/templates/service.yaml with 93% similarity]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/statefulset.yaml [moved from kubernetes/aaf/charts/sms/charts/vault/templates/statefulset.yaml with 100% similarity]
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/values.yaml [moved from kubernetes/aaf/charts/sms/charts/vault/values.yaml with 97% similarity]
kubernetes/aaf/charts/aaf-sms/templates/configmap.yaml [moved from kubernetes/aaf/charts/sms/templates/configmap.yaml with 100% similarity]
kubernetes/aaf/charts/aaf-sms/templates/deployment.yaml [moved from kubernetes/aaf/charts/sms/templates/deployment.yaml with 90% similarity]
kubernetes/aaf/charts/aaf-sms/templates/pv.yaml [moved from kubernetes/aaf/charts/sms/charts/vault/templates/pv.yaml with 100% similarity]
kubernetes/aaf/charts/aaf-sms/templates/pvc.yaml [new file with mode: 0644]
kubernetes/aaf/charts/aaf-sms/templates/service.yaml [moved from kubernetes/aaf/charts/sms/templates/service.yaml with 93% similarity]
kubernetes/aaf/charts/aaf-sms/values.yaml [moved from kubernetes/aaf/charts/sms/values.yaml with 93% similarity]
kubernetes/aaf/templates/service.yaml
kubernetes/aai/charts/aai-babel/resources/config/auth/auth_policy.json
kubernetes/aai/charts/aai-babel/resources/config/auth/tomcat_keystore
kubernetes/aai/charts/aai-babel/resources/config/babel-auth.properties
kubernetes/aai/charts/aai-babel/resources/config/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/templates/deployment.yaml
kubernetes/aai/charts/aai-babel/templates/service.yaml
kubernetes/aai/charts/aai-babel/values.yaml
kubernetes/aai/charts/aai-cassandra/templates/service.yaml
kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml
kubernetes/aai/charts/aai-cassandra/values.yaml
kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
kubernetes/aai/charts/aai-champ/templates/deployment.yaml
kubernetes/aai/charts/aai-champ/templates/service.yaml
kubernetes/aai/charts/aai-champ/values.yaml
kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route
kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml
kubernetes/aai/charts/aai-elasticsearch/values.yaml
kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml
kubernetes/aai/charts/aai-gizmo/templates/service.yaml
kubernetes/aai/charts/aai-gizmo/values.yaml
kubernetes/aai/charts/aai-modelloader/resources/config/auth/babel-client-cert.p12 [new file with mode: 0644]
kubernetes/aai/charts/aai-modelloader/resources/config/log/logback.xml
kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties
kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml
kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties
kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/auth/csp-cookie-filter.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/auth/tomcat_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-filter-aggregation.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-prepareSchema.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-subscriptionService.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unified-search.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unifiedFilterRequest.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/BOOT-INF/classes/portal.properties [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal.properties with 62% similarity]
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/roles.config [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-application.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-http-config.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-ssl-config.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties [deleted file]
kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml
kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
kubernetes/aai/charts/aai-sparky-be/templates/service.yaml
kubernetes/aai/charts/aai-sparky-be/values.yaml
kubernetes/aai/charts/aai-traversal/resources/config/application.properties
kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties
kubernetes/aai/charts/aai-traversal/templates/job.yaml
kubernetes/aai/resources/config/aai-data/environments/simpledemo.json
kubernetes/aai/values.yaml
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/aaiclient.properties
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/aaiclient.properties
kubernetes/appc/templates/pv.yaml [new file with mode: 0644]
kubernetes/appc/templates/service.yaml
kubernetes/appc/templates/statefulset.yaml
kubernetes/appc/values.yaml
kubernetes/clamp/charts/mariadb/templates/service.yaml
kubernetes/clamp/charts/mariadb/values.yaml
kubernetes/clamp/templates/configmap.yaml
kubernetes/clamp/templates/service.yaml
kubernetes/clamp/values.yaml
kubernetes/common/dgbuilder/templates/service.yaml
kubernetes/common/dgbuilder/values.yaml
kubernetes/common/mariadb-galera/templates/service.yaml
kubernetes/common/mariadb-galera/values.yaml
kubernetes/common/mysql/templates/nfs-provisoner.yaml
kubernetes/common/mysql/templates/service.yaml
kubernetes/common/mysql/values.yaml
kubernetes/consul/charts/consul-server/templates/deployment.yaml
kubernetes/consul/charts/consul-server/templates/service.yaml
kubernetes/consul/charts/consul-server/values.yaml
kubernetes/consul/resources/config/consul-agent-config/aai-hbase-health.json
kubernetes/consul/resources/config/consul-agent-config/aai-search-data-service-health.json
kubernetes/consul/resources/config/consul-agent-config/aai-services-health.json
kubernetes/consul/resources/config/consul-agent-config/appc-dbbuilder.json
kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb01-healthcheck.json
kubernetes/consul/resources/config/consul-agent-config/appc-sdnctldb02-healthcheck.json
kubernetes/consul/resources/config/consul-agent-config/appc-sdnhost.json
kubernetes/consul/resources/config/consul-agent-config/log-elastic-search.json
kubernetes/consul/resources/config/consul-agent-config/log-kibana.json
kubernetes/consul/resources/config/consul-agent-config/log-logstash.json
kubernetes/consul/resources/config/consul-agent-config/mr-dmaap-health.json
kubernetes/consul/resources/config/consul-agent-config/msb-health.json
kubernetes/consul/resources/config/consul-agent-config/mso-health.json [deleted file]
kubernetes/consul/resources/config/consul-agent-config/mso-mariabdb.json [deleted file]
kubernetes/consul/resources/config/consul-agent-config/multicloud-health-check.json
kubernetes/consul/resources/config/consul-agent-config/scripts/aai-search-storage-write-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/appc-dbhost-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/data-router-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/model-loader-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/mr-kafka-health.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/mr-zookeeper-health.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-be-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-cs-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-fe-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/sdc-titan-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/sdnc-dbhost-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/search-data-service-availability.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/so-api-script.sh [moved from kubernetes/consul/resources/config/consul-agent-config/scripts/mso-camunda-script.sh with 83% similarity]
kubernetes/consul/resources/config/consul-agent-config/scripts/so-camunda-script.sh [moved from kubernetes/consul/resources/config/consul-agent-config/scripts/mso-jra-script.sh with 82% similarity]
kubernetes/consul/resources/config/consul-agent-config/scripts/so-jra-script.sh [moved from kubernetes/consul/resources/config/consul-agent-config/scripts/mso-api-script.sh with 81% similarity]
kubernetes/consul/resources/config/consul-agent-config/scripts/so-mariadb-script.sh [moved from kubernetes/consul/resources/config/consul-agent-config/scripts/mso-mariadb-script.sh with 50% similarity]
kubernetes/consul/resources/config/consul-agent-config/scripts/sparky-be-script.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/tabular-db-availability.sh
kubernetes/consul/resources/config/consul-agent-config/scripts/vid-mariadb-script.sh
kubernetes/consul/resources/config/consul-agent-config/sdc-health.json
kubernetes/consul/resources/config/consul-agent-config/sdnc-dgbuilder.json
kubernetes/consul/resources/config/consul-agent-config/sdnc-health.json
kubernetes/consul/resources/config/consul-agent-config/sdnc-portal-health.json
kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb01-healthcheck.json
kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnctldb02-healthcheck.json
kubernetes/consul/resources/config/consul-agent-config/sdnc-sdnhost.json
kubernetes/consul/resources/config/consul-agent-config/so-health.json [new file with mode: 0644]
kubernetes/consul/resources/config/consul-agent-config/so-mariabdb.json [new file with mode: 0644]
kubernetes/consul/resources/config/consul-agent-config/vfc-health.json
kubernetes/consul/resources/config/consul-agent-config/vid-health.json
kubernetes/consul/templates/deployment.yaml
kubernetes/consul/values.yaml
kubernetes/dcaegen2/.helmignore
kubernetes/dcaegen2/Chart.yaml
kubernetes/dcaegen2/Makefile [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/.helmignore [moved from kubernetes/dcaegen2/charts/redis/.helmignore with 100% similarity]
kubernetes/dcaegen2/charts/dcae-bootstrap/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/config/k8s-plugin.json [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-config_binding_service-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-deployment_handler-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-input.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-inventory-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-pgaas-initdb-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-policy_handler-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-tca-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/templates/secret.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/.helmignore [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/README.md [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/config.txt [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/log/filebeat.yml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/namespace.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/secret.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-redis/.helmignore [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-redis/Chart.yaml [moved from kubernetes/dcaegen2/charts/redis/Chart.yaml with 97% similarity]
kubernetes/dcaegen2/charts/dcae-redis/requirements.yaml [moved from kubernetes/dcaegen2/charts/redis/requirements.yaml with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/resources/redis/scripts/redis-cluster-config.sh [moved from kubernetes/dcaegen2/charts/redis/resources/redis/scripts/redis-cluster-config.sh with 69% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/NOTES.txt [moved from kubernetes/dcaegen2/charts/redis/templates/NOTES.txt with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/configmap.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/configmap.yaml with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/pv.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/pv.yaml with 100% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/service.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/service.yaml with 88% similarity]
kubernetes/dcaegen2/charts/dcae-redis/templates/statefulset.yaml [moved from kubernetes/dcaegen2/charts/redis/templates/statefulset.yaml with 97% similarity]
kubernetes/dcaegen2/charts/dcae-redis/values.yaml [moved from kubernetes/dcaegen2/charts/redis/values.yaml with 98% similarity]
kubernetes/dcaegen2/dcae-parameters-sample.yaml [deleted file]
kubernetes/dcaegen2/templates/pod.yaml [deleted file]
kubernetes/dcaegen2/values.yaml
kubernetes/dmaap/Makefile [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/.helmignore [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/Chart.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/README.md [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/requirements.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/templates/NOTES.txt [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml [moved from kubernetes/dmaap/templates/configmap.yaml with 78% similarity]
kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/templates/service.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml [new file with mode: 0644]
kubernetes/dmaap/charts/postgresql/Chart.yaml [deleted file]
kubernetes/dmaap/charts/postgresql/templates/Notes.txt [deleted file]
kubernetes/dmaap/charts/postgresql/templates/_helpers.tpl [deleted file]
kubernetes/dmaap/charts/postgresql/templates/deployment.yaml [deleted file]
kubernetes/dmaap/charts/postgresql/templates/networkpolicy.yaml [deleted file]
kubernetes/dmaap/charts/postgresql/templates/pvc.yaml [deleted file]
kubernetes/dmaap/charts/postgresql/templates/secrets.yaml [deleted file]
kubernetes/dmaap/charts/postgresql/templates/svc.yaml [deleted file]
kubernetes/dmaap/charts/postgresql/values.yaml [deleted file]
kubernetes/dmaap/resources/config/README.txt [deleted file]
kubernetes/dmaap/resources/config/application.properties [deleted file]
kubernetes/dmaap/resources/config/buscontroller.env [deleted file]
kubernetes/dmaap/templates/deployment.yaml [deleted file]
kubernetes/dmaap/templates/service.yaml [deleted file]
kubernetes/dmaap/values.yaml
kubernetes/message-router/charts/kafka/templates/deployment.yaml
kubernetes/message-router/templates/service.yaml
kubernetes/message-router/values.yaml
kubernetes/msb/resources/config/log/filebeat/filebeat.yml
kubernetes/msb/values.yaml
kubernetes/multicloud/charts/multicloud-ocata/templates/NOTES.txt [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-ocata/values.yaml
kubernetes/multicloud/charts/multicloud-vio/templates/NOTES.txt [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-vio/values.yaml
kubernetes/multicloud/charts/multicloud-windriver/templates/NOTES.txt [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-windriver/values.yaml
kubernetes/multicloud/resources/config/provider-plugin.json [new file with mode: 0644]
kubernetes/multicloud/templates/NOTES.txt [new file with mode: 0644]
kubernetes/multicloud/templates/configmap.yaml
kubernetes/multicloud/templates/deployment.yaml
kubernetes/multicloud/templates/service.yaml
kubernetes/onap/requirements.yaml
kubernetes/onap/resources/environments/dev.yaml
kubernetes/onap/values.yaml
kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf
kubernetes/policy/charts/brmsgw/templates/service.yaml
kubernetes/policy/charts/brmsgw/values.yaml
kubernetes/policy/charts/drools/charts/nexus/templates/deployment.yaml
kubernetes/policy/charts/drools/charts/nexus/templates/pv.yaml [new file with mode: 0644]
kubernetes/policy/charts/drools/charts/nexus/templates/pvc.yaml [new file with mode: 0644]
kubernetes/policy/charts/drools/charts/nexus/templates/service.yaml
kubernetes/policy/charts/drools/charts/nexus/values.yaml
kubernetes/policy/charts/drools/resources/config/drools/settings.xml
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/base.conf
kubernetes/policy/charts/drools/templates/service.yaml
kubernetes/policy/charts/drools/templates/statefulset.yaml
kubernetes/policy/charts/drools/values.yaml
kubernetes/policy/charts/mariadb/templates/service.yaml
kubernetes/policy/charts/mariadb/values.yaml
kubernetes/policy/charts/pdp/resources/config/pe/pdp.conf
kubernetes/policy/charts/pdp/resources/config/pe/pdplp.conf
kubernetes/policy/charts/pdp/templates/service.yaml
kubernetes/policy/charts/pdp/templates/statefulset.yaml
kubernetes/policy/charts/pdp/values.yaml
kubernetes/policy/charts/policy-common/resources/config/pe/base.conf
kubernetes/policy/charts/policy-common/resources/config/scripts/do-start.sh
kubernetes/policy/resources/config/pe/console.conf
kubernetes/policy/resources/config/pe/pap.conf
kubernetes/policy/resources/config/pe/paplp.conf
kubernetes/policy/resources/config/pe/push-policies.sh
kubernetes/policy/templates/service.yaml
kubernetes/policy/values.yaml
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/fusion.properties
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/music.properties
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/openid-connect.properties
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/portal.properties
kubernetes/portal/charts/portal-app/resources/config/deliveries/properties/ONAPPORTAL/system.properties
kubernetes/portal/charts/portal-app/templates/service.yaml
kubernetes/portal/charts/portal-app/values.yaml
kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml
kubernetes/portal/charts/portal-cassandra/templates/deployment.yaml
kubernetes/portal/charts/portal-cassandra/templates/service.yaml
kubernetes/portal/charts/portal-cassandra/values.yaml
kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql
kubernetes/portal/charts/portal-mariadb/templates/deployment.yaml
kubernetes/portal/charts/portal-mariadb/templates/job.yaml
kubernetes/portal/charts/portal-mariadb/templates/service.yaml
kubernetes/portal/charts/portal-mariadb/values.yaml
kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/music.properties
kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/portal.properties
kubernetes/portal/charts/portal-sdk/resources/config/deliveries/properties/ONAPPORTALSDK/system.properties
kubernetes/portal/charts/portal-sdk/templates/deployment.yaml
kubernetes/portal/charts/portal-sdk/templates/service.yaml
kubernetes/portal/charts/portal-sdk/values.yaml
kubernetes/portal/charts/portal-widget/resources/config/deliveries/properties/ONAPWIDGETMS/application.properties
kubernetes/portal/charts/portal-widget/templates/deployment.yaml
kubernetes/portal/charts/portal-widget/templates/service.yaml
kubernetes/portal/charts/portal-widget/values.yaml
kubernetes/portal/charts/portal-zookeeper/templates/service.yaml
kubernetes/portal/charts/portal-zookeeper/values.yaml
kubernetes/portal/resources/config/log/filebeat/filebeat.yml
kubernetes/portal/values.yaml
kubernetes/robot/demo-k8s.sh
kubernetes/robot/ete-k8s.sh
kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
kubernetes/robot/resources/config/eteshare/config/vm_properties.py
kubernetes/sdc/charts/sdc-be/Chart.yaml
kubernetes/sdc/charts/sdc-be/templates/deployment.yaml
kubernetes/sdc/charts/sdc-be/templates/job.yaml
kubernetes/sdc/charts/sdc-be/templates/service.yaml
kubernetes/sdc/charts/sdc-be/values.yaml
kubernetes/sdc/charts/sdc-cs/Chart.yaml
kubernetes/sdc/charts/sdc-cs/templates/deployment.yaml
kubernetes/sdc/charts/sdc-cs/templates/job.yaml
kubernetes/sdc/charts/sdc-cs/templates/service.yaml
kubernetes/sdc/charts/sdc-cs/values.yaml
kubernetes/sdc/charts/sdc-es/Chart.yaml
kubernetes/sdc/charts/sdc-es/templates/deployment.yaml
kubernetes/sdc/charts/sdc-es/templates/job.yaml
kubernetes/sdc/charts/sdc-es/templates/service.yaml
kubernetes/sdc/charts/sdc-es/values.yaml
kubernetes/sdc/charts/sdc-fe/Chart.yaml
kubernetes/sdc/charts/sdc-fe/templates/deployment.yaml
kubernetes/sdc/charts/sdc-fe/templates/service.yaml
kubernetes/sdc/charts/sdc-fe/values.yaml
kubernetes/sdc/charts/sdc-kb/Chart.yaml
kubernetes/sdc/charts/sdc-kb/templates/deployment.yaml
kubernetes/sdc/charts/sdc-kb/templates/service.yaml
kubernetes/sdc/charts/sdc-kb/values.yaml
kubernetes/sdc/charts/sdc-onboarding-be/.helmignore [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/Chart.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/resources/config/logging/logback.xml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/templates/NOTES.txt [moved from kubernetes/dmaap/templates/NOTES.txt with 52% similarity]
kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/templates/deployment.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/templates/job.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/templates/pv.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/templates/pvc.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/templates/service.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-onboarding-be/values.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd/Chart.yaml
kubernetes/sdc/charts/sdc-wfd/templates/deployment.yaml
kubernetes/sdc/charts/sdc-wfd/templates/service.yaml
kubernetes/sdc/charts/sdc-wfd/values.yaml
kubernetes/sdc/resources/config/environments/AUTO.json
kubernetes/sdc/templates/configmap.yaml
kubernetes/sdc/templates/secrets.yaml [moved from kubernetes/sdc/charts/sdc-cs/templates/secrets.yaml with 81% similarity]
kubernetes/sdc/values.yaml
kubernetes/sdnc/charts/dmaap-listener/resources/config/dhcpalert.properties
kubernetes/sdnc/charts/dmaap-listener/templates/deployment.yaml
kubernetes/sdnc/charts/dmaap-listener/templates/service.yaml
kubernetes/sdnc/charts/dmaap-listener/values.yaml
kubernetes/sdnc/charts/sdnc-portal/templates/service.yaml
kubernetes/sdnc/charts/sdnc-portal/values.yaml
kubernetes/sdnc/charts/ueb-listener/resources/config/dblib.properties [new file with mode: 0644]
kubernetes/sdnc/charts/ueb-listener/resources/config/ueb-listener.properties
kubernetes/sdnc/charts/ueb-listener/templates/deployment.yaml
kubernetes/sdnc/charts/ueb-listener/templates/service.yaml
kubernetes/sdnc/charts/ueb-listener/values.yaml
kubernetes/sdnc/resources/config/bin/startODL.sh
kubernetes/sdnc/resources/config/conf/dblib.properties
kubernetes/sdnc/templates/pv.yaml [new file with mode: 0644]
kubernetes/sdnc/templates/service.yaml
kubernetes/sdnc/templates/statefulset.yaml
kubernetes/sdnc/values.yaml
kubernetes/uui/charts/uui-server/templates/service.yaml
kubernetes/uui/charts/uui-server/values.yaml
kubernetes/uui/templates/service.yaml
kubernetes/uui/values.yaml
kubernetes/vfc/charts/vfc-catalog/templates/service.yaml
kubernetes/vfc/charts/vfc-catalog/values.yaml
kubernetes/vfc/charts/vfc-ems-driver/templates/deployment.yaml
kubernetes/vfc/charts/vfc-ems-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-ems-driver/values.yaml
kubernetes/vfc/charts/vfc-generic-vnfm-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-generic-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/deployment.yaml
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-juju-vnfm-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-juju-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-multivim-proxy/templates/service.yaml
kubernetes/vfc/charts/vfc-multivim-proxy/values.yaml
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/values.yaml
kubernetes/vfc/charts/vfc-nslcm/templates/service.yaml
kubernetes/vfc/charts/vfc-nslcm/values.yaml
kubernetes/vfc/charts/vfc-resmgr/templates/service.yaml
kubernetes/vfc/charts/vfc-resmgr/values.yaml
kubernetes/vfc/charts/vfc-vnflcm/templates/service.yaml
kubernetes/vfc/charts/vfc-vnflcm/values.yaml
kubernetes/vfc/charts/vfc-vnfmgr/templates/service.yaml
kubernetes/vfc/charts/vfc-vnfmgr/values.yaml
kubernetes/vfc/charts/vfc-vnfres/templates/service.yaml
kubernetes/vfc/charts/vfc-vnfres/values.yaml
kubernetes/vfc/charts/vfc-workflow-engine/templates/service.yaml
kubernetes/vfc/charts/vfc-workflow-engine/values.yaml
kubernetes/vfc/charts/vfc-workflow/templates/service.yaml
kubernetes/vfc/charts/vfc-workflow/values.yaml
kubernetes/vfc/charts/vfc-zte-sdnc-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-zte-sdnc-driver/values.yaml
kubernetes/vfc/charts/vfc-zte-vnfm-driver/templates/service.yaml
kubernetes/vfc/charts/vfc-zte-vnfm-driver/values.yaml
kubernetes/vfc/resources/config/logging/filebeat/filebeat.yml
kubernetes/vid/charts/mariadb/templates/service.yaml
kubernetes/vid/charts/mariadb/values.yaml
kubernetes/vid/templates/deployment.yaml
kubernetes/vid/templates/service.yaml
kubernetes/vid/values.yaml
kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/deployment.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/job.yaml with 73% similarity]
kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/service.yaml
kubernetes/vnfsdk/charts/vnfsdk-postgres/values.yaml
kubernetes/vnfsdk/requirements.yaml
kubernetes/vnfsdk/templates/deployment.yaml
kubernetes/vnfsdk/templates/service.yaml
kubernetes/vnfsdk/values.yaml

index e098fbb..201471b 100644 (file)
@@ -16,8 +16,6 @@
 # limitations under the License.
 #============LICENSE_END============================================
 
-helm delete $1-$2 --purge
-kubectl delete namespace $1-$2
-kubectl delete clusterrolebinding $1-$2-admin-binding
+helm delete $2 --purge
 
 
index a6e09c8..f108825 100644 (file)
 printf "%s" "$*"
 printf `pwd`
 printf "%s" "---------------"
-kubectl create namespace $1-$2
-kubectl create clusterrolebinding $1-$2-admin-binding --clusterrole=cluster-admin --serviceaccount=$1-$2:default
-# assign default auth token
-if [[ -z $ONAP_DEFAULT_AUTH_TOKEN ]]; then
-  DEFAULT_SECRET=`kubectl get secrets -n $1-$2 | grep default-token |  awk '{ print $1}'`
-  ONAP_DEFAULT_AUTH_TOKEN=`kubectl get secrets $DEFAULT_SECRET -n $1-$2 -o yaml | grep  'token:'  | awk '{ print $2}' | base64 -d`
-fi
-kubectl --namespace $1-$2 create secret docker-registry $1-docker-registry-key --docker-server=nexus3.onap.org:10001 --docker-username=docker --docker-password=docker --docker-email=@
-helm install ../$2/ --name $1-$2 --namespace $1 --set nsPrefix=$1,nodePortPrefix=302,kubeMasterAuthToken=$ONAP_DEFAULT_AUTH_TOKEN
\ No newline at end of file
+
+helm install local/$2 --name $2 --namespace $1
\ No newline at end of file
diff --git a/TOSCA/Helm/k8s_delete_env.sh b/TOSCA/Helm/k8s_delete_env.sh
new file mode 100644 (file)
index 0000000..c715e22
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END============================================
+
+kubectl delete secret $1-docker-registry-key
+kubectl delete clusterrolebinding $1-admin-binding
+kubectl delete namespace $1
+
+
+
diff --git a/TOSCA/Helm/k8s_setup_env.sh b/TOSCA/Helm/k8s_setup_env.sh
new file mode 100644 (file)
index 0000000..1e226f2
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END============================================
+
+printf "%s" "$*"
+printf `pwd`
+printf "%s" "---------------"
+
+kubectl create namespace $1
+kubectl create clusterrolebinding $1-admin-binding --clusterrole=cluster-admin --serviceaccount=$1:default
+kubectl --namespace $1 create secret docker-registry $1-docker-registry-key --docker-server=nexus3.onap.org:10001 --docker-username=docker --docker-password=docker --docker-email=@
\ No newline at end of file
index f86b590..d11597f 100644 (file)
@@ -28,7 +28,7 @@ inputs:
   ip:
   user:
     default: centos
-  namespace_perfix:
+  namespace:
     default: onap
 
 node_types:
@@ -36,7 +36,7 @@ node_types:
     derived_from: cloudify.nodes.SoftwareComponent
     properties:
       cwd:
-        default: /home/centos/oom/kubernetes/oneclick
+        default: /home/centos/oom/kubernetes
       args:
         default:
         - onap
@@ -79,203 +79,261 @@ node_templates:
          key: { get_secret: agent_key_private }
          user: { get_input: user }
 
+  k8s_env:
+    type: cloudify.nodes.SoftwareComponent
+    properties:
+    interfaces:
+      cloudify.interfaces.lifecycle:
+         start:
+          implementation: fabric.fabric_plugin.tasks.run_script
+          inputs:
+            script_path: k8s_setup_env.sh
+            process:
+              args:  [{ get_input: namespace }]
+            fabric_env:
+              host_string: { get_input: ip }
+              user: { get_input: user }
+              key: { get_secret: agent_key_private }
+         stop:
+          implementation: fabric.fabric_plugin.tasks.run_script
+          inputs:
+            script_path: k8s_delete_env.sh
+            process:
+              args:  [{ get_input: namespace }]
+            fabric_env:
+              host_string: { get_input: ip }
+              user: { get_input: user }
+              key: { get_secret: agent_key_private }
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
   consul:
      type: cloudify.nodes.Helm
      properties:
        args:
-       - { get_input: namespace_perfix }
+       - { get_input: namespace }
        - consul
      relationships:
        - type: cloudify.relationships.connected_to
-         target: k8s_master
+         target: k8s_env
 
   msb:
      type: cloudify.nodes.Helm
      properties:
        args:
-       - { get_input: namespace_perfix }
+       - { get_input: namespace }
        - msb
      relationships:
        - type: cloudify.relationships.connected_to
-         target: k8s_master
+         target: k8s_env
 
-
-  mso:
+  so:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
-      - mso
+      - { get_input: namespace }
+      - so
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   appc:
      type: cloudify.nodes.Helm
      properties:
        args:
-       - { get_input: namespace_perfix }
+       - { get_input: namespace }
        - appc
      relationships:
        - type: cloudify.relationships.connected_to
-         target: k8s_master
+         target: k8s_env
 
   message-router:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - message-router
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   sdnc:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - sdnc
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   vid:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - vid
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   robot:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - robot
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   policy:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - policy
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   portal:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - portal
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   aai:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - aai
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   sdc:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - sdc
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   log:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - log
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   cli:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - cli
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   multicloud:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - multicloud
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   clamp:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - clamp
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   vnfsdk:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - vnfsdk
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   uui:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - uui
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   aaf:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - aaf
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
 
   vfc:
     type: cloudify.nodes.Helm
     properties:
       args:
-      - { get_input: namespace_perfix }
+      - { get_input: namespace }
       - vfc
     relationships:
       - type: cloudify.relationships.connected_to
-        target: k8s_master
+        target: k8s_env
+
+  dcaegen2:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace }
+      - dcaegen2
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_env
+
+  esr:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace }
+      - esr
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_env
+
+  mock:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace }
+      - mock
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_env
\ No newline at end of file
index 3de125b..f967931 100644 (file)
@@ -47,7 +47,7 @@ The versions of Kubernetes that are supported by OOM are as follows:
   Release         Kubernetes  Helm   kubectl  Docker
   ==============  ==========  =====  =======  ========
   amsterdam       1.7.x       2.3.x  1.7.x    1.12.x
-  beijing/master  1.8.5       2.7.x  1.8.5    1.12.x
+  beijing/master  1.8.10      2.7.x  1.8.10   17.03.x
   ==============  ==========  =====  =======  ========
 
 Minimum Hardware Configuration
index 4962c82..7b19e6e 100644 (file)
@@ -51,7 +51,7 @@ package-%: lint-%
 
 clean:
        @rm -f */requirements.lock
-       @rm -f *tgz */charts/*tgz
+       @find . -type f -name '*.tgz' -delete
        @rm -rf $(PACKAGE_DIR)/*
 
 # start up a local helm repo to serve up helm chart packages
index facf3ce..2e4a619 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
similarity index 97%
rename from kubernetes/aaf/charts/sms/Chart.yaml
rename to kubernetes/aaf/charts/aaf-sms/Chart.yaml
index 962ef38..7141875 100644 (file)
@@ -14,5 +14,5 @@
 
 apiVersion: v1
 description: ONAP Secret Management Service
-name: sms
+name: aaf-sms
 version: 2.0.0
diff --git a/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/Chart.yaml b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/Chart.yaml
new file mode 100644 (file)
index 0000000..4e279e7
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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 Secret Management Service Quorum Client
+name: aaf-sms-quorumclient
+version: 2.0.0
@@ -1,4 +1,4 @@
-# Copyright Â© 2017 Amdocs, Bell Canada
+# Copyright 2018 Intel Corporation, Inc
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 apiVersion: v1
-kind: Secret
+kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
@@ -22,6 +22,6 @@ metadata:
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
-type: Opaque
 data:
-  db-root-password: {{ .Values.config.cassandraPassword | b64enc | quote }}
+  config.json: |
+    {{ .Values.config | toJson }}
diff --git a/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/pv.yaml b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/pv.yaml
new file mode 100644 (file)
index 0000000..da09498
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/statefulset.yaml b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/statefulset.yaml
new file mode 100644 (file)
index 0000000..483d6c5
--- /dev/null
@@ -0,0 +1,70 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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: 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:
+  replicas: {{ .Values.replicaCount }}
+  serviceName:
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        name: {{ include "common.name" . }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        command: ["/quorumclient/bin/quorumclient"]
+        workingDir: /quorumclient/
+        volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /quorumclient/config.json
+            name: {{ include "common.name" .}}
+            subPath: config.json
+          - mountPath: /quorumclient/auth
+            name: {{ include "common.fullname" . }}-auth
+        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.name" . }}
+        configMap:
+          name: {{ include "common.fullname" . }}
+      - name: {{ include "common.fullname" . }}-auth
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" . }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/values.yaml b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/values.yaml
new file mode 100644 (file)
index 0000000..d09d492
--- /dev/null
@@ -0,0 +1,83 @@
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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.1
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/aaf/smsquorumclient
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+# Example:
+config:
+  url: "http://aaf-sms:10443"
+  cafile: "selfsignedca.pem"
+  clientcert: "server.cert"
+  clientkey: "server.key"
+  timeout: "60s"
+  disable_tls: true
+
+# default number of instances
+replicaCount: 3
+
+nodeSelector: {}
+
+affinity: {}
+
+persistence:
+  enabled: true
+  volumeReclaimPolicy: Retain
+  accessMode: ReadWriteOnce
+  size: 10Mi
+  mountPath: /dockerdata-nfs
+  mountSubPath: sms/quorum/data
+
+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
@@ -14,6 +14,6 @@
 
 apiVersion: v1
 description: Chart to launch Vault as SMS backend
-name: vault
+name: aaf-sms-vault
 appVersion: 0.9.5
 version: 2.0.0
diff --git a/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pv.yaml b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pv.yaml
new file mode 100644 (file)
index 0000000..da09498
--- /dev/null
@@ -0,0 +1,37 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pvc.yaml b/kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e6aacd1
--- /dev/null
@@ -0,0 +1,48 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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 -}}
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.fullname" . }}
@@ -25,7 +25,7 @@ metadata:
 spec:
   type: {{ .Values.service.type }}
   ports:
-  - name: {{ .Values.service.name }}
+  - name: {{ .Values.service.portName }}
     {{if eq .Values.service.type "NodePort" -}}
     port: {{ .Values.service.internalPort }}
     nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
@@ -24,7 +24,7 @@ global:
 repository: docker.io
 image:
   consul: consul:1.0.6
-  vault: vault:0.9.6
+  vault: vault:0.10.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -75,10 +75,8 @@ readiness:
 
 persistence:
   enabled: true
-
   volumeReclaimPolicy: Retain
-
-  accessMode: ReadWriteMany
+  accessMode: ReadWriteOnce
   size: 2Gi
   mountPath: /dockerdata-nfs
   mountSubPath: sms/consul/data
@@ -86,6 +84,7 @@ persistence:
 service:
   type: NodePort
   name: aaf-sms-db
+  portName: aaf-sms-db
   internalPort: 8200
   nodePort: 44
 
@@ -31,7 +31,7 @@ spec:
         release: {{ .Release.Name }}
     spec:
       containers:
-      - image: "{{ .Values.repository }}/{{ .Values.image }}"
+      - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         name: {{ include "common.name" . }}
         imagePullPolicy: {{ .Values.pullPolicy }}
         command: ["/sms/bin/sms"]
@@ -57,6 +57,8 @@ spec:
           - mountPath: /sms/smsconfig.json
             name: {{ include "common.name" .}}
             subPath: smsconfig.json
+          - mountPath: /sms/auth
+            name: {{ include "common.fullname" . }}-auth
         resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -74,5 +76,8 @@ spec:
       - name : {{ include "common.name" . }}
         configMap:
           name: {{ include "common.fullname" . }}
+      - name: {{ include "common.fullname" . }}-auth
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" . }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aaf/charts/aaf-sms/templates/pvc.yaml b/kubernetes/aaf/charts/aaf-sms/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e6aacd1
--- /dev/null
@@ -0,0 +1,48 @@
+{{/*
+# Copyright 2018 Intel Corporation, Inc
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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 -}}
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.fullname" . }}
@@ -25,7 +25,7 @@ metadata:
 spec:
   type: {{ .Values.service.type }}
   ports:
-  - name: {{ .Values.service.name }}
+  - name: {{ .Values.service.PortName }}
     {{if eq .Values.service.type "NodePort" -}}
     port: {{ .Values.service.internalPort }}
     nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
similarity index 93%
rename from kubernetes/aaf/charts/sms/values.yaml
rename to kubernetes/aaf/charts/aaf-sms/values.yaml
index 0c537c5..cd32539 100644 (file)
@@ -22,6 +22,7 @@ global:
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
+  persistence: {}
 
 #################################################################
 # Application configuration defaults.
@@ -69,9 +70,18 @@ readiness:
 service:
   type: NodePort
   name: aaf-sms
+  portName: aaf-sms
   internalPort: 10443
   nodePort: 43
 
+persistence:
+  enabled: true
+  volumeReclaimPolicy: Retain
+  accessMode: ReadWriteOnce
+  size: 1Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: sms/auth
+
 ingress:
   enabled: false
 
index 3f6e1f0..587e07a 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
index 5340a6a..e7c6459 100644 (file)
@@ -8,7 +8,7 @@
             }
         ],
         "users": [
-            {"username": "CN=someone.onap.org, OU=someone, O=\"ONAP ORG\", L=NA, ST=NA, C=NA"}
+            {"username": "CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA"}
         ]
     },
     {
@@ -18,7 +18,7 @@
             "methods": [{"name": "POST"}]
         }],
         "users": [
-            {"username": "CN=someone.onap.org, OU=someone, O=\"ONAP ORG\", L=NA, ST=NA, C=NA"}
+            {"username": "CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA"}
         ]
     },
     {
@@ -30,7 +30,7 @@
             }
         ],
         "users": [
-            {"username": "CN=someone.onap.org, OU=someone, O=\"ONAP ORG\", L=NA, ST=NA, C=NA"}
+            {"username": "CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA"}
         ]
     },
     {
index cbec390..9eec841 100644 (file)
Binary files a/kubernetes/aai/charts/aai-babel/resources/config/auth/tomcat_keystore and b/kubernetes/aai/charts/aai-babel/resources/config/auth/tomcat_keystore differ
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/logback.xml b/kubernetes/aai/charts/aai-babel/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..63b8faf
--- /dev/null
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE xml>
+<configuration scan="true" scanPeriod="30 seconds" debug="true">
+  <include resource="org/springframework/boot/logging/logback/base.xml" />
+
+  <property name="componentName" value="AAI-BAS" />
+  <property name="logDirectory" value="${APP_HOME}/logs/${componentName}" />
+
+  <!-- default EELF log file names -->
+  <property name="generalLogName" value="error" />
+  <property name="metricsLogName" value="metrics" />
+  <property name="auditLogName" value="audit" />
+  <property name="debugLogName" value="debug" />
+
+  <property name="errorLogPattern"
+           value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%.-5level|%logger|%mdc{ClassName}|%msg%n" />
+
+  <property name="auditLogPattern"
+           value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" />
+
+  <property name="metricsLogPattern"
+           value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{BeginTimestamp}|%mdc{EndTimestamp}|%mdc{RequestId}|%mdc{ServiceInstanceId}|%thread|%mdc{ServerFQDN}|%mdc{ServiceName}|%mdc{PartnerName}|%mdc{TargetEntity}|%mdc{TargetServiceName}|%mdc{StatusCode}|%mdc{ResponseCode}|%mdc{ResponseDescription}|%logger|%.-5level|||%mdc{ElapsedTime}|%mdc{RemoteHost}|%mdc{ClientAddress}|%mdc{ClassName}|||%msg%n" />
+
+  <!-- ============================================================================ -->
+  <!-- EELF Appenders -->
+  <!-- ============================================================================ -->
+
+  <appender name="EELF"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${generalLogName}.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELF" />
+  </appender>
+
+  <!-- EELF Audit Appender. This appender is used to record audit engine related logging events. The audit logger and appender
+       are specializations of the EELF application root logger and appender. This can be used to segregate Policy engine events
+       from other components, or it can be eliminated to record these events as part of the application root log. -->
+
+  <appender name="EELFAudit"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${auditLogName}.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${auditLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFAudit" />
+  </appender>
+
+  <appender name="EELFMetrics"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${metricsLogName}.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${metricsLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFMetrics" />
+  </appender>
+
+  <appender name="EELFDebug"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>
+      ${logDirectory}/${debugLogName}.log
+    </file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+    <!-- allow only events with a level below INFO, that is TRACE and DEBUG -->
+    <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+      <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
+       <expression>
+         e.level.toInt() &lt; INFO.toInt()
+       </expression>
+      </evaluator>
+      <OnMismatch>DENY</OnMismatch>
+      <OnMatch>NEUTRAL</OnMatch>
+    </filter>
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFDebug" />
+    <includeCallerData>false</includeCallerData>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!-- Default / root appenders -->
+  <!-- This determines the logging level for 3rd party code -->
+  <!-- ============================================================================ -->
+
+  <root level="INFO">
+    <appender-ref ref="asyncEELF" />
+  <appender-ref ref="asyncEELFDebug" />
+</root>
+
+  <!-- ============================================================================ -->
+  <!--  EELF loggers -->
+  <!-- ============================================================================ -->
+
+  <logger name="com.att.eelf" level="INFO" additivity="false">
+  <appender-ref ref="asyncEELF" />
+</logger>
+
+  <!-- The level of this logger determines the contents of the debug log -->
+  <logger name="com.att.eelf.debug" level="INFO" additivity="false">
+  <appender-ref ref="asyncEELFDebug" />
+</logger>
+
+  <logger name="com.att.eelf.audit" level="INFO" additivity="false">
+  <appender-ref ref="asyncEELFAudit" />
+</logger>
+
+  <logger name="com.att.eelf.metrics" level="INFO" additivity="false">
+  <appender-ref ref="asyncEELFMetrics" />
+</logger>
+
+  <!-- ============================================================================ -->
+  <!-- Non-EELF loggers -->
+  <!-- ============================================================================ -->
+
+  <!-- ATT packages including DMAAP message routing -->
+  <logger name="com.att" level="INFO" />
+
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" />
+  <logger name="org.springframework.beans" level="WARN" />
+  <logger name="org.springframework.web" level="WARN" />
+
+  <!-- Other Loggers that may help troubleshoot -->
+  <logger name="org.apache" level="WARN" />
+  <logger name="org.apache.commons" level="WARN" />
+
+  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. May aid in troubleshooting) -->
+  <logger name="org.apache.camel" level="WARN" />
+  <logger name="org.apache.cxf" level="WARN" />
+  <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.service" level="WARN" />
+  <logger name="org.restlet" level="WARN" />
+  <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+  <!-- logback internals logging -->
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+
+</configuration>
index 6b1312b..15cd163 100644 (file)
@@ -77,6 +77,9 @@ spec:
             name: {{ include "common.fullname" . }}-secrets
           - mountPath: /logs
             name: {{ include "common.fullname" . }}-logs
+          - mountPath: /opt/app/babel/config/logback.xml
+            name: {{ include "common.fullname" . }}-config
+            subPath: logback.xml
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -99,6 +102,8 @@ spec:
               path: artifact-generator.properties
             - key: babel-auth.properties
               path: babel-auth.properties
+            - key: logback.xml
+              path: logback.xml
         - name: {{ include "common.fullname" . }}-secrets
           secret:
             secretName: {{ include "common.fullname" . }}-babel-secrets
index 93b0fd1..745c73b 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,11 +28,11 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort}}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index bb1479b..ef872a0 100644 (file)
@@ -28,8 +28,8 @@ image: onap/babel:1.2-STAGING-latest
 
 # application configuration
 config:
-  keyStorePassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
-  keyManagerPassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+  keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+  keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 
 # default number of instances
 replicaCount: 1
@@ -53,6 +53,7 @@ readiness:
 service:
   type: NodePort
   name: babel
+  portName: babel
   externalPort: 79
   internalPort: 9516
   nodePort: 79
index a4557fe..c49e605 100644 (file)
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ template "common.fullname" . }}
+  name: {{ template "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ template "common.fullname" . }}
index aa3482d..92f05dd 100644 (file)
@@ -77,7 +77,7 @@ spec:
                 fieldPath: status.podIP
         volumeMounts:
           - name: cassandra-data
-            mountPath: /var/lib/cassandra/data
+            mountPath: /var/lib/cassandra
         resources:
 {{ toYaml .Values.resources | indent 10 }}
       {{- if .Values.nodeSelector }}
index 884bc39..baa87c2 100644 (file)
@@ -62,7 +62,7 @@ ingress:
   enabled: false
 
 persistence:
-  enabled: false
+  enabled: true
 
   ## A manually managed Persistent Volume and Claim
   ## Requires persistence.enabled: true
index 6a66811..a271402 100644 (file)
@@ -21,9 +21,8 @@ xsi:schemaLocation="
         <entry key="champcore.event.stream.publisher-pool-size" value="10" value-type="java.lang.Integer"/>
         <entry key="champcore.event.stream.publisher" value-ref="champEventPublisher"/>
 
-        <entry key="graph.name" value="aaigraph.dev"/>
+        <entry key="graph.name" value="aaigraph"/>
         <entry key="storage.backend" value="cassandra"/>
-        <entry key="storage.cassandra.keyspace" value="aaigraph"/>
         <entry key="storage.cassandra.read-consistency-level" value="LOCAL_QUORUM"/>
         <entry key="storage.cassandra.write-consistency-level" value="LOCAL_QUORUM"/>
         <entry key="storage.cassandra.replication-factor" value="3"/>
@@ -37,7 +36,7 @@ xsi:schemaLocation="
 
     <!-- Janus Implementation -->
     <bean id="graphBuilder" class="org.onap.aai.champjanus.graph.impl.JanusChampGraphImpl$Builder">
-        <constructor-arg value="aaigraph.dev"/>
+        <constructor-arg value="aaigraph"/>
         <constructor-arg ref="props" />
     </bean>
 
index 7176d09..9a5d0ee 100644 (file)
@@ -36,6 +36,8 @@ spec:
         args:
         - --container-name
         - aai-resources
+        - --container-name
+        - global-kafka
         env:
         - name: NAMESPACE
           valueFrom:
index 93b0fd1..745c73b 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,11 +28,11 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort}}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 28f28d4..7849418 100644 (file)
@@ -53,6 +53,7 @@ readiness:
 service:
   type: NodePort
   name: champ
+  portName: champ
   internalPort: 9522
   nodePort: 78
 
index 7b4e902..eb93b26 100644 (file)
@@ -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.{{.Release.Namespace}}:3904"/>
+  <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;groupName=datarouter&amp;groupId=datarouter&amp;url=http://message-router.{{.Release.Namespace}}:3904"/>
   <to uri="bean:entityEventPolicy?method=process"/>
 </route>
index 84548ed..54ee8b6 100644 (file)
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.name" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -14,10 +14,10 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.fullname" . }}
index af7fd3d..e11326a 100644 (file)
@@ -37,6 +37,7 @@ readiness:
 service:
   type: ClusterIP
   name: aai-elasticsearch
+  portName: aai-elasticsearch
   internalPort: 9200
 
 ingress:
index a6cac62..7adc447 100644 (file)
@@ -9,7 +9,7 @@
                 ">
 
      <bean id="champDao" class="org.onap.crud.dao.champ.ChampDao">
-         <constructor-arg name="champUrl" value="https://{{.Release.Name}}-aai-champ.{{.Release.Namespace}}:9522/services/champ-service/v1/"/>
+         <constructor-arg name="champUrl" value="https://aai-champ.{{.Release.Namespace}}:9522/services/champ-service/v1/"/>
          <constructor-arg name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10"/>
      </bean>
 
index f88a4e9..b48a56c 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -29,12 +29,12 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index de84285..f6119bd 100644 (file)
@@ -51,10 +51,11 @@ readiness:
 service:
   type: NodePort
   name: crud-service
+  portName: crud-service
   internalPort: 9520
   nodePort: 66
 
 ingress:
   enabled: false
 
-resources: {}
\ No newline at end of file
+resources: {}
diff --git a/kubernetes/aai/charts/aai-modelloader/resources/config/auth/babel-client-cert.p12 b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/babel-client-cert.p12
new file mode 100644 (file)
index 0000000..dbf4fca
Binary files /dev/null and b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/babel-client-cert.p12 differ
index d512d3b..fcfac84 100644 (file)
-<configuration debug="false" scan="true" scanPeriod="3 seconds">
-    <!--<jmxConfigurator /> -->
-    <!-- directory path for all other type logs -->
-    <property name="logDir" value="/var/log/onap" />
-    <property name="componentName" value="aai"></property>
-    <property name="subComponentName" value="aai-ml"></property>
-    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
-    <!--  default eelf log file names -->
-    <property name="generalLogName" value="error" />
-    <property name="metricsLogName" value="metrics" />
-    <property name="auditLogName" value="audit" />
-    <property name="debugLogName" value="debug" />
-    <property name="queueSize" value="256" />
-    <property name="maxFileSize" value="50MB" />
-    <property name="maxHistory" value="30" />
-    <property name="totalSizeCap" value="10GB" />
-    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />
-    <!-- Example evaluator filter applied against console appender -->
-    <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <!-- ============================================================================ -->
-    <!-- EELF Appenders -->
-    <!-- ============================================================================ -->
-    <!-- The EELFAppender is used to record events to the general application 
-                log -->
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELF">
-        <file>${logDirectory}/${generalLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELF">
-        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>INFO</level>
-        </filter>
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELF" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">
-        <file>${logDirectory}/${auditLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELFAudit" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">
-        <file>${logDirectory}/${metricsLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELFMetrics" />
-    </appender>
-    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">
-        <file>${logDirectory}/${debugLogName}.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                <maxFileSize>${maxFileSize}</maxFileSize>
-            </timeBasedFileNamingAndTriggeringPolicy>
-            <maxHistory>${maxHistory}</maxHistory>
-            <totalSizeCap>${totalSizeCap}</totalSizeCap>
-        </rollingPolicy>
-        <encoder>
-            <pattern>${pattern}</pattern>
-        </encoder>
-    </appender>
-    <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">
-        <queueSize>${queueSize}</queueSize>
-        <appender-ref ref="EELFDebug" />
-        <includeCallerData>true</includeCallerData>
-    </appender>
-    <!-- ============================================================================ -->
-    <!-- EELF loggers -->
-    <!-- ============================================================================ -->
-    <logger additivity="false" level="info" name="com.att.eelf">
-        <appender-ref ref="asyncEELF" />
-        <appender-ref ref="asyncEELFDebug" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.security">
-        <appender-ref ref="asyncEELFSecurity" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.perf">
-        <appender-ref ref="asyncEELFPerformance" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.server">
-        <appender-ref ref="asyncEELFServer" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.policy">
-        <appender-ref ref="asyncEELFPolicy" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.audit">
-        <appender-ref ref="asyncEELFAudit" />
-    </logger>
-    <logger additivity="false" level="info" name="com.att.eelf.metrics">
-        <appender-ref ref="asyncEELFMetrics" />
-    </logger>
-    <!-- Spring related loggers -->
-    <logger level="WARN" name="org.springframework" />
-    <logger level="WARN" name="org.springframework.beans" />
-    <logger level="WARN" name="org.springframework.web" />
-    <logger level="WARN" name="com.blog.spring.jms" />
-    <logger level="INFO" name="com.att" />
-    <!-- Model Loader loggers -->
-    <logger level="INFO" name="org.openecomp.modelloader" />
-    <!-- Other Loggers that may help troubleshoot -->
-    <logger level="WARN" name="net.sf" />
-    <logger level="WARN" name="org.apache.commons.httpclient" />
-    <logger level="WARN" name="org.apache.commons" />
-    <logger level="WARN" name="org.apache.coyote" />
-    <logger level="WARN" name="org.apache.jasper" />
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
-                May aid in troubleshooting) -->
-    <logger level="WARN" name="org.apache.camel" />
-    <logger level="WARN" name="org.apache.cxf" />
-    <logger level="WARN" name="org.apache.camel.processor.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.jaxrs.interceptor" />
-    <logger level="WARN" name="org.apache.cxf.service" />
-    <logger level="WARN" name="org.restlet" />
-    <logger level="WARN" name="org.apache.camel.component.restlet" />
-    <!-- logback internals logging -->
-    <logger level="WARN" name="ch.qos.logback.classic" />
-    <logger level="WARN" name="ch.qos.logback.core" />
-    <root>
-        <appender-ref ref="asyncEELF" />
-        <!-- <appender-ref ref="asyncEELFDebug" /> -->
-    </root>
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
+  <include resource="org/springframework/boot/logging/logback/base.xml" />
+  <property name="logDir" value="${AJSC_HOME}/logs" />
+  <property name="componentName" value="AAI-ML"></property>
+
+  <!-- default eelf log file names -->
+  <property name="generalLogName" value="error" />
+  <property name="metricsLogName" value="metrics" />
+  <property name="auditLogName" value="audit" />
+  <property name="debugLogName" value="debug" />
+
+  <property name="errorLogPattern"
+           value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|ModelLoader|%mdc{PartnerName}|%logger||%.-5level|%msg%n" />
+  <property name="auditMetricPattern" value="%m%n" />
+
+  <property name="logDirectory" value="${logDir}/${componentName}" />
+
+  <!-- Example evaluator filter applied against console appender -->
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>${defaultPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!-- EELF Appenders -->
+  <!-- ============================================================================ -->
+
+  <!-- The EELFAppender is used to record events to the general application
+       log -->
+
+  <appender name="EELF"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${generalLogName}.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELF" />
+  </appender>
+
+  <appender name="EELFAudit"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${auditLogName}.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${auditMetricPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFAudit" />
+  </appender>
+
+  <appender name="EELFMetrics"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${metricsLogName}.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${auditMetricPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFMetrics" />
+  </appender>
+
+  <appender name="EELFDebug"
+           class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${debugLogName}.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFDebug" />
+    <includeCallerData>true</includeCallerData>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!-- EELF loggers -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="info" additivity="false">
+    <appender-ref ref="asyncEELF" />
+    <appender-ref ref="asyncEELFDebug" />
+  </logger>
+  <logger name="com.att.eelf.audit" level="info" additivity="false">
+    <appender-ref ref="asyncEELFAudit" />
+  </logger>
+  <logger name="com.att.eelf.metrics" level="info" additivity="false">
+    <appender-ref ref="asyncEELFMetrics" />
+  </logger>
+
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" />
+  <logger name="org.springframework.beans" level="WARN" />
+  <logger name="org.springframework.web" level="WARN" />
+  <logger name="com.blog.spring.jms" level="WARN" />
+
+  <logger name="com.att" level="INFO" />
+
+  <!-- Model Loader loggers -->
+  <logger name="org.openecomp.modelloader" level="INFO" />
+
+  <!-- Other Loggers that may help troubleshoot -->
+  <logger name="net.sf" level="WARN" />
+  <logger name="org.apache.commons.httpclient" level="WARN" />
+  <logger name="org.apache.commons" level="WARN" />
+  <logger name="org.apache.coyote" level="WARN" />
+  <logger name="org.apache.jasper" level="WARN" />
+
+  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+       May aid in troubleshooting) -->
+  <logger name="org.apache.camel" level="WARN" />
+  <logger name="org.apache.cxf" level="WARN" />
+  <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.service" level="WARN" />
+  <logger name="org.restlet" level="WARN" />
+  <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+  <!-- logback internals logging -->
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+
+  <root>
+  <appender-ref ref="asyncEELF" />
+  <!-- <appender-ref ref="asyncEELFDebug" /> -->
+</root>
+
 </configuration>
index 5604c1f..38c2548 100644 (file)
@@ -10,14 +10,21 @@ ml.distribution.PASSWORD=OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go
 ml.distribution.POLLING_INTERVAL=30
 ml.distribution.POLLING_TIMEOUT=20
 ml.distribution.USER=aai
-ml.distribution.ARTIFACT_TYPES=MODEL_INVENTORY_PROFILE,MODEL_QUERY_SPEC,VNF_CATALOG
+ml.distribution.ARTIFACT_TYPES=MODEL_QUERY_SPEC,TOSCA_CSAR
+ml.distribution.MSG_BUS_ADDRESSES=message-router.{{.Release.Namespace}}
 
 # Model Loader AAI REST Client Configuration
 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
+ml.aai.MODEL_URL=/aai/v*/service-design-and-creation/models/model/
+ml.aai.NAMED_QUERY_URL=/aai/v*/service-design-and-creation/named-queries/named-query/
+ml.aai.VNF_IMAGE_URL=/aai/v*/service-design-and-creation/vnf-images
 ml.aai.KEYSTORE_FILE=aai-os-cert.p12
 ml.aai.KEYSTORE_PASSWORD=OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
 ml.aai.AUTH_USER=ModelLoader
 ml.aai.AUTH_PASSWORD=OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw
+
+# Model Loader Babel REST Client Configuration\r
+ml.babel.BASE_URL=https://babel.{{.Release.Namespace}}:9516
+ml.babel.GENERATE_ARTIFACTS_URL=/services/babel-service/v1/app/generateArtifacts
+ml.babel.KEYSTORE_FILE=babel-client-cert.p12
+ml.babel.KEYSTORE_PASSWORD=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
index 38ebe76..4bfa67d 100644 (file)
@@ -50,9 +50,9 @@ spec:
           name: {{ include "common.fullname" . }}-prop-config
         - mountPath: /opt/app/model-loader/config/auth/
           name: {{ include "common.fullname" . }}-auth-config
-        - mountPath: /var/log/onap
+        - mountPath: /logs
           name: {{ include "common.fullname" . }}-logs
-        - mountPath: /opt/app/model-loader/bundleconfig/etc/logback.xml
+        - mountPath: /opt/app/model-loader/logback.xml
           name: {{ include "common.fullname" . }}-log-conf
           subPath: logback.xml
         ports:
@@ -67,11 +67,10 @@ spec:
         - mountPath: /usr/share/filebeat/filebeat.yml
           subPath: filebeat.yml
           name: filebeat-conf
-        - mountPath: /var/log/onap
+        - mountPath: /logs
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
           name: aai-filebeat
-
       volumes:
       - name: localtime
         hostPath:
index dd5c3ee..e3128b8 100644 (file)
@@ -26,7 +26,6 @@ query.smart-limit=false
 {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
 {{- $global := . }}
 
-# the following parameters are not reloaded automatically and require a manual bounce
 storage.backend=cassandra
 storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
 
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/aai.properties
deleted file mode 100644 (file)
index 813a263..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-################################################################################################################
-############################## ActiveInventoryDataCollector TLS/SSL configuration ##############################
-################################################################################################################
-
-############################## Networking ##############################
-#
-# The ip address/hostname and port to the desired AAI instance
-#
-aai.rest.host=aai.{{.Release.Namespace}}
-aai.rest.port=8443
-
-############################## REST ##############################
-# OXM version
-aai.rest.resourceBasePath=/aai/v9
-aai.rest.connectTimeoutInMs=30000
-aai.rest.readTimeoutInMs=60000
-aai.rest.numRequestRetries=5
-# HTTP_NOAUTH - straight HTTP no user/pass
-# SSL_BASIC   - HTTP/S with user/pass
-# SSL_CERT    - HTTP/S with client cert
-aai.rest.authenticationMode=SSL_BASIC
-
-############################## Cache ##############################
-# Experimental caching feature that is NOT production ready.
-# Enable at your own risk... it might not work.
-aai.rest.cache.enabled=false
-aai.rest.cache.numWorkers=10
-aai.rest.cache.cacheFailures=false
-aai.rest.cache.useCacheOnly=false
-aai.rest.cache.storageFolderOverride=
-aai.rest.cache.maxTimeToLiveInMs=-1
-
-# The shallowEntity filter will display the entity in a visualization
-# but will not collect it's relationships or complex attributes.
-aai.rest.shallowEntities=cloud-region,complex,vnf-image,att-aic,image
-
-############################## Certs, Auth, and SSL Settings ##############################
-aai.ssl.keystore.filename=aai-os-cert.p12
-aai.ssl.keystore.pass=OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
-aai.ssl.keystore.type=pkcs12
-# Enable debug on the SSL connections
-aai.ssl.enableDebug=false
-# Degree of strictness to SSL connection standards
-aai.ssl.validateServerHostName=false;
-aai.ssl.validateServerCertificateChain=false;
-# If basic auth is implemented, username and password as required
-aai.ssl.basicAuth.username=AaiUI
-aai.ssl.basicAuth.password=OBF:1gfr1p571unz1p4j1gg7
-
-############################## Statistics Report Formatting ##############################
-#
-# During synchronization, a formatted statisitics log is generated
-#
-# Response size in bytes histogram
-aai.taskProcessor.bytesHistogramLabel="[Response Size In Bytes]"
-aai.taskProcessor.bytesHistogramMaxYAxis=1000000
-aai.taskProcessor.bytesHistogramNumBins=20
-aai.taskProcessor.bytesHistogramNumDecimalPoints=2
-# "Work on Hand" statisitcs for external resource requests
-aai.taskProcessor.queueLengthHistogramLabel="[Queue Item Length]"
-aai.taskProcessor.queueLengthHistogramMaxYAxis=20000
-aai.taskProcessor.queueLengthHistogramNumBins=20
-aai.taskProcessor.queueLengthHistogramNumDecimalPoints=2
-# Time on queue (how long does a task stay on the work queue)
-aai.taskProcessor.taskAgeHistogramLabel="[Task Age In Ms]"
-aai.taskProcessor.taskAgeHistogramMaxYAxis=600000
-aai.taskProcessor.taskAgeHistogramNumBins=20
-aai.taskProcessor.taskAgeHistogramNumDecimalPoints=2
-# Per transaction response time for external resource requests
-aai.taskProcessor.responseTimeHistogramLabel="[Response Time In Ms]"
-aai.taskProcessor.responseTimeHistogramMaxYAxis=10000
-aai.taskProcessor.responseTimeHistogramNumBins=20
-aai.taskProcessor.responseTimeHistogramNumDecimalPoints=2
-# Transaction throughput velocity
-aai.taskProcessor.tpsHistogramLabel="[Transactions Per Second]"
-aai.taskProcessor.tpsHistogramMaxYAxis=100
-aai.taskProcessor.tpsHistogramNumBins=20
-aai.taskProcessor.tpsHistogramNumDecimalPoints=2
-
-############################## Deprecated, to be removed or updated ##############################
-aai.rest.numResolverWorkers=15
-aai.ssl.truststore.filename=asdc-client.jks
-aai.ssl.truststore.type=jks
-aai.taskProcessor.maxConcurrentWorkers=5
-aai.taskProcessor.transactionRateControllerEnabled=false
-aai.taskProcessor.numSamplesPerThreadForRunningAverage=100
-aai.taskProcessor.targetTPS=100
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/csp-cookie-filter.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/csp-cookie-filter.properties
new file mode 100644 (file)
index 0000000..2315b9f
--- /dev/null
@@ -0,0 +1,12 @@
+global.login.url=aaiportal.onap.org
+
+# MOTS ID of the application
+application.id=12345
+
+# valid domains for open redirect
+redirect-domain=domain.com
+
+# Required by esGateKeeper. Valid values are:
+# DEVL - used during development
+# PROD - used in production
+gatekeeper.environment=TEST
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore
deleted file mode 100644 (file)
index efa01f8..0000000
Binary files a/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/inventory-ui-keystore and /dev/null differ
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/tomcat_keystore
new file mode 100644 (file)
index 0000000..9eec841
Binary files /dev/null and b/kubernetes/aai/charts/aai-sparky-be/resources/config/auth/tomcat_keystore differ
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-filter-aggregation.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-filter-aggregation.xml
new file mode 100644 (file)
index 0000000..e4e02ba
--- /dev/null
@@ -0,0 +1,7 @@
+<rests xmlns="http://camel.apache.org/schema/spring">
+   <rest>
+      <post uri="/search/filterAggregation">
+         <to uri="bean:aggregateSummaryProcessor?method=getFilteredAggregation"/>
+      </post>
+   </rest>
+</rests>
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-prepareSchema.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-prepareSchema.xml
new file mode 100644 (file)
index 0000000..20dba6f
--- /dev/null
@@ -0,0 +1,11 @@
+<rests xmlns="http://camel.apache.org/schema/spring">
+       <rest>
+               <post uri="/visualization/prepareVisualization">
+                       <route>
+                               <to uri="bean:schemaVisualizationProcessor?method=processVisualizationRequest" />
+                       </route>
+               </post>
+       </rest>
+</rests>
+
+         
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-subscriptionService.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-subscriptionService.xml
new file mode 100644 (file)
index 0000000..f6a2953
--- /dev/null
@@ -0,0 +1,7 @@
+<rests xmlns="http://camel.apache.org/schema/spring">
+   <rest>
+      <get uri="/subscription/getsubscription">
+         <to uri="bean:subscriptionServiceProcessor?method=getSubscription"/>
+      </get>
+   </rest>
+</rests>
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unified-search.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unified-search.xml
new file mode 100644 (file)
index 0000000..61fd9ad
--- /dev/null
@@ -0,0 +1,7 @@
+<rests xmlns="http://camel.apache.org/schema/spring">
+   <rest>
+      <post uri="/search/querysearch">
+         <to uri="bean:unifiedSearchProcessor?method=search"/>
+      </post>
+   </rest>
+</rests>
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unifiedFilterRequest.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unifiedFilterRequest.xml
new file mode 100644 (file)
index 0000000..1b975e9
--- /dev/null
@@ -0,0 +1,7 @@
+<rests xmlns="http://camel.apache.org/schema/spring">
+   <rest>
+      <post uri="/search/unifiedFilterRequest">
+         <to uri="bean:filterProcessor?method=getFiltersWithValues"/>
+      </post>
+   </rest>
+</rests>
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json
new file mode 100644 (file)
index 0000000..e72bab0
--- /dev/null
@@ -0,0 +1,218 @@
+{
+       "generalNodeClass": {
+               "class": "aai-entity-node general-node",
+               "visualElements": [{
+                       "type": "circle",
+                       "class": "outer",
+                       "svgAttributes": {
+                               "r": "16"
+                       }
+               },
+               {
+                       "type": "circle",
+                       "class": "inner",
+                       "svgAttributes": {
+                               "r": "10"
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-type-label",
+                       "displayKey": "itemType",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "33"
+                               }
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-value-label",
+                       "displayKey": "itemNameValue",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "48"
+                               }
+                       }
+               }]
+       },
+       "searchedNodeClass": {
+               "class": "aai-entity-node search-node",
+               "visualElements": [{
+                       "type": "circle",
+                       "class": "outer",
+                       "svgAttributes": {
+                               "r": "16"
+                       }
+               },
+               {
+                       "type": "circle",
+                       "class": "inner",
+                       "svgAttributes": {
+                               "r": "10"
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-type-label",
+                       "displayKey": "itemType",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "33"
+                               }
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-value-label",
+                       "displayKey": "itemNameValue",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "48"
+                               }
+                       }
+               }]
+       },
+       "selectedSearchedNodeClass": {
+               "class": "aai-entity-node selected-search-node",
+               "visualElements": [{
+                       "type": "circle",
+                       "class": "outer",
+                       "svgAttributes": {
+                               "r": "31"
+                       }
+               },
+               {
+                       "type": "circle",
+                       "class": "inner",
+                       "svgAttributes": {
+                               "r": "20"
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-type-label",
+                       "displayKey": "itemType",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "48"
+                               }
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-value-label",
+                       "displayKey": "itemNameValue",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "63"
+                               }
+                       }
+               },
+               {
+                       "type": "button",
+                       "name": "icon_ellipses",
+                       "class": "node-button",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "33",
+                                       "y": "-35"
+                               }
+                       },
+                       "svgAttributes": {
+                               "className": "node-button",
+                               "r": "10"
+                       }
+               },
+               {
+                       "type": "button",
+                       "name": "icon_triangle_warning",
+                       "class": "node-button",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "46",
+                                       "y": "-12"
+                               }
+                       },
+                       "svgAttributes": {
+                               "className": "node-button",
+                               "r": "10"
+                       }
+               }]
+       },
+       "selectedNodeClass": {
+               "class": "aai-entity-node selected-node",
+               "visualElements": [{
+                       "type": "circle",
+                       "class": "outer",
+                       "svgAttributes": {
+                               "r": "31"
+                       }
+               },
+               {
+                       "type": "circle",
+                       "class": "inner",
+                       "svgAttributes": {
+                               "r": "20"
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-type-label",
+                       "displayKey": "itemType",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "48"
+                               }
+                       }
+               },
+               {
+                       "type": "text",
+                       "class": "id-value-label",
+                       "displayKey": "itemNameValue",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "0",
+                                       "y": "63"
+                               }
+                       }
+               },
+               {
+                       "type": "button",
+                       "name": "icon_ellipses",
+                       "class": "node-button",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "33",
+                                       "y": "-35"
+                               }
+                       },
+                       "svgAttributes": {
+                               "className": "node-button",
+                               "r": "10"
+                       }
+               },
+               {
+                       "type": "button",
+                       "name": "icon_triangle_warning",
+                       "class": "node-button",
+                       "shapeAttributes": {
+                               "offset": {
+                                       "x": "46",
+                                       "y": "-12"
+                               }
+                       },
+                       "svgAttributes": {
+                               "className": "node-button",
+                               "r": "10"
+                       }
+               }]
+       }
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/elasticsearch.properties
deleted file mode 100644 (file)
index 082744b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#######################################################################################
-############################## ElasticSearch Config ###################################
-#######################################################################################
-
-############################## Networking ##############################
-#
-# 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.{{.Release.Namespace}}
-elasticsearch.httpPort={{ .Values.config.elasticsearchHttpPort }}
-elasticsearch.javaApiPort=8443
-
-############################## Indexes ##############################
-#
-# Index names for various searches.
-#
-elasticsearch.indexName=entitysearchindex
-elasticsearch.topographicalIndexName=topographicalsearchindex
-elasticsearch.entityCountHistoryIndexName=entitycounthistoryindex
-elasticsearch.autosuggestIndexname=entityautosuggestindex
-
-# Default document type
-elasticsearch.type=default
-
-############################## Index Mappings and Settings ##############################
-#
-# JSON files for sparky elasticsearch indexes.
-#
-elasticsearch.mappingsFileName=/etc/es_mappings.json
-elasticsearch.settingsFileName=/etc/es_settings.json
-elasticsearch.autosuggestSettingsFileName=/etc/autoSuggestSettings.json
-elasticsearch.autosuggestMappingsFileName=/etc/autoSuggestMappings.json
-elasticsearch.dynamicMappingsFileName=/etc/dynamicMappings.json
-elasticsearch.entityCountHistoryMappingsFileName=/etc/entityCountHistoryMappings.json
-
-############################## Statistics Report Formatting ##############################
-#
-# During synchronization, a formatted statisitics log is generated.
-#
-# Response size in bytes histogram
-elasticsearch.taskProcessor.bytesHistogramLabel="[Response Size In Bytes]"
-elasticsearch.taskProcessor.bytesHistogramMaxYAxis=1000000
-elasticsearch.taskProcessor.bytesHistogramNumBins=20
-elasticsearch.taskProcessor.bytesHistogramNumDecimalPoints=2
-# "Work on Hand" statisitcs for external resource requests
-elasticsearch.taskProcessor.queueLengthHistogramLabel="[Queue Item Length]"
-elasticsearch.taskProcessor.queueLengthHistogramMaxYAxis=20000
-elasticsearch.taskProcessor.queueLengthHistogramNumBins=20
-elasticsearch.taskProcessor.queueLengthHistogramNumDecimalPoints=2
-# Time on queue (how long does a task stay on the work queue)
-elasticsearch.taskProcessor.taskAgeHistogramLabel="[Task Age In Ms]"
-elasticsearch.taskProcessor.taskAgeHistogramMaxYAxis=600000
-elasticsearch.taskProcessor.taskAgeHistogramNumBins=20
-elasticsearch.taskProcessor.taskAgeHistogramNumDecimalPoints=2
-# Per transaction response time for external resource requests
-elasticsearch.taskProcessor.responseTimeHistogramLabel="[Response Time In Ms]"
-elasticsearch.taskProcessor.responseTimeHistogramMaxYAxis=1000
-elasticsearch.taskProcessor.responseTimeHistogramNumBins=20
-elasticsearch.taskProcessor.responseTimeHistogramNumDecimalPoints=2
-# Transaction throughput velocity
-elasticsearch.taskProcessor.tpsHistogramLabel="[Transactions Per Second]"
-elasticsearch.taskProcessor.tpsHistogramMaxYAxis=100
-elasticsearch.taskProcessor.tpsHistogramNumBins=20
-elasticsearch.taskProcessor.tpsHistogramNumDecimalPoints=2
-
-############################## Deprecated, to be removed or updated ##############################
-elasticsearch.taskProcessor.maxConcurrentWorkers=5
-elasticsearch.taskProcessor.transactionRateControllerEnabled=false
-elasticsearch.taskProcessor.numSamplesPerThreadForRunningAverage=100
-elasticsearch.taskProcessor.targetTPS=100
-elasticsearch.clusterName=ES_AAI_LOCALHOST
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json
new file mode 100644 (file)
index 0000000..62b6811
--- /dev/null
@@ -0,0 +1,79 @@
+{
+       "filters": [
+       {
+               "filterId": "1",
+               "filterName": "Orchestration-Status",
+               "displayName": "Orchestration Status",
+               "dataType": "dropDown",
+        "multiSelect": "false",
+        "watermark": "Any Orchestration Status",
+        "optionsType": "options",
+               "dataSource": {
+                       "indexName": "aggregate_generic-vnf_index",
+                       "docType": "default",
+                       "fieldName": "orchestration-status"
+               }
+       },
+       {
+               "filterId": "2",
+               "filterName": "Prov-Status",
+               "displayName": "Provisioning Status",
+               "dataType": "dropDown",
+        "multiSelect": "false",
+        "watermark": "Any Provisioning Status",
+        "optionsType": "options",
+               "dataSource": {
+                       "indexName": "aggregate_generic-vnf_index",
+                       "docType": "default",
+                       "fieldName": "prov-status"
+               }
+       },
+       {
+               "filterId": "5",
+               "filterName": "Date",
+               "displayName": "Date",
+               "dataType": "date",
+        "multiSelect": "false",
+        "watermark": "Choose Date Range",
+        "defaultValue" : {"decode": "Today", "code": "last_0_hours"},
+        "optionsType": "dynamicOptions",
+        "optionsValues": [
+               {"decode": "Today", "code": "last_0_hours"},
+               {"decode": "Since Yesterday", "code": "last_1_days"},
+               {"decode": "Since Last Week", "code": "last_1_weeks"},
+               {"decode": "Since Last Month", "code": "last_1_months"},
+               {"decode": "Since Last Year", "code": "last_1_years"},
+               {"decode": "Custom Range", "code": "custom_range"}
+        ]
+       },
+    {
+        "filterId": "7",
+               "filterName": "NF-Type",
+               "displayName": "Network Function Type",
+               "dataType": "dropDown",
+        "multiSelect": "false",
+        "watermark": "Any Network Function Type",
+        "optionsType": "options",
+               "dataSource": {
+                       "indexName": "aggregate_generic-vnf_index",
+                       "docType": "default",
+                       "fieldName": "nf-type"
+               }    
+       },
+    {
+        "filterId": "8",
+               "filterName": "NF-Role",
+               "displayName": "Network Function Role",
+               "dataType": "dropDown",
+        "multiSelect": "false",
+        "watermark": "Any Network Function Role",
+        "optionsType": "options",
+               "dataSource": {
+                       "indexName": "aggregate_generic-vnf_index",
+                       "docType": "default",
+                       "fieldName": "nf-role"
+               }    
+       }       
+       
+  ]
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json
new file mode 100644 (file)
index 0000000..9ca0119
--- /dev/null
@@ -0,0 +1,21 @@
+{
+    "views": [
+    {
+        "viewName" : "vnfSearch",
+        "filters" : [
+          {
+             "filterId": "1"
+          },
+          {
+             "filterId": "2"
+          },
+          {
+             "filterId": "7"
+          },
+          {
+             "filterId": "8"
+          }
+         ]
+    }
+   ]
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json
new file mode 100644 (file)
index 0000000..ad2ab7a
--- /dev/null
@@ -0,0 +1,16 @@
+{
+    "target": "",
+    "origin": "",
+    "messageType": "",
+    "topic": "",
+    "message": {
+        "applicationName": "",
+        "payload": {
+            "action": "",
+            "params": {
+                "objectName": "",
+                "externalClassId": ""
+            }
+        }
+    }
+}
index c1b99c1..3f96497 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
 <configuration scan="true" scanPeriod="3 seconds" debug="false">
-   <!--<jmxConfigurator /> -->
-   <!-- directory path for all other type logs -->
-   <property name="logDir" value="/var/log/onap" />
-   <property name="componentName" value="AAI-UI" />
-   <property name="logDirectory" value="${logDir}/${componentName}" />
-   <!--  default eelf log file names -->
-   <property name="generalLogName" value="application" />
-   <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" />
-   <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&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" />
-
-   <!-- Example evaluator filter applied against console appender -->
-   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-      <encoder>
-         <pattern>${pattern}</pattern>
-      </encoder>
-   </appender>
-   <!-- ============================================================================ -->
-   <!-- EELF Appenders -->
-   <!-- ============================================================================ -->
-   <!-- The EELFAppender is used to record events to the general application 
-       log -->
-   <appender name="EELF" class="ch.qos.logback.core.rolling.RollingFileAppender">
-      <file>${logDirectory}/${generalLogName}.log</file>
-      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-         <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-            <maxFileSize>${maxFileSize}</maxFileSize>
-         </timeBasedFileNamingAndTriggeringPolicy>
-         <maxHistory>${maxHistory}</maxHistory>
-         <totalSizeCap>${totalSizeCap}</totalSizeCap>
-      </rollingPolicy>
-      <encoder>
-         <pattern>${pattern}</pattern>
-      </encoder>
-   </appender>
-   <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
-      <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
-      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-         <level>INFO</level>
-      </filter>
-      <queueSize>${queueSize}</queueSize>
-      <appender-ref ref="EELF" />
-   </appender>
-   <!-- EELF Audit Appender. This appender is used to record audit engine 
-       related logging events. The audit logger and appender are specializations 
-       of the EELF application root logger and appender. This can be used to segregate 
-       Policy engine events from other components, or it can be eliminated to record 
-       these events as part of the application root log. -->
-   <appender name="EELFAudit" class="ch.qos.logback.core.rolling.RollingFileAppender">
-      <file>${logDirectory}/${auditLogName}.log</file>
-      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-         <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-            <maxFileSize>${maxFileSize}</maxFileSize>
-         </timeBasedFileNamingAndTriggeringPolicy>
-         <maxHistory>${maxHistory}</maxHistory>
-         <totalSizeCap>${totalSizeCap}</totalSizeCap>
-      </rollingPolicy>
-      <encoder>
-         <pattern>${pattern}</pattern>
-      </encoder>
-   </appender>
-   <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-      <queueSize>${queueSize}</queueSize>
-      <appender-ref ref="EELFAudit" />
-   </appender>
-   <appender name="EELFMetrics" class="ch.qos.logback.core.rolling.RollingFileAppender">
-      <file>${logDirectory}/${metricsLogName}.log</file>
-      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-         <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-            <maxFileSize>${maxFileSize}</maxFileSize>
-         </timeBasedFileNamingAndTriggeringPolicy>
-         <maxHistory>${maxHistory}</maxHistory>
-         <totalSizeCap>${totalSizeCap}</totalSizeCap>
-      </rollingPolicy>
-      <encoder>
-         <pattern>${pattern}</pattern>
-      </encoder>
-   </appender>
-   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-      <queueSize>${queueSize}</queueSize>
-      <appender-ref ref="EELFMetrics" />
-   </appender>
-   
-      <appender name="EELFError" class="ch.qos.logback.core.rolling.RollingFileAppender">
-      <file>${logDirectory}/${errorLogName}.log</file>
-      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-         <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-            <maxFileSize>${maxFileSize}</maxFileSize>
-         </timeBasedFileNamingAndTriggeringPolicy>
-         <maxHistory>${maxHistory}</maxHistory>
-         <totalSizeCap>${totalSizeCap}</totalSizeCap>
-      </rollingPolicy>
-      <encoder>
-         <pattern>${pattern}</pattern>
-      </encoder>
-      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-         <level>INFO</level>
-      </filter>
-   </appender>
-   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
-      <queueSize>${queueSize}</queueSize>
-      <appender-ref ref="EELFError" />
-   </appender>
-   
-   <appender name="EELFDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-      <file>${logDirectory}/${debugLogName}.log</file>
-      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-         <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-         <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-            <maxFileSize>${maxFileSize}</maxFileSize>
-         </timeBasedFileNamingAndTriggeringPolicy>
-         <maxHistory>${maxHistory}</maxHistory>
-         <totalSizeCap>${totalSizeCap}</totalSizeCap>
-      </rollingPolicy>
-      <encoder>
-         <pattern>${pattern}</pattern>
-      </encoder>
-   </appender>
-   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-      <queueSize>${queueSize}</queueSize>
-      <appender-ref ref="EELFDebug" />
-      <includeCallerData>false</includeCallerData>
-   </appender>
-   <!-- ============================================================================ -->
-   <!--  EELF loggers -->
-   <!-- ============================================================================ -->
-   <logger name="com.att.eelf" level="INFO" additivity="false" />
-   <logger name="org.elasticsearch.plugins" level="WARN" />
-   <logger name="com.att.eelf.debug" level="debug" additivity="false">
-      <appender-ref ref="asyncEELFDebug" />
-   </logger>
-   <logger name="com.att.eelf.audit" level="info" additivity="false">
-      <appender-ref ref="asyncEELFAudit" />
-   </logger>
-   <logger name="com.att.eelf.metrics" level="info" additivity="false">
-      <appender-ref ref="asyncEELFMetrics" />
-   </logger>
-   <logger name="com.att.eelf.error" level="info" additivity="false">
-      <appender-ref ref="asyncEELFError" />
-   </logger>
-   <!-- Spring related loggers -->
-   <logger name="org.springframework" level="WARN" />
-   <logger name="org.springframework.beans" level="WARN" />
-   <logger name="org.springframework.web" level="WARN" />
-   <logger name="com.blog.spring.jms" level="WARN" />
-   <!-- AJSC Services (bootstrap services) -->
-   <logger name="ajsc" level="WARN" />
-   <logger name="ajsc.RouteMgmtService" level="WARN" />
-   <logger name="ajsc.ComputeService" level="WARN" />
-   <logger name="ajsc.VandelayService" level="WARN" />
-   <logger name="ajsc.FilePersistenceService" level="WARN" />
-   <logger name="ajsc.UserDefinedJarService" level="WARN" />
-   <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
-   <logger name="ajsc.LoggingConfigurationService" level="WARN" />
-   <logger name="ajsc.ErrorMessageLookupService" level="WARN" />
-   <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
-            logging) -->
-   <logger name="ajsc.utils" level="WARN" />
-   <logger name="ajsc.utils.DME2Helper" level="WARN" />
-   <logger name="ajsc.filters" level="WARN" />
-   <logger name="ajsc.beans.interceptors" level="WARN" />
-   <logger name="ajsc.restlet" level="WARN" />
-   <logger name="ajsc.servlet" level="WARN" />
-   <logger name="com.att" level="WARN" />
-   <logger name="com.att.ajsc.csi.logging" level="WARN" />
-   <logger name="com.att.ajsc.filemonitor" level="WARN" />
-   <!-- Other Loggers that may help troubleshoot -->
-   <logger name="net.sf" level="WARN" />
-   <logger name="org.apache.commons.httpclient" level="WARN" />
-   <logger name="org.apache.commons" level="WARN" />
-   <logger name="org.apache.coyote" level="WARN" />
-   <logger name="org.apache.jasper" level="WARN" />
-   <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
-            May aid in troubleshooting) -->
-   <logger name="org.apache.camel" level="WARN" />
-   <logger name="org.apache.cxf" level="WARN" />
-   <logger name="org.apache.camel.processor.interceptor" level="WARN" />
-   <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
-   <logger name="org.apache.cxf.service" level="WARN" />
-   <logger name="org.restlet" level="WARN" />
-   <logger name="org.apache.camel.component.restlet" level="WARN" />
-   <!-- logback internals logging -->
-   <logger name="ch.qos.logback.classic" level="INFO" />
-   <logger name="ch.qos.logback.core" level="INFO" />
-   <root level="INFO">
-      <appender-ref ref="asyncEELFDebug" />
-   </root>
-</configuration>
\ No newline at end of file
+       <!--<jmxConfigurator /> -->
+       <!-- directory path for all other type logs -->
+
+       <property name="logDir" value="/var/log/onap" />
+
+       <!-- <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" 
+               | "SDNC" | "AC" -->
+       <property name="componentName" value="AAI-UI"></property>
+
+       <!-- default eelf log file names -->
+       <property name="generalLogName" value="error" />
+       <property name="metricsLogName" value="metrics" />
+       <property name="auditLogName" value="audit" />
+       <property name="debugLogName" value="debug" />
+
+       <property name="errorLogPattern"
+               value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|AAIUI|%mdc{PartnerName}|%logger|%.-5level|%msg%n" />
+       <property name="auditMetricPattern" value="%m%n" />
+
+       <property name="logDirectory" value="${logDir}/${componentName}" />
+
+
+       <!-- Example evaluator filter applied against console appender -->
+       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+               <encoder>
+                       <pattern>${errorLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <!-- ============================================================================ -->
+       <!-- EELF Appenders -->
+       <!-- ============================================================================ -->
+
+       <!-- The EELFAppender is used to record events to the general application 
+               log -->
+
+       <appender name="EELF"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/${generalLogName}.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>${errorLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+               <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>INFO</level>
+               </filter>
+               <queueSize>256</queueSize>
+               <appender-ref ref="EELF" />
+       </appender>
+
+
+       <!-- EELF Audit Appender. This appender is used to record audit engine related 
+               logging events. The audit logger and appender are specializations of the 
+               EELF application root logger and appender. This can be used to segregate 
+               Policy engine events from other components, or it can be eliminated to record 
+               these events as part of the application root log. -->
+
+       <appender name="EELFAudit"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/${auditLogName}.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>${auditMetricPattern}</pattern>
+               </encoder>
+       </appender>
+       <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="EELFAudit" />
+       </appender>
+
+       <appender name="EELFMetrics"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/${metricsLogName}.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
+                       <pattern>${auditMetricPattern}</pattern>
+               </encoder>
+       </appender>
+
+
+       <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="EELFMetrics" />
+       </appender>
+
+       <appender name="EELFDebug"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/${debugLogName}.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+                       <maxHistory>60</maxHistory>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>${errorLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="EELFDebug" />
+               <includeCallerData>false</includeCallerData>
+       </appender>
+
+       <!-- ============================================================================ -->
+       <!-- EELF loggers -->
+       <!-- ============================================================================ -->
+       <logger name="com.att.eelf" level="info" additivity="false">
+               <appender-ref ref="asyncEELF" />
+               <appender-ref ref="asyncEELFDebug" />
+       </logger>
+
+       <logger name="com.att.eelf.audit" level="info" additivity="false">
+               <appender-ref ref="asyncEELFAudit" />
+       </logger>
+       <logger name="com.att.eelf.metrics" level="info" additivity="false">
+               <appender-ref ref="asyncEELFMetrics" />
+       </logger>
+
+       <!-- Spring related loggers -->
+       <logger name="org.springframework" level="WARN" />
+       <logger name="org.springframework.beans" level="WARN" />
+       <logger name="org.springframework.web" level="WARN" />
+       <logger name="com.blog.spring.jms" level="WARN" />
+
+       <!-- Sparky loggers -->
+       <logger name="org.onap" level="INFO" />
+
+       <!-- Other Loggers that may help troubleshoot -->
+       <logger name="net.sf" level="WARN" />
+       <logger name="org.apache.commons.httpclient" level="WARN" />
+       <logger name="org.apache.commons" level="WARN" />
+       <logger name="org.apache.coyote" level="WARN" />
+       <logger name="org.apache.jasper" level="WARN" />
+
+       <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
+               May aid in troubleshooting) -->
+       <logger name="org.apache.camel" level="WARN" />
+       <logger name="org.apache.cxf" level="WARN" />
+       <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.service" level="WARN" />
+       <logger name="org.restlet" level="WARN" />
+       <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+       <!-- logback internals logging -->
+       <logger name="ch.qos.logback.classic" level="WARN" />
+       <logger name="ch.qos.logback.core" level="WARN" />
+
+       <root>
+               <appender-ref ref="asyncEELF" />
+               <!-- <appender-ref ref="asyncEELFDebug" /> -->
+       </root>
+
+</configuration>
@@ -1,16 +1,16 @@
-######################################################################################
-############################## eCOMP Portal properties ###############################
-######################################################################################
+################################################################################
+############################## Portal properties ###############################
+################################################################################
 
 # Java class that implements the ECOMP role and user mgt API
-portal.api.impl.class = org.openecomp.sparky.security.portal.PortalRestAPIServiceImpl
+portal.api.impl.class = org.onap.aai.sparky.security.portal.PortalRestAPIServiceImpl
 
 # 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.{{.Release.Namespace}}:8989/ONAPPORTAL/auxapi
+ecomp_rest_url = http://portal-app.{{.Release.Namespace}}:8989/ONAPPORTAL/auxapi
 
 # Standard global logon page
-ecomp_redirect_url = http://portalapps.{{.Release.Namespace}}:8989/ONAPPORTAL/login.htm
+ecomp_redirect_url = http://portal-app.{{.Release.Namespace}}:8989/ONAPPORTAL/login.htm
 
 # Name of cookie to extract on login request
 csp_cookie_name = EPService
@@ -20,4 +20,4 @@ csp_gate_keeper_prod_key = PROD
 # Toggles use of UEB
 ueb_listeners_enable = false
 # IDs application withing UEB flow
-ueb_app_key = qFKles9N8gDTV0Zc 
+ueb_app_key = qFKles9N8gDTV0Zc
index 0873fc1..a0e3308 100644 (file)
@@ -1,14 +1,14 @@
-##########################################################################################
-############################## eCOMP Portal Auth Properties ##############################
-##########################################################################################
-
-############################## Auth ##############################
-username=aaiui
-password=1t2v1vfv1unz1vgz1t3b
-
-##############################  ##############################
-#
-# ONAP Cookie Processing - During initial development, this flag, if true, will
-# prevent the portal interface's login processing from searching for a user
-# specific cookie, and will instead allow passage if a valid session cookie is discovered.
-onap_enabled=true
\ No newline at end of file
+#####################################################################################\r
+##############################  Portal Auth Properties ##############################\r
+#####################################################################################\r
+\r
+############################## Auth ##############################\r
+username={{.Values.config.portalUsername}}\r
+password={{.Values.config.portalPassword}}\r
+\r
+##############################  ##############################\r
+#\r
+# ONAP Cookie Processing - During initial development, this flag, if true, will\r
+# prevent the portal interface's login processing from searching for a user\r
+# specific cookie, and will instead allow passage if a valid session cookie is discovered.\r
+onap_enabled={{.Values.config.portalOnapEnabled}}\r
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/roles.config b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/roles.config
new file mode 100644 (file)
index 0000000..b8313bd
--- /dev/null
@@ -0,0 +1,6 @@
+[
+  {
+    "id":1,
+    "name":"View"
+  }
+]
\ No newline at end of file
index b8313bd..4d5d43e 100644 (file)
@@ -1,6 +1,6 @@
-[
-  {
-    "id":1,
-    "name":"View"
-  }
+[\r
+  {\r
+    "id":1,\r
+    "name":"View"\r
+  }\r
 ]
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json
new file mode 100644 (file)
index 0000000..7857617
--- /dev/null
@@ -0,0 +1,10 @@
+{
+       "properties" : {
+               "entity_suggest" : {
+               "type" : "completion",
+                     "payloads" : true,
+                         "analyzer" : "custom_analyzer",
+                         "preserve_position_increments": false
+               }
+       }
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json
new file mode 100644 (file)
index 0000000..4525be1
--- /dev/null
@@ -0,0 +1,21 @@
+{
+        "analysis": {
+               "filter": {
+                "eng_stop": {
+                    "type":       "stop",
+                    "stopwords": "_english_"
+                }
+            },
+               "analyzer": {
+                   "custom_analyzer": {
+                       "type": "custom",
+                       "tokenizer": "standard",
+                       "filter": [
+                               "lowercase",
+                           "asciifolding",
+                           "eng_stop"
+                       ]
+                   }
+               }
+       }
+   }
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json
new file mode 100644 (file)
index 0000000..09a00ac
--- /dev/null
@@ -0,0 +1,14 @@
+{
+  "dynamic_templates": [
+       {
+         "strings": {
+               "match_mapping_type": "string",
+               "match": "*",
+               "mapping": {
+                 "type": "string",
+                 "index": "not_analyzed"
+               }
+         }
+       }
+  ]
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json
new file mode 100644 (file)
index 0000000..84e3aec
--- /dev/null
@@ -0,0 +1,16 @@
+{
+    "properties": {
+        "count": {
+           "type": "long"
+        },
+        "entityType": {
+            "type": "string",
+            "index": "not_analyzed"
+        },
+        "timestamp": {
+            "type": "date",
+            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+        }
+    }
+}
+
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json
new file mode 100644 (file)
index 0000000..216e3d9
--- /dev/null
@@ -0,0 +1,32 @@
+{
+    "properties": {
+        "entityType": {
+            "type": "string",
+            "analyzer": "ngram_analyzer",
+            "search_analyzer": "ngram_analyzer"
+        },
+        "entityPrimaryKeyValue": {
+            "type": "string",
+            "index": "not_analyzed"
+        },
+        "searchTagIDs": {
+            "type": "string"
+        },
+        "searchTags": {
+            "type": "string",
+            "analyzer": "ngram_analyzer"
+        },
+        "crossEntityReferenceValues": {
+            "type": "string",
+            "analyzer": "ngram_analyzer"
+        },
+        "link": {
+            "type": "string",
+            "index": "not_analyzed"
+       },
+        "lastmodTimestamp": {
+            "type": "date",
+            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||yyyy-MM-dd HH:mm:ss||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+        }
+    }
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json
new file mode 100644 (file)
index 0000000..21a357c
--- /dev/null
@@ -0,0 +1,36 @@
+{
+    "analysis": {
+        "filter": {
+            "ngram_filter": {
+                "type": "nGram",
+                "min_gram": 1,
+                "max_gram": 50,
+                "token_chars": [
+                    "letter",
+                    "digit",
+                    "punctuation",
+                    "symbol"
+                ]
+            }
+        },
+        "analyzer": {
+            "ngram_analyzer": {
+                "type": "custom",
+                "tokenizer": "whitespace",
+                "filter": [
+                    "lowercase",
+                    "asciifolding",
+                    "ngram_filter"
+                ]
+            },
+            "whitespace_analyzer": {
+                "type": "custom",
+                "tokenizer": "whitespace",
+                "filter": [
+                    "lowercase",
+                    "asciifolding"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/search-service.properties
deleted file mode 100644 (file)
index f280473..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-########################################################################################
-############################## Search Data Service Config ##############################
-########################################################################################
-
-############################## Networking ##############################
-#
-# The ip address/hostname and port to the desired Search Data Service instance
-#
-search-service.ipAddress=aai-search-data.{{.Release.Namespace}}
-search-service.httpPort=9509
-
-############################## Indexes ##############################
-#
-# Index values that will be associated with searches
-#
-# Searchable entities
-search-service.indexName=entitysearchindex
-# Inventory searches
-search-service.topographicalIndexName=topographicalsearchindex
-search-service.entityCountHistoryIndexName=entitycounthistoryindex
-
-############################## Version ##############################
-#
-# Search Data Service version and type (see Search Data Service for more details)
-#
-search-service.version=v1
-search-service.type=default
-
-############################## Certs ##############################
-search-service.ssl.cert-name=client-cert-onap.p12
-search-service.ssl.keystore-password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
-search-service.ssl.keystore=tomcat_keystore
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-application.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-application.properties
new file mode 100644 (file)
index 0000000..b246676
--- /dev/null
@@ -0,0 +1,11 @@
+camel.springboot.name = SparkyCamelContext
+#camel.springboot.xmlRoutes = file:${CONFIG_HOME}/camel-routes/*.route
+camel.springboot.xmlRests = file:${CONFIG_HOME}/camel-rests/*.xml
+
+camel.component.servlet.mapping.context-path=/rest/*
+server.servlet.context-path=/services/aai/webapp/
+
+#
+#  attempt to externalize ui JS classes + resources
+#
+spring.resources.static-locations=file:${APP_HOME}/static/
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-http-config.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-http-config.properties
new file mode 100644 (file)
index 0000000..f81a597
--- /dev/null
@@ -0,0 +1 @@
+server.port = 9517
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-ssl-config.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-ssl-config.properties
new file mode 100644 (file)
index 0000000..b9e5d16
--- /dev/null
@@ -0,0 +1,3 @@
+server.port = 8000
+server.ssl.key-store=file:${CONFIG_HOME}/auth/tomcat_keystore
+server.ssl.key-alias=tomcat
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml
new file mode 100644 (file)
index 0000000..694ea1b
--- /dev/null
@@ -0,0 +1,33 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="
+         http://www.springframework.org/schema/beans
+         http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+         <bean id="aggregateVnfSearchProvider"
+            class="org.onap.aai.sparky.aggregatevnf.search.AggregateVnfSearchProvider">
+            <constructor-arg ref="searchServiceAdapter"/>
+            <constructor-arg name="autoSuggestIndexName" value="entityautosuggestindex"/>
+            <constructor-arg name="vnfSearchSuggestionRoute" value="vnfSearch"/>
+          </bean>
+
+          <bean id="aggregateSummaryProcessor"
+            class="org.onap.aai.sparky.aggregatevnf.search.AggregateSummaryProcessor">
+            <constructor-arg ref="elasticSearchAdapter"/>
+            <constructor-arg ref="filtersConfig"/>
+            <property name="vnfAggregationIndexName" value="aggregate_generic-vnf_index"/>
+          </bean>
+
+          <bean id="registerAggregateVnfSearchProvider"
+            class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+            <property name="targetObject" ref="searchProviderRegistry"/>
+            <property name="targetMethod">
+              <value>addSearchProviders</value>
+            </property>
+            <property name="arguments">
+              <list value-type="org.onap.aai.sparky.search.api.SearchProvider">
+                <ref bean="aggregateVnfSearchProvider"/>
+              </list>
+            </property>
+          </bean>
+</beans>
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml
new file mode 100644 (file)
index 0000000..8b5f277
--- /dev/null
@@ -0,0 +1,31 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+              http://www.springframework.org/schema/beans
+              http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+       <bean id="synapseRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+               <property name="endpointIpAddress" value="aai.synapse.simpledemo.openecomp.org" />
+               <property name="endpointServerPort" value="9502" />
+               <property name="numRequestRetries" value="5" />
+               <property name="restAuthenticationMode" value="SSL_CERT" />
+               <property name="connectTimeoutInMs" value="60000" />
+               <property name="readTimeoutInMs" value="30000" />
+               <property name="certFileName" value="/auth/client-cert-onap.p12" />
+               <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" />
+               <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
+               <property name="validateServerCertChain" value="false" />
+               <property name="validateServerHostname" value="false" />
+               <property name="resourceLoader" ref="sparkyResourceLoader" />
+               
+       </bean>
+
+       <bean id="aaiuiProxyProcessor"
+               class="org.onap.aai.sparky.dal.proxy.processor.AaiUiProxyProcessor">
+               <constructor-arg ref="synapseRestEndpointConfig" />
+               <constructor-arg name="apiGatewayEndpoint" value="ui-request" />
+       </bean>
+
+</beans>
+
+
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml
new file mode 100644 (file)
index 0000000..dedd7e2
--- /dev/null
@@ -0,0 +1,29 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+              http://www.springframework.org/schema/beans
+              http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+       <bean id="gizmoRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+               <property name="endpointIpAddress" value="{{.Values.global.gizmo.serviceName}}.{{.Release.Namespace}}" />
+               <property name="endpointServerPort" value="9520" />
+               <property name="numRequestRetries" value="5" />
+               <property name="restAuthenticationMode" value="SSL_CERT" />
+               <property name="connectTimeoutInMs" value="60000" />
+               <property name="readTimeoutInMs" value="30000" />
+               <property name="certFileName" value="/auth/client-cert-onap.p12" />
+               <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" />
+               <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
+               <property name="validateServerCertChain" value="false" />
+               <property name="validateServerHostname" value="false" />
+               <property name="resourceLoader" ref="sparkyResourceLoader" />
+       </bean>
+
+       <bean id="gizmoAdapter" class="org.onap.aai.sparky.dal.GizmoAdapter">
+               <constructor-arg ref="oxmModelLoader" />
+               <constructor-arg ref="gizmoRestEndpointConfig" />
+               <property name="relationshipsBasePath" value="/services/inventory/relationships/v13/" />
+               <property name="inventoryBasePath" value="/services/inventory/v13/" />
+       </bean>
+
+</beans>               
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml
new file mode 100644 (file)
index 0000000..0763f94
--- /dev/null
@@ -0,0 +1,373 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+              http://www.springframework.org/schema/beans
+              http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+       <bean id="elasticSearchSchemaFactory" class="org.onap.aai.sparky.sync.ElasticSearchSchemaFactory">
+               <property name="resourceLoader" ref="sparkyResourceLoader" />
+       </bean> 
+
+
+    <bean id="elasticSearchRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+       <property name="endpointIpAddress" value="{{.Values.global.aaiElasticsearch.serviceName}}.{{.Release.Namespace}}" />
+       <property name="endpointServerPort" value="9200" />
+       <property name="numRequestRetries" value="5" />
+       <property name="restAuthenticationMode" value="HTTP_NOAUTH" />
+       <property name="connectTimeoutInMs" value="60000" />
+       <property name="readTimeoutInMs" value="30000" />
+    </bean>
+              
+       <bean id="elasticSearchAdapter" class="org.onap.aai.sparky.dal.ElasticSearchAdapter">
+               <constructor-arg ref="elasticSearchRestEndpointConfig" />
+       </bean>
+
+       <bean id="elasticSearchNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig">
+               <property name="numSamplesPerThreadForRunningAverage" value="100" />
+               <property name="bytesHistogramLabel" value="[Response Size In Bytes]" />
+               <property name="bytesHistogramMaxYAxis" value="1000000" />
+               <property name="bytesHistogramNumBins" value="20" />
+               <property name="bytesHistogramNumDecimalPoints" value="2" />
+               <property name="queueLengthHistogramLabel" value="[Queue Item Length]" />
+               <property name="queueLengthHistogramMaxYAxis" value="20000" />
+               <property name="queueLengthHistogramNumBins" value="20" />
+               <property name="queueLengthHistogramNumDecimalPoints" value="2" />
+               <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" />
+               <property name="taskAgeHistogramMaxYAxis" value="600000" />
+               <property name="taskAgeHistogramNumBins" value="20" />
+               <property name="taskAgeHistogramNumDecimalPoints" value="2" />
+               <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" />
+               <property name="responseTimeHistogramMaxYAxis" value="1000" />
+               <property name="responseTimeHistogramNumBins" value="20" />
+               <property name="responseTimeHistogramNumDecimalPoints" value="2" />
+               <property name="tpsHistogramLabel" value="[Transactions Per Second]" />
+               <property name="tpsHistogramMaxYAxis" value="100" />
+               <property name="tpsHistogramNumBins" value="20" />
+               <property name="tpsHistogramNumDecimalPoints" value="2" />
+       </bean>
+
+       <bean id="aaiNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig">
+               <property name="numSamplesPerThreadForRunningAverage" value="100" />
+               <property name="bytesHistogramLabel" value="[Response Size In Bytes]" />
+               <property name="bytesHistogramMaxYAxis" value="1000000" />
+               <property name="bytesHistogramNumBins" value="20" />
+               <property name="bytesHistogramNumDecimalPoints" value="2" />
+               <property name="queueLengthHistogramLabel" value="[Queue Item Length]" />
+               <property name="queueLengthHistogramMaxYAxis" value="20000" />
+               <property name="queueLengthHistogramNumBins" value="20" />
+               <property name="queueLengthHistogramNumDecimalPoints" value="2" />
+               <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" />
+               <property name="taskAgeHistogramMaxYAxis" value="600000" />
+               <property name="taskAgeHistogramNumBins" value="20" />
+               <property name="taskAgeHistogramNumDecimalPoints" value="2" />
+               <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" />
+               <property name="responseTimeHistogramMaxYAxis" value="10000" />
+               <property name="responseTimeHistogramNumBins" value="20" />
+               <property name="responseTimeHistogramNumDecimalPoints" value="2" />
+               <property name="tpsHistogramLabel" value="[Transactions Per Second]" />
+               <property name="tpsHistogramMaxYAxis" value="100" />
+               <property name="tpsHistogramNumBins" value="20" />
+               <property name="tpsHistogramNumDecimalPoints" value="2" />
+       </bean>
+
+    <bean id="aaiRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+       <property name="endpointIpAddress" value="{{.Values.global.aai.serviceName}}" />
+       <property name="endpointServerPort" value="8443" />
+       <property name="numRequestRetries" value="5" />
+       <property name="restAuthenticationMode" value="SSL_BASIC" />
+       <property name="connectTimeoutInMs" value="60000" />
+       <property name="readTimeoutInMs" value="30000" />
+       <property name="basicAuthUserName" value="AaiUI" />
+       <property name="basicAuthPassword" value="OBF:1gfr1p571unz1p4j1gg7" />
+       <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
+       <property name="validateServerCertChain" value="false" />
+       <property name="validateServerHostname" value="false" />
+       <property name="resourceLoader" ref="sparkyResourceLoader" />
+    </bean>
+
+       <bean id="activeInventoryAdapter" class="org.onap.aai.sparky.dal.ActiveInventoryAdapter">
+               <constructor-arg ref="oxmModelLoader" />
+               <constructor-arg ref="oxmEntityLookup" />
+               <constructor-arg ref="aaiRestEndpointConfig" />
+       </bean>
+
+       <bean id="syncControllerRegistry" class="org.onap.aai.sparky.sync.SyncControllerRegistry" />
+
+       <bean id="elasticSearchEndpointConfig"
+               class="org.onap.aai.sparky.sync.config.ElasticSearchEndpointConfig">
+               <property name="esIpAddress" value="{{.Values.global.aaiElasticsearch.serviceName}}.{{.Release.Namespace}}" />
+               <property name="esServerPort" value="9200" />
+               <property name="scrollContextTimeToLiveInMinutes" value="5" />
+               <property name="scrollContextBatchRequestSize" value="5000" />
+       </bean>
+       
+       <bean id="aggregationSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+               <property name="controllerName" value="Aggregation-Sync-Controller" />
+               <property name="enabled" value="true" />
+               <property name="syncTaskDelayInMs" value="5000" />
+               <property name="syncTaskFrequencyInDays" value="1" />
+               <property name="numSyncControllerWorkers" value="2" />
+               <property name="runOnceSyncEnabled" value="true" />
+               <property name="periodicSyncEnabled" value="false" />
+               <property name="numInternalSyncWorkers" value="2" />
+               <property name="numSyncElasticWorkers" value="5" />
+               <property name="numSyncActiveInventoryWorkers" value="5" />
+               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
+       </bean>
+
+       <bean id="aggregationSyncControllerFactory"
+               class="org.onap.aai.sparky.aggregation.sync.AggregationSyncControllerFactory"
+               init-method="registerController">
+
+               <constructor-arg ref="elasticSearchEndpointConfig" />
+               <constructor-arg ref="aggregationSyncControllerConfig" />
+               <constructor-arg ref="syncControllerRegistry" />
+               <constructor-arg ref="suggestionEntityLookup" />
+               <constructor-arg ref="oxmEntityLookup" />
+               <constructor-arg ref="elasticSearchSchemaFactory" />
+
+               <property name="esAdapter" ref="elasticSearchAdapter" />
+               <property name="esStatConfig" ref="elasticSearchNetworkStatConfig" />
+
+               <property name="aaiAdapter" ref="activeInventoryAdapter" />
+               <property name="aaiStatConfig" ref="aaiNetworkStatConfig" />
+
+               <property name="aggregationEntityToIndexMap">
+                       <map>
+                               <entry key="generic-vnf" value="aggregate_generic-vnf_index" />
+                       </map>
+               </property>
+
+               <property name="indexNameToSchemaConfigMap">
+                       <map>
+                               <entry key="aggregate_generic-vnf_index">
+                                       <bean class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+                                               <property name="indexName" value="aggregate_generic-vnf_index" />
+                                               <property name="indexDocType" value="default" />
+                                               <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" />
+                                       </bean>
+                               </entry>
+                       </map>
+               </property>
+
+       </bean>
+
+
+       <bean id="historicalEntitySyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+               <property name="controllerName" value="Historical-Entity-Sync-Controller" />
+               <property name="enabled" value="true" />
+               <property name="syncTaskDelayInMs" value="5000" />
+               <property name="syncTaskFrequencyInDays" value="1" />
+               <property name="numSyncControllerWorkers" value="2" />
+               <property name="runOnceSyncEnabled" value="true" />
+               <property name="periodicSyncEnabled" value="false" />
+               <property name="numInternalSyncWorkers" value="2" />
+               <property name="numSyncElasticWorkers" value="5" />
+               <property name="numSyncActiveInventoryWorkers" value="5" />
+               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
+       </bean>
+
+       <bean id="historicalEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+               <property name="indexName" value="entitycounthistoryindex" />
+               <property name="indexDocType" value="default" />
+               <property name="indexMappingsFileName" value="/schemas/entityCountHistoryMappings.json" />
+               <property name="indexSettingsFileName" value="/schemas/es_settings.json" />
+       </bean>
+
+       <bean id="historicalEntitySyncController"
+               class="org.onap.aai.sparky.aggregation.sync.HistoricalEntitySyncController"
+               init-method="registerController">
+
+               <constructor-arg ref="historicalEntitySyncControllerConfig" />
+               <constructor-arg ref="activeInventoryAdapter" />
+               <constructor-arg ref="elasticSearchAdapter" />
+               <constructor-arg ref="historicalEntitySchemaConfig" />
+               <constructor-arg ref="elasticSearchEndpointConfig" />
+               <constructor-arg value="60" />
+               <constructor-arg ref="aaiNetworkStatConfig" />
+               <constructor-arg ref="elasticSearchNetworkStatConfig" />
+               <constructor-arg ref="searchableEntityLookup" />
+               <constructor-arg ref="elasticSearchSchemaFactory" />
+
+               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+       </bean>
+       
+       
+       
+       <bean id="autoSuggestionSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+               <property name="controllerName" value="Auto-Suggestion-Sync-Controller" />
+               <property name="enabled" value="true" />
+               <property name="syncTaskDelayInMs" value="5000" />
+               <property name="syncTaskFrequencyInDays" value="1" />
+               <property name="numSyncControllerWorkers" value="2" />
+               <property name="runOnceSyncEnabled" value="true" />
+               <property name="periodicSyncEnabled" value="false" />
+               <property name="numInternalSyncWorkers" value="2" />
+               <property name="numSyncElasticWorkers" value="5" />
+               <property name="numSyncActiveInventoryWorkers" value="5" />
+               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
+       </bean>
+
+       <bean id="autoSuggestionEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+               <property name="indexName" value="entityautosuggestindex" />
+               <property name="indexDocType" value="default" />
+               <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" />
+               <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" />
+       </bean>
+
+       <bean id="autoSuggestionEntitySyncController"
+               class="org.onap.aai.sparky.autosuggestion.sync.AutoSuggestionSyncController"
+               init-method="registerController">
+
+               <constructor-arg ref="autoSuggestionSyncControllerConfig" />
+               <constructor-arg ref="activeInventoryAdapter" />
+               <constructor-arg ref="elasticSearchAdapter" />
+               <constructor-arg ref="autoSuggestionEntitySchemaConfig" />
+               <constructor-arg ref="elasticSearchEndpointConfig" />
+               <constructor-arg ref="aaiNetworkStatConfig" />
+               <constructor-arg ref="elasticSearchNetworkStatConfig" />
+               <constructor-arg ref="oxmEntityLookup" />
+               <constructor-arg ref="suggestionEntityLookup" />
+               <constructor-arg ref="filtersConfig" />
+               <constructor-arg ref="elasticSearchSchemaFactory" />
+
+               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+       </bean>
+       
+       
+       
+       <bean id="vnfAliasSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+               <property name="controllerName" value="Vnf-Alias-Sync-Controller" />
+               <property name="enabled" value="true" />
+               <property name="syncTaskDelayInMs" value="5000" />
+               <property name="syncTaskFrequencyInDays" value="1" />
+               <property name="numSyncControllerWorkers" value="2" />
+               <property name="runOnceSyncEnabled" value="true" />
+               <property name="periodicSyncEnabled" value="false" />
+               <property name="numInternalSyncWorkers" value="2" />
+               <property name="numSyncElasticWorkers" value="5" />
+               <property name="numSyncActiveInventoryWorkers" value="5" />
+               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
+       </bean>
+
+       <bean id="vnfAliasEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+               <property name="indexName" value="entityautosuggestindex" />
+               <property name="indexDocType" value="default" />
+               <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" />
+               <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" />
+       </bean>
+
+       <bean id="vnfAliasSyncController"
+               class="org.onap.aai.sparky.autosuggestion.sync.VnfAliasSyncController"
+               init-method="registerController">
+
+               <constructor-arg ref="vnfAliasSyncControllerConfig" />
+               <constructor-arg ref="activeInventoryAdapter" />
+               <constructor-arg ref="elasticSearchAdapter" />
+               <constructor-arg ref="vnfAliasEntitySchemaConfig" />
+               <constructor-arg ref="elasticSearchEndpointConfig" />
+               <constructor-arg ref="aaiNetworkStatConfig" />
+               <constructor-arg ref="elasticSearchNetworkStatConfig" />
+               <constructor-arg ref="filtersConfig" />
+               <constructor-arg ref="elasticSearchSchemaFactory" />
+
+               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+       </bean>
+       
+       <bean id="geoSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+               <property name="controllerName" value="Geo-Sync-Controller" />
+               <property name="enabled" value="true" />
+               <property name="syncTaskDelayInMs" value="5000" />
+               <property name="syncTaskFrequencyInDays" value="1" />
+               <property name="numSyncControllerWorkers" value="2" />
+               <property name="runOnceSyncEnabled" value="true" />
+               <property name="periodicSyncEnabled" value="false" />
+               <property name="numInternalSyncWorkers" value="2" />
+               <property name="numSyncElasticWorkers" value="5" />
+               <property name="numSyncActiveInventoryWorkers" value="5" />
+               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
+       </bean>
+
+       <bean id="geoEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+               <property name="indexName" value="topographicalsearchindex" />
+               <property name="indexDocType" value="default" />
+               <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" />
+       </bean>
+
+       <bean id="geoSyncController"
+               class="org.onap.aai.sparky.topology.sync.GeoSyncController"
+               init-method="registerController">
+
+               <constructor-arg ref="geoSyncControllerConfig" />
+               <constructor-arg ref="activeInventoryAdapter" />
+               <constructor-arg ref="elasticSearchAdapter" />
+               <constructor-arg ref="geoEntitySchemaConfig" />
+               <constructor-arg ref="elasticSearchEndpointConfig" />
+               <constructor-arg ref="aaiNetworkStatConfig" />
+               <constructor-arg ref="elasticSearchNetworkStatConfig" />
+               <constructor-arg ref="geoEntityLookup" />
+               <constructor-arg ref="oxmEntityLookup" />
+               <constructor-arg ref="elasticSearchSchemaFactory" />
+
+               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+       </bean>
+       
+       <bean id="viewInspectControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
+
+               <property name="controllerName" value="View-Inspect-Sync-Controller" />
+               <property name="enabled" value="true" />
+               <property name="syncTaskDelayInMs" value="5000" />
+               <property name="syncTaskFrequencyInDays" value="1" />
+               <property name="numSyncControllerWorkers" value="2" />
+               <property name="runOnceSyncEnabled" value="true" />
+               <property name="periodicSyncEnabled" value="false" />
+               <property name="numInternalSyncWorkers" value="2" />
+               <property name="numSyncElasticWorkers" value="5" />
+               <property name="numSyncActiveInventoryWorkers" value="5" />
+               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
+       </bean>
+
+       <bean id="viewInspectySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
+               <property name="indexName" value="entitysearchindex" />
+               <property name="indexDocType" value="default" />
+               <property name="indexMappingsFileName" value="/schemas/es_mappings.json" />
+               <property name="indexSettingsFileName" value="/schemas/es_settings.json" />
+       </bean>
+
+
+       <bean id="viewInspectSyncController"
+               class="org.onap.aai.sparky.viewinspect.sync.ViewInspectSyncController"
+               init-method="registerController">
+
+               <constructor-arg ref="viewInspectControllerConfig" />
+               <constructor-arg ref="activeInventoryAdapter" />
+               <constructor-arg ref="elasticSearchAdapter" />
+               <constructor-arg ref="viewInspectySchemaConfig" />
+               <constructor-arg ref="elasticSearchEndpointConfig" />
+               <constructor-arg ref="aaiNetworkStatConfig" />
+               <constructor-arg ref="elasticSearchNetworkStatConfig" />
+               <constructor-arg ref="crossEntityReferenceLookup" />
+               <constructor-arg ref="oxmEntityLookup" />
+               <constructor-arg ref="searchableEntityLookup" />
+               <constructor-arg ref="elasticSearchSchemaFactory" />
+
+               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
+
+       </bean>
+
+       <bean id="syncControllerService" class="org.onap.aai.sparky.sync.SyncControllerService"
+               destroy-method="shutdown">
+               <constructor-arg ref="syncControllerRegistry" />
+               <constructor-arg value="5" />
+               <constructor-arg value="5" />
+       </bean>
+
+</beans>               
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml
new file mode 100644 (file)
index 0000000..c146e6e
--- /dev/null
@@ -0,0 +1,55 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+              http://www.springframework.org/schema/beans
+              http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+       <bean id="visualizationConfigurations"
+               class="org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs">
+               <property name="maxSelfLinkTraversalDepth" value="2" />
+               <property name="visualizationDebugEnabled" value="false" />
+               <property name="aaiEntityNodeDescriptors" value="/descriptors/aaiEntityNodeDescriptors.json" />
+               <property name="generalNodeClassName" value="generalNodeClass" />
+               <property name="searchNodeClassName" value="searchedNodeClass" />
+               <property name="selectedSearchedNodeClassName" value="selectedSearchedNodeClass" />
+               <property name="numOfThreadsToFetchNodeIntegrity" value="20" />
+               <property name="makeAllNeighborsBidirectional" value="false" />
+               <property name="gizmoEnabled" value="false" />
+               <property name="resourceLoader" ref="sparkyResourceLoader" />
+
+               <property name="shallowEntities">
+                       <list value-type="java.lang.String">
+                               <value>cloud-region</value>
+                               <value>complex</value>
+                               <value>vnf-image</value>
+                               <value>image</value>
+                               <value>flavor</value>
+                               <value>availability-zone</value>
+                               <value>tenant</value>
+                               <value>network-profile</value>
+                               <value>l-interface</value>
+                       </list>
+               </property>
+
+       </bean>
+
+       <bean id="baseVisualizationService"
+               class="org.onap.aai.sparky.viewandinspect.services.BaseVisualizationService">
+               <constructor-arg ref="oxmModelLoader"/>
+               <constructor-arg ref="visualizationConfigurations"/> 
+               <constructor-arg ref="activeInventoryAdapter" />
+               <constructor-arg ref="gizmoAdapter" />
+               <constructor-arg ref="elasticSearchAdapter" />
+               <constructor-arg ref="elasticSearchEndpointConfig" />
+               <constructor-arg ref="viewInspectySchemaConfig" />
+               <constructor-arg name="numActiveInventoryWorkers" value="50" />
+               <constructor-arg ref="oxmEntityLookup" />
+        <constructor-arg ref="subscriptionConfig" />
+       </bean>
+
+       <bean id="schemaVisualizationProcessor"
+               class="org.onap.aai.sparky.viewandinspect.SchemaVisualizationProcessor">
+               <property name="visualizationService" ref="baseVisualizationService" />
+       </bean>
+
+</beans>               
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml
new file mode 100644 (file)
index 0000000..072c935
--- /dev/null
@@ -0,0 +1,34 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+              http://www.springframework.org/schema/beans
+              http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+                                <bean id="viewInspectSearchProvider"
+                               class="org.onap.aai.sparky.viewandinspect.search.ViewInspectSearchProvider">
+                               <constructor-arg ref="searchServiceAdapter" />
+                               <constructor-arg ref="suggestiveSearchConfigs" />
+                               <constructor-arg name="viewInspectIndexName" value="entitysearchindex" />
+                               <constructor-arg name="viewInspectSuggestionRoute" value="schema" />
+                               <constructor-arg ref="oxmEntityLookup" />
+
+                               <property name="additionalSearchSuggestionText">
+                                       <value>Schema</value>
+                               </property>
+
+                       </bean>
+
+                       <bean id="registerViewInspectSearchProvider"
+                               class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
+                               <property name="targetObject" ref="searchProviderRegistry" />
+                               <property name="targetMethod">
+                                       <value>addSearchProviders</value>
+                               </property>
+                               <property name="arguments">
+                                       <list value-type="org.onap.aai.sparky.search.api.SearchProvider">
+                                               <ref bean="viewInspectSearchProvider" />
+                                       </list>
+                               </property>
+                       </bean>
+
+</beans>
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml
new file mode 100644 (file)
index 0000000..8f5d42d
--- /dev/null
@@ -0,0 +1,241 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+              http://www.springframework.org/schema/beans
+              http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+                                <bean id="searchServiceRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
+                                       <property name="endpointIpAddress" value="{{.Values.global.searchData.serviceName}}.{{.Release.Namespace}}" />
+                                       <property name="endpointServerPort" value="9509" />
+                                       <property name="numRequestRetries" value="5" />
+                                       <property name="restAuthenticationMode" value="SSL_CERT" />
+                                       <property name="connectTimeoutInMs" value="60000" />
+                                       <property name="readTimeoutInMs" value="30000" />
+                                       <property name="certFileName" value="/auth/client-cert-onap.p12" />
+                                       <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" />
+                                       <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
+                                       <property name="validateServerCertChain" value="false" />
+                                       <property name="validateServerHostname" value="false" />
+                                       <property name="resourceLoader" ref="sparkyResourceLoader" />
+                               </bean>
+
+                               <bean id="searchServiceAdapter" class="org.onap.aai.sparky.search.SearchServiceAdapter">
+                                       <constructor-arg ref="searchServiceRestEndpointConfig" />
+                                       <constructor-arg name="serviceApiVersion" value="v1" />
+                               </bean>
+
+                               <bean id="filtersConfig" class="org.onap.aai.sparky.search.filters.config.FiltersConfig">
+                                       <constructor-arg name="filtersFileName" value="/filters/aaiui_filters.json" />
+                                       <constructor-arg name="viewsFileName" value="/filters/aaiui_views.json" />
+                                       <constructor-arg name="resourceLoader" ref="sparkyResourceLoader" />
+                               </bean>
+
+                               <bean id="crossEntityReferenceLookup"
+                                       class="org.onap.aai.sparky.config.oxm.CrossEntityReferenceLookup" />
+
+                               <bean id="geoEntityLookup" class="org.onap.aai.sparky.config.oxm.GeoEntityLookup" />
+
+                               <bean id="oxmEntityLookup" class="org.onap.aai.sparky.config.oxm.OxmEntityLookup" />
+
+                               <bean id="searchableEntityLookup" class="org.onap.aai.sparky.config.oxm.SearchableEntityLookup" />
+
+                               <bean id="suggestionEntityLookup" class="org.onap.aai.sparky.config.oxm.SuggestionEntityLookup">
+                                       <constructor-arg ref="filtersConfig" />
+                               </bean>
+
+                               <bean id="oxmModelProcessorSet" class="org.springframework.beans.factory.config.SetFactoryBean">
+                                       <property name="targetSetClass" value="java.util.HashSet" />
+                                       <property name="sourceSet">
+                                               <set>
+                                                       <ref bean="crossEntityReferenceLookup" />
+                                                       <ref bean="geoEntityLookup" />
+                                                       <ref bean="oxmEntityLookup" />
+                                                       <ref bean="searchableEntityLookup" />
+                                                       <ref bean="suggestionEntityLookup" />
+                                               </set>
+                                       </property>
+                               </bean>
+
+                               <bean id="oxmModelLoader" class="org.onap.aai.sparky.config.oxm.OxmModelLoader" init-method="loadLatestOxmModel">
+                                       <!-- the int argument is the latestVersionOverride.  -1 disables the override -->
+                                       <constructor-arg type="int" value="-1" />
+                                       <constructor-arg ref="oxmModelProcessorSet" />
+                               </bean>
+
+                               <bean id="searchProviderRegistry"
+                                       class="org.onap.aai.sparky.search.registry.SearchProviderRegistry" />
+
+                               <bean id="sparkyResourceLoader" class="org.onap.aai.sparky.config.SparkyResourceLoader">
+                                  <property name="configHomeEnvVar" value="CONFIG_HOME" />
+                               </bean> 
+
+                               <bean id="filterElasticSearchAdapter"
+                                       class="org.onap.aai.sparky.search.filters.FilterElasticSearchAdapter">
+                                       <constructor-arg ref="elasticSearchAdapter" />
+                               </bean>
+
+                               <bean id="filteredSearchHelper" class="org.onap.aai.sparky.search.filters.FilteredSearchHelper" >
+                                       <constructor-arg ref="filtersConfig" />
+                                       <constructor-arg ref="filterElasticSearchAdapter" />
+                               </bean>
+
+                               <bean id="filterProcessor" class="org.onap.aai.sparky.search.filters.FilterProcessor" >
+                                       <property name="filteredSearchHelper" ref="filteredSearchHelper" />
+                               </bean>
+
+                               <bean id="unifiedSearchProcessor" class="org.onap.aai.sparky.search.UnifiedSearchProcessor">
+                                       <property name="searchProviderRegistry" ref="searchProviderRegistry" />
+                               </bean>
+
+                               <bean id="entityCountHistoryProcessor" class="org.onap.aai.sparky.search.EntityCountHistoryProcessor">
+                                       <constructor-arg ref="elasticSearchAdapter" />
+                                       <constructor-arg name="entityTypesToSummarizeDelimitedList"
+                                               value="customer,service-instance,complex,pserver,vserver,vnf" />
+                                       <constructor-arg name="vnfEntityTypesDelimitedList"
+                                               value="vnf,newvce,vce,vpe" />
+                                       <constructor-arg name="entityCountHistoryIndexName"
+                                               value="entitycounthistoryindex" />
+                               </bean>
+
+                               <bean id="attributeUpdater"
+                                class="org.onap.aai.sparky.editattributes.AttributeUpdater">
+                                <constructor-arg ref="oxmModelLoader" />
+                                <constructor-arg ref="oxmEntityLookup" />
+                                <constructor-arg ref="activeInventoryAdapter" />
+                            </bean>
+
+                            <bean id="attributeEditProcessor"
+                                class="org.onap.aai.sparky.editattributes.AttributeEditProcessor">
+                                <constructor-arg ref="attributeUpdater" />
+                            </bean>
+
+                           <bean id="geoVisualizationProcessor" class="org.onap.aai.sparky.inventory.GeoVisualizationProcessor">
+                                       <constructor-arg ref="elasticSearchAdapter" />
+                                       <constructor-arg name="topographicalSearchIndexName"
+                                               value="topographicalsearchindex" />
+                               </bean>
+
+                            <bean id = "pairingHashMap" class="org.springframework.beans.factory.config.MapFactoryBean">
+                                                       <property name="targetMapClass">
+                                                               <value>java.util.HashMap</value>
+                                                       </property>
+                                                       <property name="sourceMap">
+                                                               <map key-type="java.lang.String" value-type="java.lang.String" >
+                                                                       <entry key="volume-group-id" value="called" />
+                                                                       <entry key="volume-group-name" value="called" />
+                                                                       <entry key="physical-location-id" value="called" />
+                                                                       <entry key="data-center-code" value="called" />
+                                                                       <entry key="complex-name" value="called" />
+                                                                       <entry key="tenant-id" value="called" />
+                                                                       <entry key="tenant-name" value="called" />
+                                                                       <entry key="vserver-id" value="called" />
+                                                                       <entry key="vserver-name" value="called" />
+                                                                       <entry key="vserver-name2" value="called" />
+                                                                       <entry key="hostname" value="called" />
+                                                                       <entry key="pserver-name2" value="called" />
+                                                                       <entry key="pserver-id" value="called" />
+                                                                       <entry key="global-customer-id" value="called" />
+                                                                       <entry key="subscriber-name" value="called" />
+                                                                       <entry key="service-instance-id" value="called" />
+                                                                       <entry key="service-instance-name" value="called" />
+                                                                       <entry key="link-name" value="called" />
+                                                                       <entry key="vpn-id" value="called" />
+                                                                       <entry key="vpn-name" value="called" />
+                                                                       <entry key="vpe-id" value="called" />
+                                                                       <entry key="vnf-id" value="called" />
+                                                                       <entry key="vnf-name" value="called" />
+                                                                       <entry key="vnf-name2" value="called" />
+                                                                       <entry key="vnfc-name" value="called" />
+                                                                       <entry key="network-id" value="called" />
+                                                                       <entry key="network-name" value="called" />
+                                                                       <entry key="network-policy-id" value="called" />
+                                                                       <entry key="vf-module-id" value="called" />
+                                                                       <entry key="vf-module-name" value="called" />
+                                                                       <entry key="vnf-id2" value="called" />
+                                                                       <entry key="pnf-name" value="called" />
+                                                                       <entry key="circuit-id" value="called" />
+                                                                       <entry key="id" value="called" />
+                                                                       <entry key="group-id" value="called" />
+                                                                       <entry key="group-name" value="called" />
+                                                                       <entry key="street1" value="at" />
+                                                                       <entry key="street2" value="at" />
+                                                                       <entry key="code" value="at" />
+                                                                       <entry key="ipv4-oam-address" value="at" />
+                                                                       <entry key="network-policy-fqdn" value="at" />
+                                                               </map>
+                                                       </property>
+                               </bean>
+
+                            <bean id="suggestiveSearchConfigs" class="org.onap.aai.sparky.search.config.SuggestionConfig">
+                                       <property name="defaultPairingValue" value="with" />
+                                       <property name="pairingList" ref="pairingHashMap"></property>
+                                       <property name="stopWords">
+                                               <list value-type="java.lang.String">
+                                                       <value>a</value>
+                                                       <value>an</value>
+                                                       <value>and</value>
+                                                       <value>are</value>
+                                                       <value>as</value>
+                                                       <value>at</value>
+                                                       <value>be</value>
+                                                       <value>but</value>
+                                                       <value>by</value>
+                                                       <value>called</value>
+                                                       <value>for</value>
+                                                       <value>if</value>
+                                                       <value>in</value>
+                                                       <value>into</value>
+                                                       <value>is</value>
+                                                       <value>it</value>
+                                                       <value>no</value>
+                                                       <value>not</value>
+                                                       <value>of</value>
+                                                       <value>on</value>
+                                                       <value>or</value>
+                                                       <value>such</value>
+                                                       <value>that</value>
+                                                       <value>the</value>
+                                                       <value>their</value>
+                                                       <value>then</value>
+                                                       <value>there</value>
+                                                       <value>these</value>
+                                                       <value>they</value>
+                                                       <value>this</value>
+                                                       <value>to</value>
+                                                       <value>was</value>
+                                                       <value>will</value>
+                                                       <value>with</value>
+                                               </list>
+                                       </property>
+
+                            </bean>
+
+                                        <bean id="subscriptionConfig"
+                     class="org.onap.aai.sparky.subscription.config.SubscriptionConfig">
+                     <property name="subscriptionTarget" value="" />
+                     <property name="subscriptionOrigin" value="" />
+                     <property name="subscriptionMessageType" value="" />
+                     <property name="subscriptionTopic" value="" />
+                     <property name="launchOITarget" value="" />
+                     <property name="launchOIOrigin" value="" />
+                     <property name="launchOIMessageType" value="" />
+                     <property name="launchOITopic" value="" />
+                                                                                <property name="annEntitiyTypes">
+                                                                                        <list value-type="java.lang.String">
+                                                                                                <value>pserver</value>
+                                                                                                <value>pnf</value>
+                                                                                        </list>
+                                                                        </property>
+                                                                        <property name="isLaunchOIEnabled" value="false" />
+            </bean>
+
+            <bean id="subscriptionService"
+                     class="org.onap.aai.sparky.subscription.services.SubscriptionService">
+                     <constructor-arg ref="subscriptionConfig" />
+            </bean>
+
+            <bean id="subscriptionServiceProcessor"
+                     class="org.onap.aai.sparky.subscription.SubscriptionServiceProcessor">
+                     <constructor-arg ref="subscriptionService" />
+            </bean>
+</beans>
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/suggestive-search.properties
deleted file mode 100644 (file)
index b82baff..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-######################################################################################
-############################## Suggestive Search Config ##############################
-######################################################################################
-
-# Indexes to be taken into account when generating suggestion entries
-suggestion.indexes=elasticsearch.autosuggestIndexname,elasticsearch.indexName
-# List of stop words to be used during suggestive search
-suggestion.stopwords=a,an,and,are,as,at,be,but,by,called,for,if,in,into,is,it,no,not,of,on,or,such,that,the,their,then,there,these,they,this,to,was,will,with
-# Assigns which class, within sparky, will process the searches related to an assosiated index
-suggestion.routing=elasticsearch.autosuggestIndexname:SearchServiceWrapper,elasticsearch.indexName:VnfSearchService
-
-############################## Pairings ##############################
-#
-# "called" pairings, keys reference types within the OXM, and the value
-# is the suggestion term used for matches with any of the "called" keys.
-# e.g. "x called vserver-id" (but actual value of vserver-id)
-suggestion.pairing.called.key=volume-group-id,volume-group-name,physical-location-id,data-center-code,complex-name,tenant-id,tenant-name,vserver-id,vserver-name,vserver-name2,hostname,pserver-name2,pserver-id,global-customer-id,subscriber-name,service-instance-id,service-instance-name,link-name,vpn-id,vpn-name,vpe-id,vnf-id,vnf-name,vnf-name2,vnfc-name,network-id,network-name,network-policy-id,vf-module-id,vf-module-name,vnf-id2,pnf-name,circuit-id
-suggestion.pairing.called.value=called
-#
-# Exact same explanation as the "called" pairings above.
-# e.g. "x at ipv4-oam-address"
-suggestion.pairing.at.key=street1,street2,postal-code,ipv4-oam-address,network-policy-fqdn
-suggestion.pairing.at.value=at
-#
-# Default pairing values for any OXM types that aren't part of the the other
-# pairing lists.
-suggestion.pairing.default.value=with
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/synchronizer.properties
deleted file mode 100644 (file)
index 0b84f06..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-##############################################################################################
-############################## ElasticSearchSynchronizer Config ##############################
-##############################################################################################
-
-# Initial delay on startup before starting synchronization tasks
-synchronizer.syncTask.initialDelayInMs=60000
-# The frequency at which the synchronizationtask will be run
-synchronizer.syncTask.taskFrequencyInDay=2
-
-# Time at which to run synchronization. Format = hh:mm:ss UTC(-/+)hh:mm
-synchronizer.syncTask.startTimestamp=05:00:00 UTC+00:00
-
-# Generates a count in elasticsearch related to inventory
-synchronizer.historicalEntitySummarizerEnabled=true
-# Toggles the suggestion synchronizer
-synchronizer.autosuggestSynchronizationEnabled=true
-# Frequency at which above count is generated
-synchronizer.historicalEntitySummarizedFrequencyInMinutes=60
-
-# Elasticsearch scroll api context keep alive value
-synchronizer.scrollContextTimeToLiveInMinutes=5
-# Elasticsearch scroll api context max items per batch request
-synchronizer.numScrollContextItemsToRetrievePerRequest=5000
-
-
-############################## Deprecated, to be removed or updated ##############################
-synchronizer.resolver.progressLogFrequencyInMs=60000
-synchronizer.resolver.queueMonitorFrequencyInMs=1000
-synchronizer.resolver.displayVerboseQueueManagerStats=false
-synchronizer.indexIntegrityValidator.enabled=false
-synchronizer.indexIntegrityValidatorFrequencyInMs=3600000
-synchronizer.suppressResourceNotFoundErrors=true
-synchronizer.applyNodesOnlyModifier=false
\ No newline at end of file
index d827c4e..1f6ed74 100644 (file)
@@ -20,4 +20,53 @@ metadata:
   name: {{ include "common.fullname" . }}-log
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/logback.xml").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-camel-rests
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/camel-rests/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-descriptors
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/descriptors/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-filters
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/filters/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-schemas
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/schemas/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-spring-beans
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/spring-beans/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-boot-inf
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/portal/BOOT-INF/classes/*").AsConfig . | indent 2 }}
+
index 05a808e..424cf11 100644 (file)
@@ -34,77 +34,62 @@ spec:
         release: {{ .Release.Name }}
       name: {{ include "common.name" . }}
     spec:
-      initContainers:
-      - name: {{ include "common.name" . }}-inject-models
-        command:
-        - /bin/bash
-        - "-c"
-        - |
-          git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/gerrit
-          cp -rp /tmp/gerrit/data-router/appconfig/model/* /model-dir
-        image: "{{ .Values.global.repository | default .Values.dockerHubRepository }}/{{ .Values.ubuntuInitImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        volumeMounts:
-        - name: modeldir
-          mountPath: "/model-dir"
       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: /opt/app/sparky/appconfig/
+        - name: KEYSTORE_ALIAS_PASSWORD
+          value: {{ .Values.config.keystoreAliasPassword }}
+        - name: KEYSTORE_PASSWORD
           value: {{ .Values.config.keyStorePassword }}
+        - name: SPARKY_SSL_ENABLED
+          value: 'true'
+        - name: SPARKY_PORTAL_ENABLED
+          value: 'false'
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /opt/app/sparky/config/auth/
+        - mountPath: /opt/app/sparky/appconfig/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
+        - mountPath: /opt/app/sparky/appconfig/camel-rests/
+          name: {{ include "common.fullname" . }}-camel-rests-config
+        - mountPath: /opt/app/sparky/appconfig/descriptors/
+          name: {{ include "common.fullname" . }}-descriptors-config
+        - mountPath: /opt/app/sparky/appconfig/filters/
+          name: {{ include "common.fullname" . }}-filters-config
+        - mountPath: /opt/app/sparky/appconfig/
           name: {{ include "common.fullname" . }}-config
-        - mountPath: /opt/app/sparky/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/portal/
+        - mountPath: /opt/app/sparky/appconfig/portal
           name: {{ include "common.fullname" . }}-portal-config
+        - mountPath: /opt/app/sparky/appconfig/portal/BOOT-INF/classes
+          name: {{ include "common.fullname" . }}-portal-boot-inf-config
+        - mountPath: /opt/app/sparky/appconfig/schemas
+          name: {{ include "common.fullname" . }}-schemas-config
+        - mountPath: /opt/app/sparky/appconfig/spring-beans/
+          name: {{ include "common.fullname" . }}-spring-beans-config
         - mountPath: /var/log/onap
           name: {{ include "common.fullname" . }}-logs
-        - mountPath: /opt/app/sparky/bundleconfig/etc/logback.xml
+        - mountPath: /opt/app/sparky/appconfig/logging/
           name: {{ include "common.fullname" . }}-log-conf
-          subPath: logback.xml
-        - name: modeldir
-          mountPath: /opt/app/sparky/config/model
         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.internalPort }}
+            port: {{ .Values.service.internalPort2 }}
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
         {{ end -}}
         readinessProbe:
           tcpSocket:
-            port: {{ .Values.service.internalPort }}
+            port: {{ .Values.service.internalPort2 }}
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
@@ -138,12 +123,30 @@ spec:
       - name: {{ include "common.fullname" . }}-config
         configMap:
           name: {{ include "common.fullname" . }}
-      - name: {{ include "common.fullname" . }}-portal-config
-        configMap:
-          name: {{ include "common.fullname" . }}-portal
       - name: {{ include "common.fullname" . }}-auth-config
         secret:
           secretName: {{ include "common.fullname" . }}
+      - name: {{ include "common.fullname" . }}-camel-rests-config
+        configMap:
+          name: {{ include "common.fullname" . }}-camel-rests
+      - name: {{ include "common.fullname" . }}-descriptors-config
+        configMap:
+          name: {{ include "common.fullname" . }}-descriptors
+      - name: {{ include "common.fullname" . }}-filters-config
+        configMap:
+          name: {{ include "common.fullname" . }}-filters
+      - name: {{ include "common.fullname" . }}-portal-config
+        configMap:
+          name: {{ include "common.fullname" . }}-portal
+      - name: {{ include "common.fullname" . }}-portal-boot-inf-config
+        configMap:
+          name: {{ include "common.fullname" . }}-boot-inf
+      - name: {{ include "common.fullname" . }}-schemas-config
+        configMap:
+          name: {{ include "common.fullname" . }}-schemas
+      - name: {{ include "common.fullname" . }}-spring-beans-config
+        configMap:
+          name: {{ include "common.fullname" . }}-spring-beans
       - name: filebeat-conf
         configMap:
           name: aai-filebeat
@@ -153,9 +156,7 @@ spec:
         emptyDir: {}
       - name: {{ include "common.fullname" . }}-log-conf
         configMap:
-         name: {{ include "common.fullname" . }}-log
-      - name: modeldir
-        emptyDir: {}
+          name: {{ include "common.fullname" . }}-log
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 41bc163..e97935a 100644 (file)
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.name" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
index df058a4..5c97bdb 100644 (file)
@@ -4,11 +4,18 @@
 global: # global defaults
   nodePortPrefix: 302
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
-
+  aai:
+    serviceName: aai-aai
+  aaiElasticsearch:
+    serviceName: aai-elasticsearch
+  gizmo:
+    serviceName: aai-gizmo
+  searchData:
+    serviceName: aai-search-data
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sparky-be:v1.1.0
+image: onap/sparky-be:1.2-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
@@ -18,10 +25,17 @@ ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 config:
   elasticsearchHttpPort: 9200
   keyStorePassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
-  keyManagerPassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+  keystoreAliasPassword: OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
   gerritBranch: master
   gerritProject: http://gerrit.onap.org/r/aai/test-config
+  portalUsername: aaiui
+  portalPassword: 1t2v1vfv1unz1vgz1t3b
 
+# ONAP Cookie Processing - During initial development, the following flag, if true, will
+# prevent the portal interface's login processing from searching for a user
+# specific cookie, and will instead allow passage if a valid session cookie is discovered.
+  portalOnapEnabled: true
+#
 
 # override chart name (sparky-be) to share a common namespace
 # suffix with parent chart (aai)
@@ -51,6 +65,7 @@ service:
   type: ClusterIP
   name: aai-sparky-be
   internalPort: 9517
+  internalPort2: 8000
 
 ingress:
   enabled: false
index 14c59d2..ebfe98b 100644 (file)
@@ -44,7 +44,7 @@ server.ssl.key-store-type=JKS
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
 dmaap.ribbon.eureka.enabled=false
-dmaap.ribbon.listOfServers=dmaap.{{ include "common.namespace" . }}:3904
+dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3904
 # Number of milliseconds to wait before making ping requests again
 dmaap.ribbon.ServerListRefreshInterval=75000
 dmaap.ribbon.NFLoadBalancerPingInterval=75000
index dd5c3ee..e3128b8 100644 (file)
@@ -26,7 +26,6 @@ query.smart-limit=false
 {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
 {{- $global := . }}
 
-# the following parameters are not reloaded automatically and require a manual bounce
 storage.backend=cassandra
 storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
 
index c15c053..b9b2501 100644 (file)
@@ -90,14 +90,6 @@ spec:
           subPath: aai_keystore
         # disable liveness probe when breakpoints set in debugger
         # so K8s doesn't restart unresponsive container
-        volumeMounts:
-        - mountPath: /usr/share/filebeat/filebeat.yml
-          subPath: filebeat.yml
-          name: filebeat-conf
-        - mountPath: /opt/aai/logroot/AAI-GQ
-          name: {{ include "common.fullname" . }}-logs
-        - mountPath: /usr/share/filebeat/data
-          name: {{ include "common.fullname" . }}-filebeat
       volumes:
       - name: localtime
         hostPath:
index 9795975..598a3ba 100644 (file)
@@ -42,7 +42,7 @@
                "AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
                "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}",
                "AAI_DMAAP_PROTOCOL": "http",
-               "AAI_DMAAP_HOST_PORT": "dmaap.{{.Release.Namespace}}:3904",
+               "AAI_DMAAP_HOST_PORT": "message-router.{{.Release.Namespace}}:3904",
                "AAI_DMAAP_TOPIC_NAME": "AAI-EVENT",
                "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED",
                "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT",
@@ -94,7 +94,7 @@
                "AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0",
                "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}",
                "AAI_DMAAP_PROTOCOL": "http",
-               "AAI_DMAAP_HOST_PORT": "dmaap.{{.Release.Namespace}}:3904",
+               "AAI_DMAAP_HOST_PORT": "message-router.{{.Release.Namespace}}:3904",
                "AAI_DMAAP_TOPIC_NAME": "AAI-EVENT",
                "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED",
                "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT",
index 5d08268..e879818 100644 (file)
@@ -27,7 +27,33 @@ global: # global defaults
   loggingImage: beats/filebeat:5.5.0
   restartPolicy: Always
   cassandra:
+    serviceName: aai-cassandra
     replicas: 3
+  aai:
+    serviceName: aai-aai
+  babel:
+    serviceName: aai-babel
+  champ:
+    serviceName: aai-champ
+  aaiElasticsearch:
+    serviceName: aai-elasticsearch
+  hbase:
+    serviceName: aai-hbase
+  resources:
+    serviceName: aai-resources
+  sparkyBe:
+    serviceName: aai-sparky-be
+  dataRouter:
+    serviceName: aai-data-router
+  gizmo:
+    serviceName: aai-gizmo
+  modelloader:
+    serviceName: aai-modelloader
+  searchData:
+    serviceName: aai-search-data
+  traversal:
+    serviceName: aai-traversal
+
 
 # application image
 dockerhubRepository: registry.hub.docker.com
index f260f3d..abc2935 100755 (executable)
@@ -18,8 +18,8 @@
 # ============LICENSE_END=========================================================
 ###
 
-SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
-APPC_HOME=${APPC_HOME:-/opt/openecomp/appc}
+SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk}
+APPC_HOME=${APPC_HOME:-/opt/onap/appc}
 MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
 
 APPC_DB_USER=${APPC_DB_USER:-appcctl}
index e5f04ca..e13193f 100755 (executable)
@@ -32,10 +32,6 @@ function enable_odl_cluster(){
      exit
   fi
 
-  echo "Installing Opendaylight cluster features"
-  ${ODL_HOME}/bin/client feature:install odl-mdsal-clustering
-  ${ODL_HOME}/bin/client feature:install odl-jolokia
-
   echo "Update cluster information statically"
   hm=$(hostname)
   echo "Get current Hostname ${hm}"
@@ -99,6 +95,9 @@ then
         echo "Installing APPC database"
         ${APPC_HOME}/bin/installAppcDb.sh
 
+        echo "Installing ODL Host Key"
+        ${SDNC_HOME}/bin/installOdlHostKey.sh
+
         echo "Starting OpenDaylight"
         ${ODL_HOME}/bin/start
 
@@ -108,7 +107,7 @@ then
         echo "Copying a working version of the logging configuration into the opendaylight etc folder"
         cp ${APPC_HOME}/data/org.ops4j.pax.logging.cfg ${ODL_HOME}/etc/org.ops4j.pax.logging.cfg
         echo "Copying a new version of aaf cadi shiro into the opendaylight deploy folder"
-        cp ${APPC_HOME}/data/aaf-cadi-shiro.jar ${ODL_HOME}/deploy/aaf-cadi-shiro.jar
+        cp ${APPC_HOME}/data/aaf-shiro-aafrealm-osgi-bundle.jar ${ODL_HOME}/deploy/aaf-shiro-aafrealm-osgi-bundle.jar
 
         echo "Installing SDNC platform features"
         ${SDNC_HOME}/bin/installFeatures.sh
@@ -119,6 +118,8 @@ then
                 ${SDNC_HOME}/svclogic/bin/install.sh
         fi
 
+        if $ENABLE_ODL_CLUSTER ; then echo "Installing Opendaylight cluster features" ; ${ODL_HOME}/bin/client feature:install odl-mdsal-clustering ; ${ODL_HOME}/bin/client feature:install odl-jolokia ; fi
+
         echo "Installing APPC platform features"
         ${APPC_HOME}/bin/installFeatures.sh
 
@@ -141,13 +142,31 @@ then
         echo "cadi_prop_files=${APPC_HOME}/data/properties/cadi.properties" >> ${ODL_HOME}/etc/system.properties
         echo "" >> ${ODL_HOME}/etc/system.properties
 
-        echo "Copying a working version of the shiro configuration into the opendaylight etc folder"
-        cp ${APPC_HOME}/data/shiro.ini ${ODL_HOME}/etc/shiro.ini
+        echo "Copying the aaa shiro configuration into opendaylight"
+        cp ${APPC_HOME}/data/aaa-app-config.xml ${ODL_HOME}/etc/opendaylight/datastore/initial/config/aaa-app-config.xml
+
 
         echo "Restarting OpenDaylight"
         ${ODL_HOME}/bin/stop
-        echo "Waiting 60 seconds for OpenDaylight stop to complete"
-        sleep 60
+        checkRun () {
+                running=0
+                while read a b c d e f g h
+                do
+                if [ "$h" == "/bin/sh /opt/opendaylight/current/bin/karaf server" ]
+                then
+                     running=1
+                fi
+                done < <(ps -eaf)
+                echo $running
+        }
+
+        while [ $( checkRun ) == 1 ]
+        do
+                echo "Karaf is still running, waiting..."
+                sleep 5s
+        done
+        echo "Karaf process has stopped"
+        sleep 10s
         echo "Installed at `date`" > ${SDNC_HOME}/.installed
 fi
 
index b2f7102..a91c399 100644 (file)
 #
 # Certificate keystore and truststore
 #
-org.onap.ccsdk.sli.adaptors.aai.ssl.trust=/opt/openecomp/appc/data/stores/truststore.openecomp.client.jks
-org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=adminadmin
+org.onap.ccsdk.sli.adaptors.aai.ssl.trust=/opt/onap/appc/data/stores/ONAPall.p12
+org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=changeit
+org.onap.ccsdk.sli.adaptors.aai.ssl.key=/opt/onap/appc/data/stores/ONAPall.p12
+org.onap.ccsdk.sli.adaptors.aai.ssl.key.psswd=changeit
 org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore=true
 
 org.onap.ccsdk.sli.adaptors.aai.client.name=AAI
@@ -39,106 +41,105 @@ org.onap.ccsdk.sli.adaptors.aai.application=openECOMP
 #
 # Configuration file for A&AI Client
 #
-org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-service.{{.Release.Namespace}}:8443
-
+org.onap.ccsdk.sli.adaptors.aai.uri=https://aai.{{.Release.Namespace}}:8443
 
 # query
-org.onap.ccsdk.sli.adaptors.aai.path.query=/aai/v11/search/sdn-zone-query
-org.onap.ccsdk.sli.adaptors.aai.query.nodes=/aai/v11/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name}
-org.onap.ccsdk.sli.adaptors.aai.query.generic=/aai/v11/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3
+org.onap.ccsdk.sli.adaptors.aai.path.query=/aai/v13/search/sdn-zone-query
+org.onap.ccsdk.sli.adaptors.aai.query.nodes=/aai/v13/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name}
+org.onap.ccsdk.sli.adaptors.aai.query.generic=/aai/v13/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3
 
 # named query
 org.onap.ccsdk.sli.adaptors.aai.query.named=/aai/search/named-query
 
 
 #update
-org.onap.ccsdk.sli.adaptors.aai.update=/aai/v11/actions/update
+org.onap.ccsdk.sli.adaptors.aai.update=/aai/v13/actions/update
 
 # vce
-org.onap.ccsdk.sli.adaptors.aai.path.vce =/aai/v11/network/vces/vce/
-org.onap.ccsdk.sli.adaptors.aai.path.vces=/aai/v11/network/vces/
+org.onap.ccsdk.sli.adaptors.aai.path.vce =/aai/v13/network/vces/vce/
+org.onap.ccsdk.sli.adaptors.aai.path.vces=/aai/v13/network/vces/
 
 # vpe
-org.onap.ccsdk.sli.adaptors.aai.path.vpe =/aai/v11/network/vpes/vpe/
-org.onap.ccsdk.sli.adaptors.aai.path.vpes=/aai/v11/network/vpes/
+org.onap.ccsdk.sli.adaptors.aai.path.vpe =/aai/v13/network/vpes/vpe/
+org.onap.ccsdk.sli.adaptors.aai.path.vpes=/aai/v13/network/vpes/
 
 # customer
-org.onap.ccsdk.sli.adaptors.aai.path.customer=/aai/v11/business/customers/customer/{customer-id}
+org.onap.ccsdk.sli.adaptors.aai.path.customer=/aai/v13/business/customers/customer/{customer-id}
 
 # service subscription
-org.onap.ccsdk.sli.adaptors.aai.path.service.subscription=/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}
+org.onap.ccsdk.sli.adaptors.aai.path.service.subscription=/aai/v13/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}
 
 # service instance
-org.onap.ccsdk.sli.adaptors.aai.path.svcinst=/aai/v11/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances
-org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query=/aai/v11/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance
-org.onap.ccsdk.sli.adaptors.aai.path.service.instance=/aai/v11/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}
+org.onap.ccsdk.sli.adaptors.aai.path.svcinst=/aai/v13/business/customers/customer/{customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances
+org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query=/aai/v13/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance
+org.onap.ccsdk.sli.adaptors.aai.path.service.instance=/aai/v13/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}
 
 # complex
-org.onap.ccsdk.sli.adaptors.aai.path.complexes=/aai/v11/cloud-infrastructure/complexes
-org.onap.ccsdk.sli.adaptors.aai.path.complex=/aai/v11/cloud-infrastructure/complexes/complex/{physical-location-id}
+org.onap.ccsdk.sli.adaptors.aai.path.complexes=/aai/v13/cloud-infrastructure/complexes
+org.onap.ccsdk.sli.adaptors.aai.path.complex=/aai/v13/cloud-infrastructure/complexes/complex/{physical-location-id}
 
 # tenant
-org.onap.ccsdk.sli.adaptors.aai.path.tenant=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}
-org.onap.ccsdk.sli.adaptors.aai.path.tenant.query=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant?tenant-name={tenant-name}
+org.onap.ccsdk.sli.adaptors.aai.path.tenant=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}
+org.onap.ccsdk.sli.adaptors.aai.path.tenant.query=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant?tenant-name={tenant-name}
 
 # vservers
-org.onap.ccsdk.sli.adaptors.aai.path.vservers=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/
-org.onap.ccsdk.sli.adaptors.aai.path.vserver=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}
+org.onap.ccsdk.sli.adaptors.aai.path.vservers=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/
+org.onap.ccsdk.sli.adaptors.aai.path.vserver=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}
 
 # vpls-pe
-org.onap.ccsdk.sli.adaptors.aai.path.vpls.pes=/aai/v11/network/vpls-pes/
-org.onap.ccsdk.sli.adaptors.aai.path.vpls.pe =/aai/v11/network/vpls-pes/vpls-pe/
+org.onap.ccsdk.sli.adaptors.aai.path.vpls.pes=/aai/v13/network/vpls-pes/
+org.onap.ccsdk.sli.adaptors.aai.path.vpls.pe =/aai/v13/network/vpls-pes/vpls-pe/
 
 # ctag-pool
-org.onap.ccsdk.sli.adaptors.aai.path.ctag.pools=/aai/v11/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools
-org.onap.ccsdk.sli.adaptors.aai.path.ctag.pool=/aai/v11/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}
+org.onap.ccsdk.sli.adaptors.aai.path.ctag.pools=/aai/v13/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools
+org.onap.ccsdk.sli.adaptors.aai.path.ctag.pool=/aai/v13/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}
 
 #
 #-------------- 1510 ----------------------
 #
 
 # pservers
-org.onap.ccsdk.sli.adaptors.aai.path.pservers=/aai/v11/cloud-infrastructure/pservers
-org.onap.ccsdk.sli.adaptors.aai.path.pserver=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}
+org.onap.ccsdk.sli.adaptors.aai.path.pservers=/aai/v13/cloud-infrastructure/pservers
+org.onap.ccsdk.sli.adaptors.aai.path.pserver=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}
 
 # generic-vnf
-org.onap.ccsdk.sli.adaptors.aai.path.generic.vnfs=/aai/v11/network/generic-vnfs
-org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}
+org.onap.ccsdk.sli.adaptors.aai.path.generic.vnfs=/aai/v13/network/generic-vnfs
+org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}
 
 # dvs-switch
-org.onap.ccsdk.sli.adaptors.aai.path.dvsswitches=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches
-org.onap.ccsdk.sli.adaptors.aai.path.dvsswitch=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}
+org.onap.ccsdk.sli.adaptors.aai.path.dvsswitches=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches
+org.onap.ccsdk.sli.adaptors.aai.path.dvsswitch=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}
 
 # L3 Networks
-org.onap.ccsdk.sli.adaptors.aai.path.l3networks=/aai/v11/network/l3-networks
-org.onap.ccsdk.sli.adaptors.aai.path.l3network=/aai/v11/network/l3-networks/l3-network/{network-id}
-org.onap.ccsdk.sli.adaptors.aai.path.l3network.query.name=/aai/v11/network/l3-networks/l3-network?network-name={network-name}
+org.onap.ccsdk.sli.adaptors.aai.path.l3networks=/aai/v13/network/l3-networks
+org.onap.ccsdk.sli.adaptors.aai.path.l3network=/aai/v13/network/l3-networks/l3-network/{network-id}
+org.onap.ccsdk.sli.adaptors.aai.path.l3network.query.name=/aai/v13/network/l3-networks/l3-network?network-name={network-name}
 
 # P-Interfaces
-org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces
-org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterface=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces
+org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}
 
 # Physical Link
-org.onap.ccsdk.sli.adaptors.aai.path.physical.links=/aai/v11/network/physical-links
-org.onap.ccsdk.sli.adaptors.aai.path.physical.link=/aai/v11/network/physical-links/physical-link/{link-name}
+org.onap.ccsdk.sli.adaptors.aai.path.physical.links=/aai/v13/network/physical-links
+org.onap.ccsdk.sli.adaptors.aai.path.physical.link=/aai/v13/network/physical-links/physical-link/{link-name}
 
 # VPN Bindings
-org.onap.ccsdk.sli.adaptors.aai.path.vpn.bindings=/aai/v11/network/vpn-bindings/
-org.onap.ccsdk.sli.adaptors.aai.path.vpn.binding=/aai/v11/network/vpn-bindings/vpn-binding/{vpn-id}
+org.onap.ccsdk.sli.adaptors.aai.path.vpn.bindings=/aai/v13/network/vpn-bindings/
+org.onap.ccsdk.sli.adaptors.aai.path.vpn.binding=/aai/v13/network/vpn-bindings/vpn-binding/{vpn-id}
 
 # VNF IMAGES
-org.onap.ccsdk.sli.adaptors.aai.path.vnf.images=/aai/v11/service-design-and-creation/vnf-images
-org.onap.ccsdk.sli.adaptors.aai.path.vnf.image=/aai/v11/service-design-and-creation/vnf-images/vnf-image/{att-uuid}
-org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v11/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.images=/aai/v13/service-design-and-creation/vnf-images
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image=/aai/v13/service-design-and-creation/vnf-images/vnf-image/{att-uuid}
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v13/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}
 
 # UBB Notify
-org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v11/actions/notify
+org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v13/actions/notify
 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}
-org.onap.ccsdk.sli.adaptors.aai.path.services=/aai/v11/service-design-and-creation/services
+org.onap.ccsdk.sli.adaptors.aai.path.service=/aai/v13/service-design-and-creation/services/service/{service-id}
+org.onap.ccsdk.sli.adaptors.aai.path.services=/aai/v13/service-design-and-creation/services
 
 
 #
@@ -146,98 +147,98 @@ org.onap.ccsdk.sli.adaptors.aai.path.services=/aai/v11/service-design-and-creati
 #
 
 # VNFC
-org.onap.ccsdk.sli.adaptors.aai.path.vnfc=/aai/v11/network/vnfcs/vnfc/{vnfc-name}
+org.onap.ccsdk.sli.adaptors.aai.path.vnfc=/aai/v13/network/vnfcs/vnfc/{vnfc-name}
 
 # class-of-service
-org.onap.ccsdk.sli.adaptors.aai.path.class.of.service=/aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos-id}
+org.onap.ccsdk.sli.adaptors.aai.path.class.of.service=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}/classes-of-service/class-of-service/{cos-id}
 
 # site-pair
-org.onap.ccsdk.sli.adaptors.aai.path.site.pair=/aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}
+org.onap.ccsdk.sli.adaptors.aai.path.site.pair=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}/site-pairs/site-pair/{site-pair-id}
 
 # routing-instance
-org.onap.ccsdk.sli.adaptors.aai.path.routing.instance=/aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}
+org.onap.ccsdk.sli.adaptors.aai.path.routing.instance=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id}/routing-instances/routing-instance/{routing-instance-id}
 
 # site-pair-set
-org.onap.ccsdk.sli.adaptors.aai.path.site.pair.set=/aai/v11/network/site-pair-sets/site-pair-set/{site-pair-set-id}
+org.onap.ccsdk.sli.adaptors.aai.path.site.pair.set=/aai/v13/network/site-pair-sets/site-pair-set/{site-pair-set-id}
 
 # license key resource
-org.onap.ccsdk.sli.adaptors.aai.path.license.acquire=/aai/v11/actions/assignment/license-management/assignment-group-uuid/{assignment-group-uuid}
-org.onap.ccsdk.sli.adaptors.aai.path.license=/aai/v11/license-management/license-key-resources/license-key-resource/{att-uuid}
+org.onap.ccsdk.sli.adaptors.aai.path.license.acquire=/aai/v13/actions/assignment/license-management/assignment-group-uuid/{assignment-group-uuid}
+org.onap.ccsdk.sli.adaptors.aai.path.license=/aai/v13/license-management/license-key-resources/license-key-resource/{att-uuid}
 
 # logical-link
-org.onap.ccsdk.sli.adaptors.aai.path.logical.link =/aai/v11/network/logical-links/logical-link/{link-name}
+org.onap.ccsdk.sli.adaptors.aai.path.logical.link =/aai/v13/network/logical-links/logical-link/{link-name}
 
 # virtual-data-center
-org.onap.ccsdk.sli.adaptors.aai.path.virtual.data.center=/aai/v11/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}
+org.onap.ccsdk.sli.adaptors.aai.path.virtual.data.center=/aai/v13/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}
 
 # wan-connector
-org.onap.ccsdk.sli.adaptors.aai.path.wan.connector=/aai/v11/business/connectors/connector/{resource-instance-id}
+org.onap.ccsdk.sli.adaptors.aai.path.wan.connector=/aai/v13/business/connectors/connector/{resource-instance-id}
 
 # l-interface
-org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name}
-org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface=/aai/v11/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name}
 
 # l-interface pnf
-org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface.pnf=/aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name}
-org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface.pnf=/aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.lag.interface.l.interface.pnf=/aai/v13/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.p.interface.l.interface.pnf=/aai/v13/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name}
 
 # subinterface
-org.onap.ccsdk.sli.adaptors.aai.path.pnf.lag.interface.subinterface=/aai/v11/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name}
-org.onap.ccsdk.sli.adaptors.aai.path.pnf.p.interface.l.interface=/aai/v11/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.pnf.lag.interface.subinterface=/aai/v13/network/pnfs/pnf/{pnf-name}/lag-interfaces/lag-interface/{lag-interface.interface-name}/l-interfaces/l-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.pnf.p.interface.l.interface=/aai/v13/network/pnfs/pnf/{pnf-name}/p-interfaces/p-interface/{p-interface.interface-name}/l-interfaces/l-interface/{interface-name}
 
 # vlans
-org.onap.ccsdk.sli.adaptors.aai.path.vlan=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
-org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.vlan=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
+org.onap.ccsdk.sli.adaptors.aai.path.vlan=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/tenants/tenant/{tenant-id}/vservers/vserver/{vserver-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
+org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.vlan=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}
 
 #  l3-interface-ipv4-address-list
-org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv4.address.list=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
-org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv4.address.list=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
 
 #  l3-interface-ipv6-address-list
-org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv6.address.list=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
-org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv6.address.list=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+org.onap.ccsdk.sli.adaptors.aai.path.l3.interface.ipv6.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+org.onap.ccsdk.sli.adaptors.aai.path.vlan.l3.interface.ipv6.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
 
 # ipsec-configuration
-org.onap.ccsdk.sli.adaptors.aai.path.ipsec.configuration=/aai/v11/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}
+org.onap.ccsdk.sli.adaptors.aai.path.ipsec.configuration=/aai/v13/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}
 
 # vig server
-org.onap.ccsdk.sli.adaptors.aai.path.vig.server=/aai/v11/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type}
+org.onap.ccsdk.sli.adaptors.aai.path.vig.server=/aai/v13/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}/vig-servers/vig-server/{vig-address-type}
 
 # l3-network
-org.onap.ccsdk.sli.adaptors.aai.path.l3.network=/aai/v11/network/l3-networks/l3-network/{network-id}
+org.onap.ccsdk.sli.adaptors.aai.path.l3.network=/aai/v13/network/l3-networks/l3-network/{network-id}
 
 # subnet
-org.onap.ccsdk.sli.adaptors.aai.path.subnet=/aai/v11/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id}
+org.onap.ccsdk.sli.adaptors.aai.path.subnet=/aai/v13/network/l3-networks/l3-network/{network-id}/subnets/subnet/{subnet-id}
 
 # multicast-configuration
-org.onap.ccsdk.sli.adaptors.aai.path.multicast.configuration=/aai/v11/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}
+org.onap.ccsdk.sli.adaptors.aai.path.multicast.configuration=/aai/v13/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}
 
 # org.onap.ccsdk.sli.adaptors.aai.path.l.interface.ipv4.address.list
-org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv4.address.list=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
 
 # org.onap.ccsdk.sli.adaptors.aai.path.l.interface.vlan.ipv4.address.list
-org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.vlan.ipv4.address.list=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
+org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.vlan.ipv4.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/vlans/vlan/{vlan-interface}/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}
 
 # org.onap.ccsdk.sli.adaptors.aai.path.l.interface.ipv6.address.list
-org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv6.address.list=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
+org.onap.ccsdk.sli.adaptors.aai.path.l3-interface.ipv6.address.list=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}
 
 # volume.group
-org.onap.ccsdk.sli.adaptors.aai.path.volume.group=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id}
+org.onap.ccsdk.sli.adaptors.aai.path.volume.group=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/volume-groups/volume-group/{volume-group-id}
 
 #cloud region
-org.onap.ccsdk.sli.adaptors.aai.path.cloud.region=/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}
+org.onap.ccsdk.sli.adaptors.aai.path.cloud.region=/aai/v13/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}
 
 # vf-module
-org.onap.ccsdk.sli.adaptors.aai.path.vf.module=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id}
+org.onap.ccsdk.sli.adaptors.aai.path.vf.module=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/vf-modules/vf-module/{vf-module-id}
 
 # l-interface through generic-vnf
-org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.linterface=/aai/v11/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}
+org.onap.ccsdk.sli.adaptors.aai.path.generic.vnf.linterface=/aai/v13/network/generic-vnfs/generic-vnf/{vnf-id}/l-interfaces/l-interface/{interface-name}
 
 # network-policy
-org.onap.ccsdk.sli.adaptors.aai.path.network.policy=/aai/v11/network/network-policies/network-policy/{network-policy-id}
+org.onap.ccsdk.sli.adaptors.aai.path.network.policy=/aai/v13/network/network-policies/network-policy/{network-policy-id}
 
 # pnf
-org.onap.ccsdk.sli.adaptors.aai.path.pnf=/aai/v11/network/pnfs/pnf/{pnf-name}
+org.onap.ccsdk.sli.adaptors.aai.path.pnf=/aai/v13/network/pnfs/pnf/{pnf-name}
 
 #
 # Formatting
index 2d98d11..bf41d5b 100644 (file)
@@ -22,7 +22,7 @@
 ###                                            ###
 ### Properties for demo  ###
 ###                                            ###
-appc.demo.poolMembers=dmaap.{{.Release.Namespace}}:3904
+appc.demo.poolMembers=message-router.{{.Release.Namespace}}:3904
 appc.demo.topic.read=APPC-CL
 appc.demo.topic.write=APPC-CL
 appc.demo.client.name=appcDemoEventListener
@@ -53,17 +53,13 @@ org.openecomp.appc.db.pass.sdnctl=gamma
 ###                                                                                                                                               ###
 ### OpenStack credentials (these properties also are used in appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle) ###
 ###                                                                                                                                               ###
-provider1.type=OpenStackProvider
-provider1.name=OpenStack
-provider1.identity=http://localhost:8181/apidoc/explorer/index.html
-provider1.tenant1.name=default
-provider1.tenant1.domain=default
-provider1.tenant1.userid=admin
-provider1.tenant1.password=admin
-
-
-
-
+provider1.type={{.Values.config.openStackType}}
+provider1.name={{.Values.config.openStackName}}
+provider1.identity={{.Values.config.openStackKeyStoneUrl}}
+provider1.tenant1.name={{.Values.config.openStackServiceTenantName}}
+provider1.tenant1.domain={{.Values.config.openStackDomain}}
+provider1.tenant1.userid={{.Values.config.openStackUserName}}
+provider1.tenant1.password={{.Values.config.openStackEncryptedPassword}}
 
 ###                                                                                                                                                                                                 ###
 ### Properties that are not covered or being replaced from default.properties files. Default value for DMaaP IP is 10.0.11.1:3904                     ###
@@ -74,11 +70,11 @@ provider1.tenant1.password=admin
 
 # 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.{{.Release.Namespace}}:3904
+dmaap.poolMembers=message-router.{{.Release.Namespace}}:3904
 
 
 # appc-event-listener-bundle properties (only defined in src/test of default.properties)
-appc.LCM.poolMembers=dmaap.{{.Release.Namespace}}:3904
+appc.LCM.poolMembers=message-router.{{.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 +83,8 @@ appc.LCM.provider.pass=admin
 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.{{.Release.Namespace}}:3904
-event.pool.members=dmaap.{{.Release.Namespace}}:3904
+poolMembers=message-router.{{.Release.Namespace}}:3904
+event.pool.members=message-router.{{.Release.Namespace}}:3904
 restconf.user=admin
 restconf.pass=admin
 
@@ -118,12 +114,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.{{.Release.Namespace}}:3904
+DCAE.dmaap.event.pool.members=message-router.{{.Release.Namespace}}:3904
 
 #OAM Listener
 appc.OAM.disabled=true
 appc.OAM.provider.url=http://localhost:8181/restconf/operations/appc-oam
-appc.OAM.poolMembers=dmaap.{{.Release.Namespace}}:3904
+appc.OAM.poolMembers=message-router.{{.Release.Namespace}}:3904
 appc.OAM.service=ueb
 appc.OAM.topic.read=testOAM
 appc.OAM.topic.write=testOAM
index 25560fb..deca2ff 100755 (executable)
@@ -21,7 +21,7 @@
 # ============LICENSE_END=========================================================
 ###
 
-SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk}
 MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
 
 SDNC_DB_USER=${SDNC_DB_USER:-sdnctl}
index b2f7102..1afbf93 100644 (file)
@@ -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.{{.Release.Namespace}}:8443
+org.onap.ccsdk.sli.adaptors.aai.uri=https://aai.{{.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.{{.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
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=https://aai.{{.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.{{.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/templates/pv.yaml b/kubernetes/appc/templates/pv.yaml
new file mode 100644 (file)
index 0000000..1021409
--- /dev/null
@@ -0,0 +1,130 @@
+{{/*
+# Copyright Â© 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{ $pvNum := default 1 .Values.replicaCount | int }}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data0
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}0
+{{ if gt $pvNum 1 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data1
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}1
+{{ end }}
+{{ if gt $pvNum 2 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data2
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}2
+{{ end }}
+{{ if gt $pvNum 3 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data3
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}3
+{{ end }}
+{{ if gt $pvNum 4 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data4
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}4
+{{ end }}
+{{- end -}}
index 6ffef22..6c85985 100644 (file)
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -27,14 +27,17 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: "{{ .Values.service.name }}-8282"
+      name: "{{ .Values.service.portName }}-8282"
     - port: {{ .Values.service.externalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: "{{ .Values.service.name }}-1830"
+      name: "{{ .Values.service.portName }}-1830"
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}-8282
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.portName }}-1830
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
@@ -43,7 +46,7 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}-cluster
+  name: {{ include "common.servicename" . }}-cluster
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -52,7 +55,7 @@ metadata:
     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
 spec:
   ports:
-   - name: "{{ .Values.service.name }}-cluster-port"
+   - name: "{{ .Values.service.portName }}-cluster-port"
      port: {{ .Values.service.clusterPort }}
   clusterIP: None
   selector:
index 5da50a5..e81c50d 100644 (file)
@@ -18,6 +18,8 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
       initContainers:
       - command:
         - /root/ready.py
@@ -112,6 +114,8 @@ spec:
           - mountPath: /opt/onap/ccsdk/bin/installSdncDb.sh
             name: onap-sdnc-bin
             subPath: installSdncDb.sh
+          - mountPath: {{ .Values.persistence.mdsalPath }}
+            name: {{ include "common.fullname" . }}-data
           - mountPath: /var/log/onap
             name: logs
           - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
@@ -182,5 +186,19 @@ spec:
           configMap:
             name: {{ include "common.fullname" . }}-onap-sdnc-bin
             defaultMode: 0755
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+{{ if not .Values.persistence.enabled }}
+        - name: {{ include "common.fullname" . }}-data
+          emptyDir: {}
+{{ else }}
+  volumeClaimTemplates:
+  - metadata:
+      name: {{ include "common.fullname" . }}-data
+      labels:
+        name: {{ include "common.fullname" . }}
+    spec:
+      accessModes: [ {{ .Values.persistence.accessMode }} ]
+      storageClassName: {{ include "common.fullname" . }}-data
+      resources:
+        requests:
+          storage: {{ .Values.persistence.size }}
+{{ end }}
index 8deb842..a0edf64 100644 (file)
@@ -44,6 +44,13 @@ config:
   dmaapTopic: SUCCESS
   logstashServiceName: log-ls
   logstashPort: 5044
+  openStackType: OpenStackProvider
+  openStackName: OpenStack
+  openStackKeyStoneUrl: http://localhost:8181/apidoc/explorer/index.html
+  openStackServiceTenantName: default
+  openStackDomain: default
+  openStackUserName: admin
+  openStackEncryptedPassword: admin
 
 mysql:
   nameOverride: appc-db
@@ -61,6 +68,8 @@ dgbuilder:
   config:
     dbPodName: appc-db
     dbServiceName: appc-dbhost
+  service:
+    name: appc-dgbuilder
 
 # default number of instances
 replicaCount: 3
@@ -84,6 +93,7 @@ readiness:
 service:
   type: NodePort
   name: appc
+  portName: appc
   #targetPort
   internalPort: 8181
   #port
@@ -94,6 +104,28 @@ service:
   nodePort2: 31
   clusterPort: 2550
 
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  accessMode: ReadWriteOnce
+  size: 1Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: appc/mdsal
+  mdsalPath: /opt/opendaylight/current/daexim
+
 ingress:
   enabled: false
 
index 6995f07..55221b1 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -32,7 +32,7 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
     {{- end}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index a35c854..486cbed 100644 (file)
@@ -76,7 +76,8 @@ persistence:
 
 service:
   type: ClusterIP
-  name: mariadb
+  name: clampdb
+  portName: clampdb
   internalPort: 3306
   externalPort: 3306
 
index b680487..bee8f13 100644 (file)
@@ -23,4 +23,4 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
- spring_application_json: {{ .Values.config.springApplicationJson | quote }}
+ spring_application_json: {{ tpl .Values.config.springApplicationJson . | quote }}
index 5918722..ce29de9 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,11 +28,11 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 9d586ac..8b782f9 100644 (file)
@@ -42,17 +42,17 @@ config:
   dataRootDir: /dockerdata-nfs
   springApplicationJson: >
     {
-        "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clamp-mariadb.{{include "common.namespace" .}}:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3",
-        "clamp.config.sdc.catalog.url": "https://sdc-be.{{include "common.namespace" .}}.svc.cluster.local:8443/sdc/v1/catalog/",
-        "clamp.config.sdc.hostUrl": "https://sdc-be.{{include "common.namespace" .}}.svc.cluster.local:8443/",
-        "clamp.config.sdc.serviceUrl": "https://sdc-be.{{include "common.namespace" .}}.svc.cluster.local:8443/sdc/v1/catalog/services",
+        "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clampdb:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3",
+        "clamp.config.sdc.catalog.url": "https://sdc-be:8443/sdc/v1/catalog/",
+        "clamp.config.sdc.hostUrl": "https://sdc-be:8443/",
+        "clamp.config.sdc.serviceUrl": "https://sdc-be:8443/sdc/v1/catalog/services",
         "clamp.config.sdc.serviceUsername": "clamp",
         "clamp.config.sdc.servicePassword": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
-        "clamp.config.dcae.inventory.url": "http://dcaegen2.{{include "common.namespace" .}}.svc.cluster.local:8080",
-        "clamp.config.dcae.dispatcher.url": "http://dcaegen2.{{include "common.namespace" .}}.svc.cluster.local:8080",
-        "clamp.config.policy.pdpUrl1": "https://policy-pdp.{{include "common.namespace" .}}.svc.cluster.local:9091/pdp/ , testpdp, alpha123",
-        "clamp.config.policy.pdpUrl2": "https://policy-pdp.{{include "common.namespace" .}}.svc.cluster.local:9091/pdp/ , testpdp, alpha123",
-        "clamp.config.policy.papUrl": "https://policy-pap.{{include "common.namespace" .}}.svc.cluster.local:8443/pap/ , testpap, alpha123",
+        "clamp.config.dcae.inventory.url": "http://dcaegen2:8080",
+        "clamp.config.dcae.dispatcher.url": "http://dcaegen2:8080",
+        "clamp.config.policy.pdpUrl1": "https://policy-pdp:9091/pdp/ , testpdp, alpha123",
+        "clamp.config.policy.pdpUrl2": "https://policy-pdp:9091/pdp/ , testpdp, alpha123",
+        "clamp.config.policy.papUrl": "https://policy-pap:8443/pap/ , testpap, alpha123",
         "clamp.config.policy.clientKey": "5CE79532B3A2CB4D132FC0C04BF916A7"
     }
 
@@ -70,7 +70,7 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
@@ -84,6 +84,7 @@ readiness:
 service:
   type: NodePort
   name: clamp
+  portName: clamp
   internalPort: 8080
   nodePort: 95
 
index c61cdd5..ffcc711 100644 (file)
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -15,12 +15,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 8b4a07a..76cbf45 100644 (file)
@@ -69,6 +69,7 @@ readiness:
 service:
   type: NodePort
   name: dgbuilder
+  portName: dgbuilder
   externalPort: 3000
   internalPort: 3100
   nodePort: 28
index f5f93ed..d17d350 100644 (file)
@@ -3,7 +3,7 @@ kind: Service
 metadata:
   annotations:
     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.fullname" . }}
@@ -12,8 +12,8 @@ metadata:
     heritage: "{{ .Release.Service }}"
 spec:
   ports:
-    - name: {{ .Values.service.name }}
+    - name: {{ .Values.service.portName }}
       port: {{ .Values.service.internalPort }}
   clusterIP: None
   selector:
-    app: {{ include "common.fullname" . }}
\ No newline at end of file
+    app: {{ include "common.fullname" . }}
index f65a8a5..bf51443 100644 (file)
@@ -70,6 +70,7 @@ persistence:
 service:
   internalPort: 3306
   name: mariadb-galera
+  portName: mariadb-galera
   sstPort: 4444
   sstName: sst
   replicationPort: 4567
@@ -112,4 +113,4 @@ resources:
 nameOverride: mariadb-galera
 
 # DNS name for mariadb-galera cluster - should be unique accross all projects other clusters
-#dnsnameOverride: mariadb-galera
\ No newline at end of file
+#dnsnameOverride: mariadb-galera
index 35894df..d6c6e8c 100644 (file)
@@ -18,7 +18,7 @@
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
-  name: {{ .Release.Name }}-{{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+  name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -62,7 +62,7 @@ spec:
                 fieldRef:
                   fieldPath: status.podIP
             - name: SERVICE_NAME
-              value: {{ .Release.Name }}-{{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+              value: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
             - name: POD_NAMESPACE
               valueFrom:
                 fieldRef:
index 032920c..ed4f72a 100644 (file)
@@ -17,7 +17,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -27,7 +27,7 @@ metadata:
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
@@ -37,7 +37,7 @@ spec:
 kind: Service
 apiVersion: v1
 metadata:
-  name: {{ .Release.Name }}-{{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+  name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
@@ -61,14 +61,14 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}-read
+  name: {{ include "common.servicename" . }}-read
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
@@ -83,7 +83,7 @@ metadata:
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
@@ -99,7 +99,7 @@ metadata:
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
@@ -109,7 +109,7 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}-nodeport
+  name: {{ include "common.servicename" . }}-nodeport
   namespace: {{ include "common.namespace" . }}
   labels:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
index 40310a8..028a440 100644 (file)
@@ -80,6 +80,7 @@ persistence:
 
 service:
   name: mysql
+  portName: mysql
   internalPort: 3306
   # nfs provisioner ports
   nfsPort: 2049
index d8da8ef..12403e7 100644 (file)
@@ -35,7 +35,7 @@ spec:
       name: {{ include "common.name" . }}
     spec:
       containers:
-      - image: "{{ .Values.repository | default .Values.global.repository }}/{{ .Values.image }}"
+      - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         command: ["/usr/local/bin/docker-entrypoint.sh"]
-        args: ["agent","-server","-client","0.0.0.0","-enable-script-checks","-bootstrap-expect=3","-ui","-join","{{ include "common.fullname" . }}.{{ include "common.namespace" . }}"]
+        args: ["agent","-server","-client","0.0.0.0","-enable-script-checks","-bootstrap-expect={{ .Values.replicaCount }}","-ui"]
         name: {{ include "common.name" . }}
index 3b17164..c79662b 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,11 +28,11 @@ spec:
     - port: {{ .Values.service.internalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.internalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name2 }}
+      name: {{ .Values.service.portName2 }}
   selector:
     app: {{ template "common.name" . }}
     release: {{ .Release.Name }}
index e6fa9c1..081ba2a 100644 (file)
@@ -16,7 +16,6 @@
 #################################################################
 global:
   nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
@@ -34,7 +33,7 @@ pullPolicy: Always
 # flag to enable debugging - application support required
 debugEnabled: false
 
-replicaCount: 3
+replicaCount: 1
 
 nodeSelector: {}
 
@@ -42,22 +41,23 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 90
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 90
   periodSeconds: 10
 
 service:
   type: NodePort
-  name: consul-ui
+  name: consul-server
+  portName: consul-ui
   nodePort: 70
   internalPort: 8500
-  name2: consul-join
+  portName2: consul-join
   nodePort2: 71
   internalPort2: 8301
 
index 6b42e0c..8d0abd7 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "hbase-aai",
         "name": "HBase Health Check",
-        "http": "http://hbase.{{ .Values.nsPrefix }}:8080/status/cluster",
+        "http": "http://hbase:8080/status/cluster",
         "method": "GET",
         "header": {
           "Cache-Control": ["no-cache"],
index 2a111d6..0817a19 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "elasticsearch",
         "name": "Search Data Service Document Store",
-        "http": "http://aai-elasticsearch.{{ .Values.nsPrefix }}:9200/_cat/indices?v",
+        "http": "http://aai-elasticsearch:9200/_cat/indices?v",
         "interval": "15s",
         "timeout": "1s"
       },
@@ -18,7 +18,7 @@
       {
         "id": "search-data-service-availability",
         "name": "Search Data Service Availability",
-        "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'",
+        "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:9509/services/search-data-service/v1/jaxrsExample/jaxrs-services/echo/up 2>&1 | grep 'Up'",
         "interval": "15s"
       },
       {
index 0274cd5..f06dec2 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "aai-service",
         "name": "Core A&AI",
-        "http": "https://aai-service.{{ .Values.nsPrefix }}:8443/aai/util/echo",
+        "http": "https://aai-service: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.{{ .Values.nsPrefix }}:8447/aai/util/echo",
+        "http": "https://aai-resources: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.{{ .Values.nsPrefix }}:8446/aai/util/echo",
+        "http": "https://aai-traversal:8446/aai/util/echo",
         "header": {
           "Authorization": ["Basic QUFJOkFBSQ=="],
           "X-TransactionId": ["ConsulHealthCheck"],
index 9505246..c863617 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "appc-dgbuilder",
         "name": "APPC-Dgbuilder Server Health Check",
-        "http": "http://appc-dgbuilder.{{ .Values.nsPrefix }}:3000/",
+        "http": "http://appc-dgbuilder:3000/",
         "method": "HEAD",
         "header": {
           "Authorization": ["Basic ZGd1c2VyOnRlc3QxMjM="],
index f36251a..230d31f 100644 (file)
@@ -3,9 +3,9 @@
     "name": "Health Check: APPC-SDN-CTL-DB-01",
     "checks": [
       {
-        "id": "appc-sdnctldb01.{{ .Values.nsPrefix }}",
+        "id": "appc-sdnctldb01",
         "name": "APPC SDNCTLDB01 Health Check",
-        "tcp": "appc-sdnctldb01.{{ .Values.nsPrefix }}:3306",
+        "tcp": "appc-sdnctldb01:3306",
         "interval": "10s",
         "timeout": "1s"
       }
index 8c8171f..da669e3 100644 (file)
@@ -3,9 +3,9 @@
     "name": "Health Check: APPC-SDN-CTL-DB-02",
     "checks": [
       {
-        "id": "appc-sdnctldb02.{{ .Values.nsPrefix }}",
+        "id": "appc-sdnctldb02",
         "name": "APPC SDNCTLDB02 Health Check",
-        "tcp": "appc-sdnctldb02.{{ .Values.nsPrefix }}:3306",
+        "tcp": "appc-sdnctldb02:3306",
         "interval": "10s",
         "timeout": "1s"
       }
index ec6db9d..1548cab 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "appc-sdnhost",
         "name": "APPC SDN Host Health Check",
-        "http": "http://appc-sdnhost.{{ .Values.nsPrefix }}:8282/apidoc/explorer/index.html",
+        "http": "http://appc-sdnhost:8282/apidoc/explorer/index.html",
         "method": "HEAD",
         "header": {
           "Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
index d14b164..284220e 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "log-elasticsearch-server",
         "name": "Log Elastic Search Health Check",
-        "http": "http://elasticsearch.{{ .Values.nsPrefix }}:9200/_cluster/health?pretty",
+        "http": "http://elasticsearch: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.{{ .Values.nsPrefix }}:9300",
+        "tcp": "elasticsearchtcp:9300",
         "interval": "15s",
         "timeout": "1s"
       }
index cc72bbf..09cc85e 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "log-kibana-server",
         "name": "Log kibana Health Check",
-        "http": "http://kibana.{{ .Values.nsPrefix }}:5601/status",
+        "http": "http://kibana:5601/status",
         "method": "HEAD",
         "tls_skip_verify": true,
         "interval": "15s",
index 9eb60fd..87b51db 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "log-logstash-internal-server-gi",
         "name": "Log Stash Health Check - General Information",
-        "http": "http://logstashinternal.{{ .Values.nsPrefix }}:9600/?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/os?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/jvm?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/plugins?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/stats?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/stats/jvm?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/stats/process?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:9600/_node/stats/os?pretty",
+        "http": "http://logstashinternal: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.{{ .Values.nsPrefix }}:5044",
+        "tcp": "logstash:5044",
         "interval": "15s",
         "timeout": "1s"
       }
index ee0d90e..386e226 100644 (file)
@@ -2,7 +2,7 @@
   "service": {
     "name": "Health Check: Message Router - DMaaP",
     "check": {
-      "http": "http://dmaap.{{ .Values.nsPrefix }}:3904/topics",
+      "http": "http://message-router:3904/topics",
       "interval": "30s",
       "timeout": "1s"
     }
index d15c2ef..ad4e422 100644 (file)
@@ -3,34 +3,34 @@
     "name": "Health Check: MSB",
     "checks": [
       {
-        "id": "msb-eag.{{ .Values.nsPrefix }}",
+        "id": "msb-eag",
         "name": "MSB eag Health Check",
-        "http": "http://msb-eag.{{ .Values.nsPrefix }}:80/iui/microservices/default.html",
+        "http": "http://msb-eag:80/iui/microservices/default.html",
         "method": "HEAD",
         "tls_skip_verify": true,
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "msb-iag.{{ .Values.nsPrefix }}",
+        "id": "msb-iag",
         "name": "MSB iag Health Check",
-        "http": "http://msb-iag.{{ .Values.nsPrefix }}:80/iui/microservices/default.html",
+        "http": "http://msb-iag:80/iui/microservices/default.html",
         "method": "HEAD",
         "tls_skip_verify": true,
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "msb-consul.{{ .Values.nsPrefix }}",
+        "id": "msb-consul",
         "name": "MSB consul Health Check",
-        "tcp": "msb-consul.{{ .Values.nsPrefix }}:8500",
+        "tcp": "msb-consul:8500",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "msb-discovery.{{ .Values.nsPrefix }}",
+        "id": "msb-discovery",
         "name": "MSB discovery Health Check",
-        "tcp": "msb-discovery.{{ .Values.nsPrefix }}:10081",
+        "tcp": "msb-discovery:10081",
         "interval": "15s",
         "timeout": "1s"
       }
diff --git a/kubernetes/consul/resources/config/consul-agent-config/mso-health.json b/kubernetes/consul/resources/config/consul-agent-config/mso-health.json
deleted file mode 100644 (file)
index 1df7714..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-  "service": {
-    "name": "Health Check: MSO",
-    "checks": [
-      {
-        "id": "mso-api-healthcheck",
-        "name": "MSO API Health Check",
-        "script": "/consul/scripts/mso-api-script.sh",
-        "interval": "10s",
-        "timeout": "1s"
-      },
-      {
-        "id": "mso-camunda-healthcheck",
-        "name": "MSO Camunda Health Check",
-        "script": "/consul/scripts/mso-camunda-script.sh",
-        "interval": "10s",
-        "timeout": "1s"
-      },
-      {
-        "id": "mso-jra-healthcheck",
-        "name": "MSO JRA Health Check",
-        "script": "/consul/scripts/mso-jra-script.sh",
-        "interval": "10s",
-        "timeout": "1s"
-      }
-    ]
-  }
-}
diff --git a/kubernetes/consul/resources/config/consul-agent-config/mso-mariabdb.json b/kubernetes/consul/resources/config/consul-agent-config/mso-mariabdb.json
deleted file mode 100644 (file)
index 54bd2ef..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-{
-  "service": {
-    "name": "Health Check: MSO - MariaDb",
-    "checks": [
-      {
-          "id": "mso-mariadb",
-          "name": "MSO Mariadb Health Check",
-          "script": "/consul/scripts/mso-mariadb-script.sh",
-          "interval": "10s",
-          "timeout": "1s"
-      }
-    ]
-
-  }
-}
index dba7c77..3757f4a 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "framework",
         "name": "Framework Health Check",
-        "http": "http://framework.{{ .Values.nsPrefix }}:9001/api/multicloud/v0/swagger.json",
+        "http": "http://framework: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.{{ .Values.nsPrefix }}:9006/api/multicloud-ocata/v0/swagger.json",
+        "http": "http://multicloud-ocata: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.{{ .Values.nsPrefix }}:9004/api/multicloud-vio/v0/swagger.json",
+        "http": "http://multicloud-vio: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.{{ .Values.nsPrefix }}:9005/api/multicloud-titanium_cloud/v0/swagger.json",
+        "http": "http://multicloud-windriver:9005/api/multicloud-titanium_cloud/v0/swagger.json",
         "method": "HEAD",
         "header": {
           "Cache-Control": ["no-cache"],
index 3d26f6e..9ee0945 100755 (executable)
@@ -1,6 +1,6 @@
-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
+if curl -s -X PUT http://aai-elasticsearch: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:9200/searchhealth/stats/testwrite | grep '\"failed\":0'; then
+      if curl -s -X GET http://aai-elasticsearch:9200/searchhealth/stats/testwrite | grep '\"found\":false'; then
          echo Successful PUT, DELETE, GET from Search Document Storage 2>&1
          exit 0
       else
index 5f91c5e..112809c 100755 (executable)
@@ -1,6 +1,6 @@
-APPC_DBHOST_POD=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }}  get pod | grep -o "appc-dbhost-[^[:space:]]*")
+APPC_DBHOST_POD=$(/consul/bin/kubectl -n {{ include "common.namespace" . }}  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
+   if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $APPC_DBHOST_POD -- ./healthcheck.sh |grep -i "mysqld is alive"; then
       echo Success. APPC DBHost is running. 2>&1
       exit 0
    else
index 035e7c8..c85efc3 100755 (executable)
@@ -1,8 +1,8 @@
 
-NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "aai-data-router[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "aai-data-router[^[:space:]]*")
 
 if [ -n "$NAME" ]; then
-   if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- ps -efww | grep 'java' | grep 'data-router' > /dev/null; then
+   if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- ps -efww | grep 'java' | grep 'data-router' > /dev/null; then
 
       echo Success. Synapse process is running. 2>&1
       exit 0
index 9a4b4df..a8babec 100755 (executable)
@@ -1,8 +1,8 @@
 
-NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "aai-model-loader[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "aai-model-loader[^[:space:]]*")
 
 if [ -n "$NAME" ]; then
-   if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- ps -efww | grep 'java' | grep 'model-loader' > /dev/null; then
+   if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- ps -efww | grep 'java' | grep 'model-loader' > /dev/null; then
 
       echo Success. Model Loader process is running. 2>&1
       exit 0
index a109032..6630117 100755 (executable)
@@ -1,6 +1,6 @@
-kafkapod=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "message-router-global-kafka-[^[:space:]]*")
+kafkapod=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "message-router-global-kafka-[^[:space:]]*")
 if [ -n "$kafkapod" ]; then
-   if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $kafkapod -- ps ef | grep -i kafka; then
+   if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $kafkapod -- ps ef | grep -i kafka; then
       echo Success. Kafka process is running. 2>&1
       exit 0
    else
index 47c42d5..fb34057 100755 (executable)
@@ -1,6 +1,6 @@
-zkpod=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "message-router-zookeeper-[^[:space:]]*")
+zkpod=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "message-router-zookeeper-[^[:space:]]*")
 if [ -n "$zkpod" ]; then
-   if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $zkpod -- ps ef | grep -i zookeeper; then
+   if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $zkpod -- ps ef | grep -i zookeeper; then
       echo Success. Zookeeper process is running. 2>&1
       exit 0
    else
index 00a0564..f007e62 100755 (executable)
@@ -1,5 +1,5 @@
 ## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe: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
index 9950cc9..a9ba31a 100755 (executable)
@@ -1,5 +1,5 @@
 ## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe: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
index 27f3b22..4e3664b 100755 (executable)
@@ -1,5 +1,5 @@
 ## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe: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
index c5955f3..85fc431 100755 (executable)
@@ -1,5 +1,5 @@
 ## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://sdc-fe.{{ .Values.nsPrefix }}:8181/sdc1/rest/healthCheck"
+HEALTH_CHECK_ENDPOINT="http://sdc-fe: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
index 27b9b9f..7406481 100755 (executable)
@@ -1,6 +1,6 @@
-SDNC_DBHOST_POD=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }}  get pod | grep -o "sdnc-dbhost-[^[:space:]]*")
+SDNC_DBHOST_POD=$(/consul/bin/kubectl -n {{ include "common.namespace" . }}  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
+   if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $SDNC_DBHOST_POD -- ./healthcheck.sh |grep -i "mysqld is alive"; then
       echo Success. SDNC DBHost is running. 2>&1
       exit 0
    else
index d511873..12bf9bf 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-SEARCH_SERVICE_NAME="search-data-service.{{ .Values.nsPrefix }}"
+SEARCH_SERVICE_NAME="search-data-service.{{ include "common.namespace" . }}"
 SEARCH_SERVICE_PORT=9509
 HEALTH_CHECK_INDEX="healthcheck"
 
@@ -1,5 +1,5 @@
 ## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://mso.{{ .Values.nsPrefix }}:8080/mso/healthcheck"
+HEALTH_CHECK_ENDPOINT="http://so:8080/ecomp/mso/infra/healthcheck"
 HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
 
 READY=$(echo $HEALTH_CHECK_RESPONSE | grep "Application ready")
@@ -1,5 +1,5 @@
 ## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://mso.{{ .Values.nsPrefix }}:8080/networks/rest/healthcheck"
+HEALTH_CHECK_ENDPOINT="http://so:8080/mso/healthcheck"
 HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
 
 READY=$(echo $HEALTH_CHECK_RESPONSE | grep "Application ready")
@@ -1,5 +1,5 @@
 ## Query the health check API.
-HEALTH_CHECK_ENDPOINT="http://mso.{{ .Values.nsPrefix }}:8080/ecomp/mso/infra/healthcheck"
+HEALTH_CHECK_ENDPOINT="http://so:8080/networks/rest/healthcheck"
 HEALTH_CHECK_RESPONSE=$(curl -s $HEALTH_CHECK_ENDPOINT)
 
 READY=$(echo $HEALTH_CHECK_RESPONSE | grep "Application ready")
@@ -1,7 +1,7 @@
-NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "mso-mariadb[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "so-db[^[:space:]]*")
 
    if [ -n "$NAME" ]; then
-       if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+       if /consul/bin/kubectl -n {{ include "common.namespace" . }} 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
index 7796681..15175aa 100755 (executable)
@@ -1,8 +1,8 @@
 
-NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "aai-sparky-be[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "aai-sparky-be[^[:space:]]*")
 
 if [ -n "$NAME" ]; then
-   if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- ps -efww | grep 'java' | grep 'sparky' > /dev/null; then
+   if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- ps -efww | grep 'java' | grep 'sparky' > /dev/null; then
 
       echo Success. UI Backend Service process is running. 2>&1
       exit 0
index dc7768f..fe21db5 100755 (executable)
@@ -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://hbase.{{ .Values.nsPrefix }}:8080/status/cluster)
+GET_CLUSTER_STATUS_RESPONSE=$(curl -si -X GET -H "Accept: text/xml" http://hbase:8080/status/cluster)
 
 if [ -z "$GET_CLUSTER_STATUS_RESPONSE" ]; then
   echo "Tabular store is unreachable."
index bbb080f..bc25011 100755 (executable)
@@ -1,7 +1,7 @@
-NAME=$(/consul/bin/kubectl -n {{ .Values.nsPrefix }} get pod | grep -o "vid-mariadb[^[:space:]]*")
+NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "vid-mariadb[^[:space:]]*")
 
    if [ -n "$NAME" ]; then
-       if /consul/bin/kubectl -n {{ .Values.nsPrefix }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+       if /consul/bin/kubectl -n {{ include "common.namespace" . }} 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
index ec8ec86..105635b 100644 (file)
@@ -33,7 +33,7 @@
       {
         "id": "sdc-catalog-healthcheck",
         "name": "SDC Catalog Health Check",
-        "http": "https://sdc-be.{{ .Values.nsPrefix }}:8443/asdc/v1/catalog/services",
+        "http": "https://sdc-be:8443/asdc/v1/catalog/services",
         "header": {
           "Authorization": ["Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="],
           "X-ECOMP-InstanceID": ["VID"],
index 6ae14af..72e6be9 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "sdnc-dgbuilder",
         "name": "SDNC-DGbuilder Health Check",
-        "http": "http://sdnc-dgbuilder.{{ .Values.nsPrefix }}:3000/",
+        "http": "http://sdnc-dgbuilder:3000/",
         "method": "HEAD",
         "header": {
           "Authorization": ["Basic ZGd1c2VyOnRlc3QxMjM="],
index 0ee5e89..5f42835 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "odl-api-healthcheck",
         "name": "SDNC API Health Check",
-        "http": "http://sdnhost.{{ .Values.nsPrefix }}:8282/restconf/operations/SLI-API:healthcheck",
+        "http": "http://sdnc:8282/restconf/operations/SLI-API:healthcheck",
         "method": "POST",
         "header": {
           "Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
index 092df05..d03ce90 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "sdnc-portal",
         "name": "SDNC Portal Health Check",
-        "http": "http://sdnc-portal.{{ .Values.nsPrefix }}:8843/login",
+        "http": "http://sdnc-portal:8843/login",
         "method": "HEAD",
         "header": {
           "Cache-Control": ["no-cache"],
index ed4a29d..e684c09 100644 (file)
@@ -3,9 +3,9 @@
     "name": "Health Check: SDNC-SDN-CTL-DB-01",
     "checks": [
       {
-        "id": "sdnctldb01.{{ .Values.nsPrefix }}",
+        "id": "sdnctldb01",
         "name": "SDNC SDNCTLDB01 Health Check",
-        "tcp": "sdnctldb01.{{ .Values.nsPrefix }}:3306",
+        "tcp": "sdnc-dbhost:3306",
         "interval": "10s",
         "timeout": "1s"
       }
index 8c4700b..ae4820a 100644 (file)
@@ -3,9 +3,9 @@
     "name": "Health Check: SDNC-SDN-CTL-DB-02",
     "checks": [
       {
-        "id": "sdnctldb02.{{ .Values.nsPrefix }}",
+        "id": "sdnctldb02",
         "name": "SDNC SDNCTLDB02 Health Check",
-        "tcp": "sdnctldb02.{{ .Values.nsPrefix }}:3306",
+        "tcp": "sdnc-dbhost:3306",
         "interval": "10s",
         "timeout": "1s"
       }
index 585b9c0..604b5be 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "sdnc-sdnhost",
         "name": "SDNC SDN Host Health Check",
-        "http": "http://sdnhost.{{ .Values.nsPrefix }}:8282/apidoc/explorer/index.html",
+        "http": "http://sdnhost:8282/apidoc/explorer/index.html",
         "method": "HEAD",
         "header": {
           "Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
diff --git a/kubernetes/consul/resources/config/consul-agent-config/so-health.json b/kubernetes/consul/resources/config/consul-agent-config/so-health.json
new file mode 100644 (file)
index 0000000..565c4a4
--- /dev/null
@@ -0,0 +1,28 @@
+{
+  "service": {
+    "name": "Health Check: SO",
+    "checks": [
+      {
+        "id": "so-api-healthcheck",
+        "name": "SO API Health Check",
+        "script": "/consul/scripts/so-api-script.sh",
+        "interval": "10s",
+        "timeout": "1s"
+      },
+      {
+        "id": "so-camunda-healthcheck",
+        "name": "SO Camunda Health Check",
+        "script": "/consul/scripts/so-camunda-script.sh",
+        "interval": "10s",
+        "timeout": "1s"
+      },
+      {
+        "id": "so-jra-healthcheck",
+        "name": "SO JRA Health Check",
+        "script": "/consul/scripts/so-jra-script.sh",
+        "interval": "10s",
+        "timeout": "1s"
+      }
+    ]
+  }
+}
diff --git a/kubernetes/consul/resources/config/consul-agent-config/so-mariabdb.json b/kubernetes/consul/resources/config/consul-agent-config/so-mariabdb.json
new file mode 100644 (file)
index 0000000..fb55420
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "service": {
+    "name": "Health Check: SO - MariaDb",
+    "checks": [
+      {
+          "id": "so-mariadb",
+          "name": "SO Mariadb Health Check",
+          "script": "/consul/scripts/so-mariadb-script.sh",
+          "interval": "10s",
+          "timeout": "1s"
+      }
+    ]
+
+  }
+}
index 25e670c..3661ac7 100644 (file)
     "name": "Health Check: VFC",
     "checks": [
       {
-        "id": "vfc-catalog.{{ .Values.nsPrefix }}",
+        "id": "vfc-catalog",
         "name": "VFC catalog Health Check",
-        "tcp": "vfc-catalog.{{ .Values.nsPrefix }}:8806",
+        "tcp": "vfc-catalog:8806",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-emsdriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-emsdriver",
         "name": "VFC emsdriver Health Check",
-        "tcp": "vfc-emsdriver.{{ .Values.nsPrefix }}:8206",
+        "tcp": "vfc-ems-driver:8206",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-gvnfmdriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-gvnfmdriver",
         "name": "VFC gvnfmdriver Health Check",
-        "tcp": "vfc-gvnfmdriver.{{ .Values.nsPrefix }}:8484",
+        "tcp": "vfc-generic-vnfm-driver:8484",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-hwvnfmdriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-hwvnfmdriver",
         "name": "VFC hwvnfmdriver Health Check",
-        "tcp": "vfc-hwvnfmdriver.{{ .Values.nsPrefix }}:8482",
+        "tcp": "vfc-huawei-vnfm-driver:8482",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-jujudriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-jujudriver",
         "name": "VFC jujudriver Health Check",
-        "tcp": "vfc-jujudriver.{{ .Values.nsPrefix }}:8483",
+        "tcp": "vfc-juju-vnfm-driver:8483",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-nokiavnfmdriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-nokiavnfmdriver",
         "name": "VFC nokiavnfmdriver Health Check",
-        "tcp": "vfc-nokiavnfmdriver.{{ .Values.nsPrefix }}:8486",
+        "tcp": "vfc-nokia-vnfm-driver:8486",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-nokiav2vnfmdriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-nokiav2vnfmdriver",
         "name": "VFC nokiav2vnfmdriver Health Check",
-        "tcp": "vfc-nokiav2vnfmdriver.{{ .Values.nsPrefix }}:8089",
+        "tcp": "vfc-nokia-v2vnfm-driver:8089",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-nslcm.{{ .Values.nsPrefix }}",
+        "id": "vfc-nslcm",
         "name": "VFC nslcm Health Check",
-        "tcp": "vfc-nslcm.{{ .Values.nsPrefix }}:8403",
+        "tcp": "vfc-nslcm:8403",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-resmgr.{{ .Values.nsPrefix }}",
+        "id": "vfc-resmgr",
         "name": "VFC resmgr Health Check",
-        "tcp": "vfc-resmgr.{{ .Values.nsPrefix }}:8480",
+        "tcp": "vfc-resmgr:8480",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-vnflcm.{{ .Values.nsPrefix }}",
+        "id": "vfc-vnflcm",
         "name": "VFC vnflcm Health Check",
-        "tcp": "vfc-vnflcm.{{ .Values.nsPrefix }}:8801",
+        "tcp": "vfc-vnflcm:8801",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-vnfmgr.{{ .Values.nsPrefix }}",
+        "id": "vfc-vnfmgr",
         "name": "VFC vnfmgr Health Check",
-        "tcp": "vfc-vnfmgr.{{ .Values.nsPrefix }}:8803",
+        "tcp": "vfc-vnfmgr:8803",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-vnfres.{{ .Values.nsPrefix }}",
+        "id": "vfc-vnfres",
         "name": "VFC vnfres Health Check",
-        "tcp": "vfc-vnfres.{{ .Values.nsPrefix }}:8802",
+        "tcp": "vfc-vnfres:8802",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-workflow.{{ .Values.nsPrefix }}",
+        "id": "vfc-workflow",
         "name": "VFC workflow Health Check",
-        "tcp": "vfc-workflow.{{ .Values.nsPrefix }}:10550",
+        "tcp": "vfc-workflow:10550",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-workflowengineactiviti.{{ .Values.nsPrefix }}",
+        "id": "vfc-workflowengineactiviti",
         "name": "VFC workflow-engine Health Check",
-        "tcp": "vfc-workflowengineactiviti.{{ .Values.nsPrefix }}:8080",
+        "tcp": "vfc-workflow-engine:8080",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-ztesdncdriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-ztesdncdriver",
         "name": "VFC ztesdncdriver Health Check",
-        "tcp": "vfc-ztesdncdriver.{{ .Values.nsPrefix }}:8411",
+        "tcp": "vfc-zte-sdnc-driver:8411",
         "interval": "15s",
         "timeout": "1s"
       },
       {
-        "id": "vfc-ztevnfmdriver.{{ .Values.nsPrefix }}",
+        "id": "vfc-ztevnfmdriver",
         "name": "VFC ztevnfmdriver Health Check",
-        "tcp": "vfc-ztevnfmdriver.{{ .Values.nsPrefix }}:8410",
+        "tcp": "vfc-zte-vnfm-driver:8410",
         "interval": "15s",
         "timeout": "1s"
       }
index 2dc6f0a..d6d8d4c 100644 (file)
@@ -5,7 +5,7 @@
       {
         "id": "vid-server",
         "name": "VID Server Health Check",
-        "http": "http://vid-server.{{ .Values.nsPrefix }}:8080/vid/healthCheck",
+        "http": "http://vid:8080/vid/healthCheck",
         "method": "GET",
         "header": {
           "Authorization": ["Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="],
index e984e2a..646922b 100644 (file)
@@ -35,13 +35,13 @@ spec:
       name: {{ include "common.name" . }}
     spec:
       containers:
-      - image: "{{ .Values.repository | default .Values.global.repository }}/{{ .Values.image }}"
+      - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         command:
         - /bin/sh
         - "-c"
         - |
           cp /tmp/consul/config/* /consul/config
-          /usr/local/bin/docker-entrypoint.sh agent -client 0.0.0.0 -enable-script-checks -join {{ .Release.Name }}-{{ .Values.consulServer.nameOverride }}.{{ include "common.namespace" .}}
+          /usr/local/bin/docker-entrypoint.sh agent -client 0.0.0.0 -enable-script-checks -join {{ .Values.consulServer.nameOverride }}.{{ include "common.namespace" .}}
         name: {{ include "common.name" . }}
         volumeMounts:
         - mountPath: /tmp/consul/config
index b35ec35..6ff0390 100644 (file)
@@ -16,7 +16,6 @@
 #################################################################
 global:
   nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
@@ -47,14 +46,14 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 90
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 90
   periodSeconds: 10
 
 service: {}
index a7adb75..f0c1319 100644 (file)
@@ -19,4 +19,3 @@
 .project
 .idea/
 *.tmproj
-dcae-parameters-sample.yaml
\ No newline at end of file
index 3eaca46..24916d0 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright Â© 2017 Amdocs, Bell Canada
+# Copyright Â© 2018 Amdocs, AT&T, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: DCAE Generation 2 bootstrap container
+description: ONAP DCAE Gen2
 name: dcaegen2
-version: 1.1.0
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/Makefile b/kubernetes/dcaegen2/Makefile
new file mode 100644 (file)
index 0000000..c16f23b
--- /dev/null
@@ -0,0 +1,2 @@
+make-dmaap:
+       cd charts && helm dep up dcae-bootstrap
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/Chart.yaml
new file mode 100644 (file)
index 0000000..61cb14c
--- /dev/null
@@ -0,0 +1,22 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+description: ONAP DCAE Bootstrap
+name: dcae-bootstrap
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/requirements.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/requirements.yaml
new file mode 100644 (file)
index 0000000..9f53d90
--- /dev/null
@@ -0,0 +1,25 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
+  - name: postgres
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/config/k8s-plugin.json b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/config/k8s-plugin.json
new file mode 100644 (file)
index 0000000..5d83ff8
--- /dev/null
@@ -0,0 +1,32 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{
+  "namespace" : "{{ if .Values.dcae_ns }}{{ .Values.dcae_ns}}{{ else }}{{include "common.namespace" . }}{{ end}}",
+  "consul_dns_name" : "{{ .Values.config.address.consul.host }}.{{ include "common.namespace" . }}",
+  "image_pull_secrets" : ["{{ include "common.namespace" . }}-docker-registry-key"],
+  "filebeat":
+    {
+      "log_path": "/var/log/onap",
+      "data_path": "/usr/share/filebeat/data",
+      "config_path": "/usr/share/filebeat/filebeat.yml",
+      "config_subpath": "filebeat.yml",
+      "image" : "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}",
+      "config_map" : "dcae-filebeat-configmap"
+    }
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-config_binding_service-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-config_binding_service-inputs.yaml
new file mode 100644 (file)
index 0000000..0ee60c7
--- /dev/null
@@ -0,0 +1,21 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+#TODO would like to make this conditional, as with the other input templates
+# but having template expansion issues trying to do that
+cbs_image: {{ .Values.componentImages.config_binding_service }}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-deployment_handler-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-deployment_handler-inputs.yaml
new file mode 100644 (file)
index 0000000..4143254
--- /dev/null
@@ -0,0 +1,27 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+{{ if .Values.componentImages.deployment_handler }}
+deployment_handler_image: {{ .Values.componentImages.deployment_handler }}
+{{ end }}
+application_config:
+  cloudify:
+    protocol: "http"
+  inventory:
+    protocol: "http"
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_engine-inputs.yaml
new file mode 100644 (file)
index 0000000..dac0ffa
--- /dev/null
@@ -0,0 +1,28 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{
+{{ if .Values.componentImages.holmes_engine }}
+  "he_image" : "{{ .Values.componentImages.holmes_engine }}",
+{{ end }}
+  "msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{include "common.namespace" . }}",
+  "dcae_CL_publish_url": "http://{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}:3904/events/unauthenticated.DCAE_CL_OUTPUT",
+  "ves_fault_publish_url": "http://{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}:3904/events/unauthenticated.SEC_FAULT_OUTPUT",
+  "pgaas_cluster_name" : "{{ .Values.postgres.service.name2 }}.{{include "common.namespace" . }}",
+  "database_name":"holmes"
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-input.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-holmes_rules-input.yaml
new file mode 100644 (file)
index 0000000..1a808d4
--- /dev/null
@@ -0,0 +1,23 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{
+  "msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{include "common.namespace" . }}",
+  "pgaas_cluster_name" : "{{ .Values.postgres.service.name2 }}.{{include "common.namespace" . }}",
+  "database_name":"holmes"
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-inventory-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-inventory-inputs.yaml
new file mode 100644 (file)
index 0000000..8b5da2e
--- /dev/null
@@ -0,0 +1,30 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+sdc_address: '{{ .Values.config.address.sdc }}.{{include "common.namespace" . }}:8443'
+sdc_uri: 'https://{{ .Values.config.address.sdc }}.{{include "common.namespace" . }}:8443'
+sdc_user: "dcae"
+sdc_password: !!str Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+sdc_environment_name: "AUTO"
+sdc_msg_bus_address: '{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}'
+postgres_user_inventory: "postgres"
+postgres_password_inventory: "onap123"
+service_change_handler_image: {{ .Values.componentImages.service_change_handler }}
+{{ if .Values.componentImages.inventory }}
+inventory_image: "{{ .Values.componentImages.inventory }}"
+{{ end }}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-pgaas-initdb-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-pgaas-initdb-inputs.yaml
new file mode 100644 (file)
index 0000000..b201247
--- /dev/null
@@ -0,0 +1,19 @@
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+k8s_pgaas_instance_fqdn: {{ .Values.postgres.service.name2 }}.{{include "common.namespace" . }}
+k8s_initial_password: {{ .Values.postgres.config.pgRootPassword }}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-policy_handler-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-policy_handler-inputs.yaml
new file mode 100644 (file)
index 0000000..8c8d83c
--- /dev/null
@@ -0,0 +1,54 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{{ if .Values.componentImages.policy_handler }}
+policy_handler_image: {{ .Values.componentImages.policy_handler }}
+{{ end }}
+application_config:
+  policy_handler :
+    # parallelize the getConfig queries to policy-engine on each policy-update notification
+    thread_pool_size : 4
+
+    # parallelize requests to policy-engine and keep them alive
+    pool_connections : 20
+
+    # list of policyName prefixes (filters) that DCAE-Controller handles (=ignores any other policyName values)
+    scope_prefixes : ["DCAE.Config_"]
+
+    # retry to getConfig from policy-engine on policy-update notification
+    policy_retry_count : 5
+    policy_retry_sleep : 5
+
+    # policy-engine config
+    # These are the url of and the auth for the external system, namely the policy-engine (PDP).
+    # We obtain that info manually from PDP folks at the moment.
+    # In long run we should figure out a way of bringing that info into consul record
+    #    related to policy-engine itself.
+    policy_engine :
+        url : "http://{{ .Values.config.address.policy_pdp }}.{{include "common.namespace" . }}:8081"
+        path_pdp : "/pdp/"
+        path_api : "/pdp/api/"
+        headers :
+            Accept : "application/json"
+            "Content-Type" : "application/json"
+            ClientAuth : "cHl0aG9uOnRlc3Q="
+            Authorization : "Basic dGVzdHBkcDphbHBoYTEyMw=="
+            Environment : "TEST"
+        target_entity : "policy_engine"
+    # name of deployment-handler service in consul for policy-handler to direct the policy-updates to
+    deploy_handler : "deployment_handler"
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-tca-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-tca-inputs.yaml
new file mode 100644 (file)
index 0000000..f3a6cca
--- /dev/null
@@ -0,0 +1,28 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{{ if .Values.componentImages.tca }}
+tca_image: {{ .Values.componentImages.tca }}
+{{ end }}
+dmaap_host: {{ .Values.config.address.message_router }}.{{include "common.namespace" . }}
+consul_host: {{ .Values.config.address.consul.host }}.{{include "common.namespace" . }}
+cbs_host: config-binding-service
+enableRedisCaching:  {{ .Values.config.redisCaching }}
+{{ if .Values.config.redisHosts }}
+redisHosts: {{ .Values.config.redisHosts }}
+{{ end }}
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml
new file mode 100644 (file)
index 0000000..2e41d1c
--- /dev/null
@@ -0,0 +1,26 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{{ if .Values.componentImages.ves }}
+tag_version: {{ .Values.componentImages.ves }}
+{{ end }}
+external_port : "30235"
+ves_other_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_OTHER_OUTPUT/"
+ves_heartbeat_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT/"
+ves_fault_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_FAULT_OUTPUT/"
+ves_measurement_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/"
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/configmap.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..2c01206
--- /dev/null
@@ -0,0 +1,34 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dcae-config
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dcae-inputs
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/inputs/*").AsConfig . | indent 2 }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/job.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/job.yaml
new file mode 100644 (file)
index 0000000..6229af4
--- /dev/null
@@ -0,0 +1,95 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  completions: 1
+{{/*  backoffLimit: 0*/}}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      restartPolicy: Never
+      initContainers:
+      - name: {{ include "common.name" . }}-readiness
+        image: {{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+          - /root/ready.py
+        args:
+          - --container-name
+          - dcae-cloudify-manager
+          - --container-name
+          - consul-server
+          - --container-name
+          - msb-discovery
+          - --container-name
+          - kube2msb
+          - "-t"
+          - "15"
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+            - mountPath: /inputs
+              name: {{ include "common.fullname" . }}-dcae-inputs
+            - mountPath: /dcae-configs
+              name: {{ include "common.fullname" . }}-dcae-config
+            - mountPath: /etc/localtime
+              name: localtime
+              readOnly: true
+          env:
+            - name: CMADDR
+              value: {{ .Values.config.address.cm }}
+            - name: CMPASS
+              valueFrom:
+                secretKeyRef:
+                  name: {{ include "common.name" . }}-cmpass
+                  key: password
+            - name: CONSUL
+              value: {{ .Values.config.address.consul.host }}:{{ .Values.config.address.consul.port }}
+      volumes:
+        - name: {{ include "common.fullname" . }}-dcae-inputs
+          configMap:
+            name: {{ include "common.fullname" . }}-dcae-inputs
+        - name: {{ include "common.fullname" . }}-dcae-config
+          configMap:
+            name: {{ include "common.fullname" . }}-dcae-config
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+      imagePullSecrets:
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/secret.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/templates/secret.yaml
new file mode 100644 (file)
index 0000000..a328ab2
--- /dev/null
@@ -0,0 +1,31 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.name" . }}-cmpass
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  password: YWRtaW4=
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml
new file mode 100644 (file)
index 0000000..6df05b1
--- /dev/null
@@ -0,0 +1,83 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiZGNhZUBkY2FlLm9uYXAub3JnIiwiYXV0aCI6IlpHOWphMlZ5T21SdlkydGxjZz09In19
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+  # Addresses of ONAP components
+  address:
+    consul:
+      host: consul-server
+      port: 8500
+    cm: dcae-cloudify-manager
+    message_router: message-router
+    msb_discovery: msb-discovery
+    policy_pdp: pdp
+    sdc: sdc-be
+  # redisCaching is a string not a boolean!
+  redisCaching: "false"
+
+# postgres values--overriding defaults in the postgres subchart
+postgres:
+  nameOverride: dcae-db
+  service:
+    name: dcae-postgres
+    name2: dcae-pg-primary
+    name3: dcae-pg-replica
+  container:
+    name:
+      primary: dcae-pg-primary
+      replica: dcae-pg-replica
+  config:
+    pgPrimaryPassword: onapdemodb
+    pgRootPassword: onapdemodb
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.1.8
+
+# DCAE component images to be deployed via Cloudify Manager
+# Use to override default setting in blueprints
+componentImages:
+  #TODO for further investigation: input template expansion issues if we comment this out
+  config_binding_service: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding:2.1.5
+#  deployment_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.deployment-handler:2.1.1
+#  holmes_engine: nexus3.onap.org:10001//onap/holmes/engine-management:v1.0.0
+#  holmes_rules: nexus3.onap.org:10001/onap/holmes/rule-management:v1.0.0
+  inventory: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api:3.0.1
+  policy_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.policy-handler:2.4.1
+  service_change_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.3
+#  tca: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container.tca-cdap-container:1.0.0
+#  ves: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1-latest
+
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+dcae_ns: "dcae"
+
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/.helmignore b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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/dcaegen2/charts/dcae-cloudify-manager/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/Chart.yaml
new file mode 100644 (file)
index 0000000..ff9cf89
--- /dev/null
@@ -0,0 +1,22 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+description: ONAP DCAE Cloudify Manager
+name: dcae-cloudify-manager
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/README.md b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/README.md
new file mode 100644 (file)
index 0000000..9194ef8
--- /dev/null
@@ -0,0 +1,49 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+# DCAE Cloudify Manager Chart
+
+This chart is used to deploy a containerized version of 
+[Cloudify Manager](http://docs.getcloudify.org/4.3.0/intro/cloudify-manager/),
+the orchestration tool used by DCAE.  DCAE uses Cloudify Manager ("CM") to 
+deploy the rest of the DCAE platform as well to deploy DCAE monitoring and
+analytics services dynamically, in response to network events such as VNF startups.
+
+Deployment of CM is the first of two steps in deploying DCAE into ONAP.  After this chart 
+brings up CM, a second chart (the "bootstrap" chart) installs some plugin extensions onto CM 
+and uses CM to deploy some DCAE components. 
+
+## Prerequisites
+The chart requires one Kubernetes secret to be available in the namespace where it is
+being deployed:
+  - `<namespace_name>-docker-registry-key`, the docker registry secret needed to pull images
+  from the Docker repository.  This is the same secret used by other OOM charts.
+
+## DCAE Namespace
+DCAE will use CM deploy a number of containers into the ONAP Kubernetes cluster.  In a production
+environment, DCAE's dynamic deployment of monitoring and analytics services could result in dozens
+of containers being launched.  This chart allows the configuration, through the `dcae_ns` property 
+in the `values.yaml` of a separate namespace used by CM when it needs to deploy containers into
+Kubernetes.  If `dcae_ns` is set, this chart will:
+  - create the namespace.  
+  - create the Docker registry key secret in the namespace.
+  - create some Kubernetes `Services` (of the `ExternalName` type) to map some addresses from the common namespace into the DCAE namespace.
+
+## Use of Consul
+DCAE uses [Consul](http://consul.io) to store configuration data for DCAE components.  In R1, DCAE
+deployed its own Consul cluster.  In R2, DCAE will use the Consul server deployed by OOM.
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/requirements.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/requirements.yaml
new file mode 100644 (file)
index 0000000..1e8f788
--- /dev/null
@@ -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/dcaegen2/charts/dcae-cloudify-manager/resources/config/config.txt b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/config.txt
new file mode 100644 (file)
index 0000000..c33022d
--- /dev/null
@@ -0,0 +1,19 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+[consul]
+address={{ .Values.config.address.consul.host }}:{{ .Values.config.address.consul.port }}
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/log/filebeat.yml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/resources/config/log/filebeat.yml
new file mode 100644 (file)
index 0000000..43de4a2
--- /dev/null
@@ -0,0 +1,72 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+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: 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
+
+logging:
+  level: debug
+
+  # enable file rotation with default configuration
+  to_files: true
+
+  # do not log to syslog
+  to_syslog: false
+
+  files:
+    path: /usr/share/filebeat/logs
+    name: mybeat.log
+    keepfiles: 7
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/configmap.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..6bb02db
--- /dev/null
@@ -0,0 +1,44 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: dcae-filebeat-configmap
+  namespace: {{include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+{{ if .Values.dcae_ns }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: dcae-filebeat-configmap
+  namespace: {{ .Values.dcae_ns }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+{{ end }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..76c83af
--- /dev/null
@@ -0,0 +1,97 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+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: 1
+  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 }}
+          volumeMounts:
+          - mountPath: /opt/onap/config.txt
+            subPath: config.txt
+            name: {{ include "common.fullname" .}}-config
+            readOnly: true
+          - mountPath: /secret
+            name: dcae-token
+            readOnly: true
+          - mountPath: /sys/fs/cgroup
+            name: {{ include "common.fullname" . }}-cgroup
+            readOnly: true
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          securityContext:
+            privileged: True
+          lifecycle:
+            postStart:
+              exec:
+                command:
+                - bash
+                - "-c"
+                - |
+                  set -ex
+                  mkdir -p /var/run/secrets/kubernetes.io/
+                  ln -s /secret /var/run/secrets/kubernetes.io/serviceaccount
+      volumes:
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+        - name: dcae-token
+          secret:
+            secretName: dcae-token
+        - name: {{ include "common.fullname" . }}-cgroup
+          hostPath:
+            path: /sys/fs/cgroup
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/namespace.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/namespace.yaml
new file mode 100644 (file)
index 0000000..fd89aab
--- /dev/null
@@ -0,0 +1,28 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{{ if .Values.dcae_ns}}
+# Create the namespace
+apiVersion: v1
+kind: Namespace
+metadata:
+  name: {{ .Values.dcae_ns }}
+spec:
+  finalizers:
+  - kubernetes
+{{ end }}
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/secret.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/secret.yaml
new file mode 100644 (file)
index 0000000..732110b
--- /dev/null
@@ -0,0 +1,44 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{{ if .Values.dcae_ns}}
+# Create the registry key secret in dcae namespace
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.namespace" . }}-docker-registry-key
+  namespace: {{ .Values.dcae_ns }}
+  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
+{{ end }}
+---
+# Copy of the API token secret, needed to work around /var/run/secrets mount problem
+apiVersion: v1
+kind: Secret
+metadata:
+  name: dcae-token
+  namespace: {{ include "common.namespace" . }}
+  annotations:
+    kubernetes.io/service-account.name: default
+type: kubernetes.io/service-account-token
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/service.yaml
new file mode 100644 (file)
index 0000000..4b76523
--- /dev/null
@@ -0,0 +1,75 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.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 }}
+{{ if .Values.dcae_ns}}
+---
+# Make consul visible inside DCAE component namespace under a well-known name
+apiVersion: v1
+kind: Service
+metadata:
+  name: consul
+  namespace: {{ .Values.dcae_ns }}
+spec:
+  type: ExternalName
+  externalName: {{ .Values.config.address.consul.host }}.{{ include "common.namespace" . }}.svc.cluster.local
+---
+# Make Cloudify Manager visible inside DCAE component namespace under a well-known name
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ .Values.dcae_ns }}
+spec:
+  type: ExternalName
+  externalName: {{ .Values.service.name }}.{{ include "common.namespace" . }}.svc.cluster.local
+{{ end }}
+# Provide alternate name for consul in common namespace to support CM plugin discovery
+apiVersion: v1
+kind: Service
+metadata:
+  name: consul
+  namespace: {{ include "common.namespace" . }}
+spec:
+  type: ExternalName
+  externalName: {{ .Values.config.address.consul.host }}.{{ include "common.namespace" . }}.svc.cluster.local
+---
diff --git a/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml b/kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml
new file mode 100644 (file)
index 0000000..53f7670
--- /dev/null
@@ -0,0 +1,67 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiZGNhZUBkY2FlLm9uYXAub3JnIiwiYXV0aCI6IlpHOWphMlZ5T21SdlkydGxjZz09In19
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+  # Addresses of other ONAP entities
+  address:
+    consul:
+      host: consul-server
+      port: 8500
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.deployments.cm-container:1.3.0
+pullPolicy: Always
+
+# 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: dcae-cloudify-manager
+  externalPort: 80
+  internalPort: 80
+
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+dcae_ns: "dcae"
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/Chart.yaml
new file mode 100644 (file)
index 0000000..4c01d4e
--- /dev/null
@@ -0,0 +1,21 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+description: ONAP DCAE Health Check
+name: dcae-healthcheck
+version: 2.0.0
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/requirements.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/requirements.yaml
new file mode 100644 (file)
index 0000000..d031e2e
--- /dev/null
@@ -0,0 +1,22 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..2166ca9
--- /dev/null
@@ -0,0 +1,65 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+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: 1
+  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: DCAE_NAMESPACE
+              value: {{ .Values.dcae_ns }}
+            - name: ONAP_NAMESPACE
+              value: {{ include "common.namespace" . }}
+            - name: HELM_RELEASE
+              value: {{ .Release.Name }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/templates/service.yaml
new file mode 100644 (file)
index 0000000..0540534
--- /dev/null
@@ -0,0 +1,45 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.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 }}
diff --git a/kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml b/kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml
new file mode 100644 (file)
index 0000000..a4d2f29
--- /dev/null
@@ -0,0 +1,54 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright Â© 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiZGNhZUBkY2FlLm9uYXAub3JnIiwiYXV0aCI6IlpHOWphMlZ5T21SdlkydGxjZz09In19
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+service:
+  name: dcae-healthcheck
+  internalPort: 80
+  externalPort: 80
+  type: ClusterIP
+# 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
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.0.0
+
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+dcae_ns: "dcae"
+
diff --git a/kubernetes/dcaegen2/charts/dcae-redis/.helmignore b/kubernetes/dcaegen2/charts/dcae-redis/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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
@@ -14,5 +14,5 @@
 
 apiVersion: v1
 description: ONAP DCAE Redis
-name: redis
+name: dcae-redis
 version: 2.0.0
@@ -15,8 +15,9 @@
 # limitations under the License.
 # ============LICENSE_END=========================================================
 
-
-if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
+(if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
+  echo "delay by 10 seconds for redis server starting"
+  sleep 10
 
   NODES=""
   echo "====> wait for all {{.Values.replicaCount}} redis pods up"
@@ -24,11 +25,16 @@ if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
   do
     echo "======> $(echo $NODES |wc -w) / {{.Values.replicaCount}} pods up"
     sleep 5
-    RESP=$(wget -vO- --ca-certificate /var/run/secrets/kubernetes.io/serviceaccount/ca.crt  --header "Authorization: Bearer $(</var/run/secrets/kubernetes.io/serviceaccount/token)" https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/namespaces/{{.Release.Namespace}}/pods?labelSelector=app={{.Chart.Name}})
+    RESP=$(wget -vO- --ca-certificate /var/run/secrets/kubernetes.io/serviceaccount/ca.crt  --header "Authorization
+: Bearer $(</var/run/secrets/kubernetes.io/serviceaccount/token)" https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT
+_443_TCP_PORT/api/v1/namespaces/{{.Release.Namespace}}/pods?labelSelector=app={{.Chart.Name}})
 
     IPS=$(echo $RESP | jq -r '.items[].status.podIP')
+    IPS2=$(echo $IPS | sed -e 's/[a-zA-Z]*//g')
+    echo "======> IPs: ["$IPS2"]"
     NODES=""
-    for I in $IPS; do NODES="$NODES $I:{{.Values.service.externalPort}}"; done
+    for I in $IPS2; do NODES="$NODES $I:{{.Values.service.externalPort}}"; done
+    echo "======> nodes: ["$NODES"]"
   done
   echo "====> all {{.Values.replicaCount}} redis cluster pods are up. wait 10 seconds before the next step"; echo
   sleep 10
@@ -36,6 +42,9 @@ if [[ "$HOSTNAME" == *{{.Chart.Name}}-0 ]]; then
   echo "====> Configure the cluster"
 
   # $NODES w/o quotes
+  echo "======> nodes: [$(echo $NODES |paste -s)]"
   redis-trib create --replicas 1 $(echo $NODES |paste -s)
+fi ) &
+
+redis-server /conf/redis.conf
 
-fi
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -31,17 +31,17 @@ spec:
       #Example internal target port if required
       #targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name2 }}
+      name: {{ .Values.service.portName2 }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name2 }}
+      name: {{ .Values.service.portName2 }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
@@ -41,8 +41,7 @@ spec:
           - /bin/sh
           - -c
           - |
-            /opt/scripts/redis-cluster-config.sh &
-            /usr/local/bin/redis-server-config.sh
+            /opt/scripts/redis-cluster-config.sh
           ports:
           - containerPort: {{ .Values.service.internalPort }}
             name: {{ .Values.service.name }}
@@ -29,7 +29,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.redis-cluster-container.redis-cluster-container:1.0.0
+image: onap/org.onap.dcaegen2.deployments.redis-cluster-container:1.0.0
 pullPolicy: Always
 
 # application configuration
@@ -61,11 +61,12 @@ service:
   #Services may use any combination of ports depending on the 'type' of
   #service being defined.
   type: NodePort
-  name: client
+  name: dcae-redis
+  portName: client
   externalPort: 6379
   internalPort: 6379
   nodePort: 86
-  name2: gossip
+  portName2: gossip
   externalPort2: 16379
   internalPort2: 16379
   nodePort2: 87
diff --git a/kubernetes/dcaegen2/dcae-parameters-sample.yaml b/kubernetes/dcaegen2/dcae-parameters-sample.yaml
deleted file mode 100644 (file)
index 251de3a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# 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'
-# UUID of the OpenStack"s Ubuntu 16.04 VM image
-# If your Openstack does not have a buntu 16.04 cloud image, you will have to add one.
-ubuntu1604image_id: '97bbe637-5d42-419a-a2c7-beff33ffa23c'
-# ID of the OpenStack"s VM flavor to be used by DCAEGEN2 VMs (m1.medium/m1.large)
-flavor_id: '4'
-# UUID of the OpenStack"s security group to be used for DCAEGEN2 VMs
-security_group: 'abc0687d-34ab-4d37-8fe8-4b544d94ba71'
-# The name of the OpenStack network where public IP addresses and floating IPs are allocated from
-# This must use the name and not the UUID.  The name must be unique otherwise the installer fails
-public_net: 'public'
-# The name of the OpenStack network where private IP addresses are allocated from
-private_net: 'onap_oam'
-# Group header for OpenStack Keystone parameters
-openstack:
-  # User name
-  username: 'dev'
-  # Password
-  password: 'dev'
-  # Name of the OpenStack tenant/project where DCAEGEN2 VMs are deployed
-  tenant_name: 'dev'
-  # Openstack authentication API URL, for example 'https://horizon.playground.onap.org:5000/v2.0'
-  auth_url: 'http://1.2.3.4:5000/v2.0'
-  # Name of the OpenStack region where DCAEGEN2 VMs are deployed, for example 'RegionOne'
-  region: 'RegionOne'
-# Name of the public key uploaded to OpenStack in the Prepration step
-keypair: 'dcae-g2'
-# Path to the private key within the conatiner (!! Do not change!!)
-key_filename: '/opt/dcae/key'
-# Prefix (location code) of all DCAEGEN2 VMs
-location_prefix: 'onapr1'
-# Domain name of the OpenStack tenant 'onapr1.playground.onap.org'
-location_domain: 'onap-dcaegen2'
-# Location of the raw artifact repo hosting additional boot scripts called by DCAEGEN2 VMs" cloud-init, for example: 'https://nexus.onap.org/service/local/repositories/raw/content'
-codesource_url: 'https://nexus.onap.org/content/sites/raw'
-# Path to the boot scripts within the raw artifact repo, for example: 'org.onap.dcaegen2.deployments.scripts/releases/'
-codesource_version: 'org.onap.dcaegen2.deployments/releases/scripts/'
-
-
diff --git a/kubernetes/dcaegen2/templates/pod.yaml b/kubernetes/dcaegen2/templates/pod.yaml
deleted file mode 100644 (file)
index 711ca44..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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
-metadata:
-  name: {{ .Chart.Name }}
-  namespace: "{{ .Values.nsPrefix }}"
-spec:
-  containers:
-    - name: {{ .Chart.Name }}
-      image: "{{ .Values.image.repository }}"
-      imagePullPolicy: {{ .Values.image.pullPolicy }}
-      volumeMounts:
-      - name: installer-config-mount
-        mountPath: /opt/app/installer/config
-        readOnly: true
-      env:
-      - name: LOCATION
-        value: "{{ .Values.location }}"
-  volumes:
-  - name: installer-config-mount
-    projected:
-      sources:
-      - secret:
-          name: "{{ .Chart.Name }}-openstack-ssh-private-key"
-      - configMap:
-          name: "{{ .Chart.Name }}-config-inputs"
-  imagePullSecrets:
-  - name: "{{ .Values.nsPrefix }}-docker-registry-key"
-  restartPolicy: Never
-#{{ end }}
index eff5ef1..1441743 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright Â© 2017 Amdocs, Bell Canada
+# Copyright Â© 2018 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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:v1.1.0
-  pullPolicy: Always
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+
 redis:
   replicaCount: 6
diff --git a/kubernetes/dmaap/Makefile b/kubernetes/dmaap/Makefile
new file mode 100644 (file)
index 0000000..36ca4f5
--- /dev/null
@@ -0,0 +1,16 @@
+# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+make-dmaap:
+       cd charts && helm dep up dmaap-bus-controller
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/.helmignore b/kubernetes/dmaap/charts/dmaap-bus-controller/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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/dmaap/charts/dmaap-bus-controller/Chart.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/Chart.yaml
new file mode 100644 (file)
index 0000000..430b7d1
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: a Helm chart to deploy ONAP DMaaP Bus Controller (aka dmaap-prov) in Kubernetes
+name: dmaap-bus-controller
+version: 2.0.0
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/README.md b/kubernetes/dmaap/charts/dmaap-bus-controller/README.md
new file mode 100644 (file)
index 0000000..c696a2c
--- /dev/null
@@ -0,0 +1,11 @@
+# Helm Chart for ONAP DMaaP Applications
+
+ONAP includes the following Kubernetes services available in ONAP Beijing Release (more expected in future):
+
+1) message-router - a message bus for applications
+2) dmaap-prov - an API to provision DMaaP resources
+
+# Service Dependencies
+
+message-router depends on AAF
+dmaap-prov depends on AAF and Postgresql.  
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/requirements.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/requirements.yaml
new file mode 100644 (file)
index 0000000..b67ac02
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
+  - name: postgres
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env b/kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env
new file mode 100644 (file)
index 0000000..6b15db9
--- /dev/null
@@ -0,0 +1,14 @@
+DMAAPBC_WAIT_TO_EXIT=Y
+DMAAPBC_PG_ENABLED=true
+# Need to connect to PG primary service, designated by service.name2
+DMAAPBC_PGHOST={{ .Values.postgres.service.name2 }}
+DMAAPBC_PGDBNAME={{ .Values.postgres.config.pgDatabase }}
+DMAAPBC_PGCRED={{ .Values.postgres.config.pgUserPassword }}
+DMAAPBC_PGUSER={{ .Values.postgres.config.pgUserName }}
+DMAAPBC_MR_CNAME={{ .Values.dmaapMessageRouterService }}
+DMAAPBC_AAF_URL={{ .Values.aafURL }}
+DMAAPBC_TOPICMGR_USER={{ .Values.topicMgrUser }}
+DMAAPBC_TOPICMGR_PWD={{ .Values.topicMgrPwd }}
+DMAAPBC_ADMIN_USER={{ .Values.adminUser }}
+DMAAPBC_ADMIN_PWD={{ .Values.adminPwd }}
+
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/templates/NOTES.txt b/kubernetes/dmaap/charts/dmaap-bus-controller/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..fbab5a3
--- /dev/null
@@ -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" . }}-prov)
+  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 "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 }}
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-configmap
-  namespace: {{ .Values.global.nsPrefix }}
+  name: {{ include "common.fullname" . }}-config
+  namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/buscontroller.env").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..2c38792
--- /dev/null
@@ -0,0 +1,94 @@
+# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+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.postgres.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.buscontrollerImage }}:{{ .Values.image.buscontrollerVersion }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          - containerPort: {{ .Values.service.internalPort2 }}
+          {{if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            httpGet:
+              port: {{ .Values.service.internalPort }}
+              path: /webapi/info
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}          
+          readinessProbe:
+            httpGet:
+              port: {{ .Values.service.internalPort }}
+              path: /webapi/info
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          {{ end -}}
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - name: {{ include "common.name" . }}-config
+            mountPath: /opt/app/config/conf
+            subPath: buscontroller.env
+          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.name" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}-config
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/templates/service.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/templates/service.yaml
new file mode 100644 (file)
index 0000000..2660052
--- /dev/null
@@ -0,0 +1,47 @@
+# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+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:
+  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 }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.name }}2
+    {{- 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}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml b/kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml
new file mode 100644 (file)
index 0000000..3acb490
--- /dev/null
@@ -0,0 +1,113 @@
+# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:1.1.1
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+#nsPrefix: onap
+pullPolicy: Always
+
+# application images
+repository: nexus3.onap.org:10001
+
+image:
+  buscontrollerImage: onap/dmaap/buscontroller
+  buscontrollerVersion: 1.0.8
+
+
+# application configuration
+dmaapMessageRouterService: dmaap
+aafURL: https://onap-aaf:8905/proxy/
+topicMgrUser: m23456@dmaapbc.onap.org
+topicMgrPwd: onapdemo
+adminUser: m12345@dmaapbc.onap.org
+adminPwd: onapdemo
+
+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: false
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+
+service:
+  type: ClusterIP
+  name: dmaap-bc
+  externalPort: 8080
+  internalPort: 8080
+  externalPort2: 8443
+  internalPort2: 8443
+
+
+# application configuration override for postgres
+postgres:
+  nameOverride: dbcl-db
+  service:
+    name: dbcl-postgres
+    name2: dbcl-pg-primary
+    name3: dbcl-pg-replica
+  container:
+    name:
+      primary: dbcl-pg-primary
+      replica: dbcl-pg-replica
+  config:
+    pgUserName: dmaap_admin
+    pgDatabase: dmaap
+    pgPrimaryPassword: onapdemodb
+    pgUserPassword: onapdemodb
+    pgRootPassword: onapdemodb
+
+
+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/dmaap/charts/postgresql/Chart.yaml b/kubernetes/dmaap/charts/postgresql/Chart.yaml
deleted file mode 100644 (file)
index c643387..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-name: postgresql
-version: 0.9.3
-description: Object-relational database management system (ORDBMS) with an emphasis on extensibility and on standards-compliance.
-keywords:
-- postgresql
-- postgres
-- database
-- sql
-home: https://www.postgresql.org/
-icon: https://www.postgresql.org/media/img/about/press/elephant.png
-sources:
-- https://github.com/kubernetes/charts
-- https://github.com/docker-library/postgres
-maintainers:
-- name: databus23
-engine: gotpl
diff --git a/kubernetes/dmaap/charts/postgresql/templates/Notes.txt b/kubernetes/dmaap/charts/postgresql/templates/Notes.txt
deleted file mode 100644 (file)
index 9b49bb2..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# PostgreSQL can be accessed via port 5432 on the following DNS name from within your cluster:
-# {{ template "postgresql.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
-# 
-# To get your user password run:
-# 
-#     PGPASSWORD=$(kubectl get secret --namespace {{ .Values.global.nsPrefix }} {{ template "postgresql.fullname" . }} -o jsonpath="{.data.postgres-password}" | base64 --decode; echo)
-# 
-# To connect to your database run the following command (using the env variable from above):
-# 
-#    kubectl run --namespace {{ .Values.global.nsPrefix }} {{ template "postgresql.fullname" . }}-client --restart=Never --rm --tty -i --image postgres \
-#    --env "PGPASSWORD=$PGPASSWORD" \{{- if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
-#    --labels="{{ template "postgresql.fullname" . }}-client=true" \{{- end }}
-#    --command -- psql -U {{ default "postgres" .Values.postgresUser }} \
-#    -h {{ template "postgresql.fullname" . }} {{ default "postgres" .Values.postgresDatabase }}
-# 
-# {{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
-# Note: Since NetworkPolicy is enabled, only pods with label
-# {{ template "postgresql.fullname" . }}-client=true"
-# will be able to connect to this PostgreSQL cluster.
-# {{- end }}
-# 
-# To connect to your database directly from outside the K8s cluster:
-#    {{- if contains "NodePort" .Values.service.type }}
-#      PGHOST=$(kubectl get nodes --namespace {{ .Values.global.nsPrefix }} -o jsonpath='{.items[0].status.addresses[0].address}')
-#      PGPORT=$(kubectl get svc --namespace {{ .Values.global.nsPrefix }} {{ template "postgresql.fullname" . }} -o jsonpath='{.spec.ports[0].nodePort}')
-# 
-#    {{- else if contains "ClusterIP" .Values.service.type }}
-#      PGHOST=127.0.0.1
-#      PGPORT={{ default "5432" .Values.service.port }}
-# 
-#      # Execute the following commands to route the connection:
-#      export POD_NAME=$(kubectl get pods --namespace {{ .Values.global.nsPrefix }} -l "app={{ template "postgresql.fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
-#      kubectl port-forward --namespace {{ .Values.global.nsPrefix }} $POD_NAME {{ default "5432" .Values.service.port }}:{{ default "5432" .Values.service.port }}
-# 
-#    {{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/_helpers.tpl b/kubernetes/dmaap/charts/postgresql/templates/_helpers.tpl
deleted file mode 100644 (file)
index b2d3d52..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-{{/* vim: set filetype=mustache: */}}
-{{/*
-Expand the name of the chart.
-*/}}
-{{- define "postgresql.name" -}}
-{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-
-{{/*
-Create a default fully qualified app name.
-We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
-If release name contains chart name it will be used as a full name.
-*/}}
-{{- define "postgresql.fullname" -}}
-{{- if .Values.fullnameOverride -}}
-{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- $name := default .Chart.Name .Values.nameOverride -}}
-{{- if contains $name .Release.Name -}}
-{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
-{{- else -}}
-{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
-{{- end -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Return the appropriate apiVersion for networkpolicy.
-*/}}
-{{- define "postgresql.networkPolicy.apiVersion" -}}
-{{- if and (ge .Capabilities.KubeVersion.Minor "4") (le .Capabilities.KubeVersion.Minor "6") -}}
-"extensions/v1beta1"
-{{- else if ge .Capabilities.KubeVersion.Minor "7" -}}
-"networking.k8s.io/v1"
-{{- end -}}
-{{- end -}}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/deployment.yaml b/kubernetes/dmaap/charts/postgresql/templates/deployment.yaml
deleted file mode 100644 (file)
index 57acfbd..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ template "postgresql.fullname" . }}
-  namespace: {{ .Values.global.nsPrefix }}
-  labels:
-    app: {{ template "postgresql.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-spec:
-  template:
-    metadata:
-      labels:
-        app: {{ template "postgresql.fullname" . }}
-    spec:
-      {{- if .Values.affinity }}
-      affinity:
-{{ toYaml .Values.affinity | indent 8 }}
-      {{- end }}
-      {{- if .Values.nodeSelector }}
-      nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 8 }}
-      {{- end }}
-      {{- if .Values.tolerations }}
-      tolerations:
-{{ toYaml .Values.tolerations | indent 8 }}
-      {{- end }}
-      {{- if .Values.schedulerName }}
-      schedulerName: "{{ .Values.schedulerName }}"
-      {{- end }}
-      containers:
-      - name: {{ template "postgresql.fullname" . }}
-        image: "{{ .Values.image }}:{{ .Values.imageTag }}"
-        imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }}
-        args:
-          {{- range $key, $value := default dict .Values.postgresConfig }}
-          - -c
-          - '{{ $key | snakecase }}={{ $value }}'
-          {{- end }}
-        env:
-        - name: POSTGRES_USER
-          value: {{ default "postgres" .Values.global.postgresUser | quote }}
-          # Required for pg_isready in the health probes.
-        - name: PGUSER
-          value: {{ default "postgres" .Values.global.postgresUser | quote }}
-        - name: POSTGRES_DB
-          value: {{ default "" .Values.global.postgresDatabase | quote }}
-        - name: POSTGRES_INITDB_ARGS
-          value: {{ default "" .Values.postgresInitdbArgs | quote }}
-        - name: PGDATA
-          value: /var/lib/postgresql/data/pgdata
-        - name: POSTGRES_PASSWORD
-          value: {{ default "postgres" .Values.global.postgresPassword | quote }}
-# original code:
-#          valueFrom:
-#            secretKeyRef:
-#              name: {{ template "postgresql.fullname" . }}
-#              key: postgres-password
-        - name: POD_IP
-          valueFrom: { fieldRef: { fieldPath: status.podIP } }
-        ports:
-        - name: postgresql
-          containerPort: 5432
-        livenessProbe:
-          exec:
-            command:
-            - sh
-            - -c
-            - exec pg_isready --host $POD_IP
-          initialDelaySeconds: 120
-          timeoutSeconds: 5
-          failureThreshold: 6
-        readinessProbe:
-          exec:
-            command:
-            - sh
-            - -c
-            - exec pg_isready --host $POD_IP
-          initialDelaySeconds: 5
-          timeoutSeconds: 3
-          periodSeconds: 5
-        resources:
-{{ toYaml .Values.resources | indent 10 }}
-        volumeMounts:
-        - name: data
-          mountPath: {{ .Values.persistence.mountPath }}
-          subPath: {{ .Values.persistence.subPath }}
-{{- if .Values.metrics.enabled }}
-      - name: metrics
-        image: "{{ .Values.metrics.image }}:{{ .Values.metrics.imageTag }}"
-        imagePullPolicy: {{ default "" .Values.metrics.imagePullPolicy | quote }}
-        env:
-        - name: DATA_SOURCE_NAME
-          value: postgresql://postgres@127.0.0.1:5432?sslmode=disable
-        ports:
-        - name: metrics
-          containerPort: 9187
-        {{- if .Values.metrics.customMetrics }}
-        args: ["-extend.query-path", "/conf/custom-metrics.yaml"]
-        volumeMounts:
-          - name: custom-metrics
-            mountPath: /conf
-            readOnly: true
-        {{- end }}
-        resources:
-{{ toYaml .Values.metrics.resources | indent 10 }}
-{{- end }}
-      volumes:
-      - name: data
-      {{- if .Values.persistence.enabled }}
-        persistentVolumeClaim:
-          claimName: {{ .Values.persistence.existingClaim | default (include "postgresql.fullname" .) }}
-      {{- else }}
-        emptyDir: {}
-      {{- end }}
-      {{- if and .Values.metrics.enabled .Values.metrics.customMetrics }}
-      - name: custom-metrics
-        secret:
-          secretName: {{ template "postgresql.fullname" . }}
-          items:
-            - key: custom-metrics.yaml
-              path: custom-metrics.yaml
-      {{- end }}
-      {{- if .Values.imagePullSecrets }}
-      imagePullSecrets:
-        - name: {{ .Values.imagePullSecrets }}
-      {{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/networkpolicy.yaml b/kubernetes/dmaap/charts/postgresql/templates/networkpolicy.yaml
deleted file mode 100644 (file)
index 92f3b71..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{{- if .Values.networkPolicy.enabled }}
-kind: NetworkPolicy
-apiVersion: {{ template "postgresql.networkPolicy.apiVersion" . }}
-metadata:
-  name: "{{ template "postgresql.fullname" . }}"
-  labels:
-    app: {{ template "postgresql.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-spec:
-  podSelector:
-    matchLabels:
-      app: "{{ template "postgresql.fullname" . }}"
-  ingress:
-    # Allow inbound connections
-    - ports:
-      - port: 5432
-    {{- if not .Values.networkPolicy.allowExternal }}
-      from:
-      - podSelector:
-          matchLabels:
-            {{ template "postgresql.fullname" . }}-client: "true"
-    {{- end }}
-    # Allow prometheus scrapes
-    - ports:
-      - port: 9187
-{{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/pvc.yaml b/kubernetes/dmaap/charts/postgresql/templates/pvc.yaml
deleted file mode 100644 (file)
index f1d38df..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
-  name: {{ template "postgresql.fullname" . }}
-  labels:
-    app: {{ template "postgresql.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 | quote }}
-  resources:
-    requests:
-      storage: {{ .Values.persistence.size | quote }}
-{{- if .Values.persistence.storageClass }}
-{{- if (eq "-" .Values.persistence.storageClass) }}
-  storageClassName: ""
-{{- else }}
-  storageClassName: "{{ .Values.persistence.storageClass }}"
-{{- end }}
-{{- end }}
-{{- end -}}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/secrets.yaml b/kubernetes/dmaap/charts/postgresql/templates/secrets.yaml
deleted file mode 100644 (file)
index 6dd4c7d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ template "postgresql.fullname" . }}
-  labels:
-    app: {{ template "postgresql.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-type: Opaque
-data:
-  {{ if .Values.postgresPassword }}
-  postgres-password:  {{ .Values.postgresPassword | b64enc | quote }}
-  {{ else }}
-  postgres-password: {{ randAlphaNum 10 | b64enc | quote }}
-  {{ end }}
-  {{- if .Values.metrics.customMetrics }}
-  custom-metrics.yaml: {{ toYaml .Values.metrics.customMetrics | b64enc | quote }}
-  {{- end }}
diff --git a/kubernetes/dmaap/charts/postgresql/templates/svc.yaml b/kubernetes/dmaap/charts/postgresql/templates/svc.yaml
deleted file mode 100644 (file)
index f6373c8..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-apiVersion: v1
-kind: Service
-metadata:
-  name: dmaap-prov-{{ template "postgresql.name" . }}
-  namespace: {{ .Values.global.nsPrefix  }}
-  labels:
-    app: {{ template "postgresql.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-{{- if .Values.metrics.enabled }}
-  annotations:
-    prometheus.io/scrape: "true"
-    prometheus.io/port: "9187"
-{{- end }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-  - name: postgresql
-    port: {{ .Values.service.port }}
-    targetPort: postgresql
-  {{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
-    nodePort: {{ .Values.service.nodePort }}
-  {{- end }}
-{{- if .Values.service.externalIPs }}
-  externalIPs:
-{{ toYaml .Values.service.externalIPs | indent 4 }}
-{{- end }}
-  selector:
-    app: {{ template "postgresql.fullname" . }}
diff --git a/kubernetes/dmaap/charts/postgresql/values.yaml b/kubernetes/dmaap/charts/postgresql/values.yaml
deleted file mode 100644 (file)
index 37bbdda..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-## postgres image repository
-image: "postgres"
-## postgres image version
-## ref: https://hub.docker.com/r/library/postgres/tags/
-##
-imageTag: "9.6.2"
-
-## Specify a imagePullPolicy
-## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
-## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
-##
-# imagePullPolicy:
-
-## Specify imagePullSecrets
-## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
-##
-# imagePullSecrets: myregistrykey
-
-## Create a database user
-## Default: postgres
-#postgresUser: "dmaap"
-## Default: random 10 character string
-#postgresPassword:  "onapdemodb"
-
-## Create a database
-## Default: the postgres user
-#postgresDatabase: "dmaap"
-
-## Specify initdb arguments, e.g. --data-checksums
-## ref: https://github.com/docker-library/docs/blob/master/postgres/content.md#postgres_initdb_args
-## ref: https://www.postgresql.org/docs/current/static/app-initdb.html
-# postgresInitdbArgs:
-
-## Use an alternate scheduler, e.g. "stork".
-## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
-##
-# schedulerName:
-
-## Specify runtime config parameters as a dict, using camelCase, e.g.
-## {"sharedBuffers": "500MB"}
-## ref: https://www.postgresql.org/docs/current/static/runtime-config.html
-# postgresConfig:
-
-## 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:
-
-  ## 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: ReadWriteOnce
-  size: 8Gi
-  subPath: "postgresql-db"
-  mountPath: /var/lib/postgresql/data/pgdata
-
-  # annotations: {}
-
-metrics:
-  enabled: false
-  image: wrouesnel/postgres_exporter
-  imageTag: v0.1.1
-  imagePullPolicy: IfNotPresent
-  resources:
-    requests:
-      memory: 256Mi
-      cpu: 100m
-    ## Define additional custom metrics
-    ## ref: https://github.com/wrouesnel/postgres_exporter#adding-new-metrics-via-a-config-file
-    # customMetrics:
-    #   pg_database:
-    #     query: "SELECT d.datname AS name, CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT') THEN pg_catalog.pg_database_size(d.datname) ELSE 0 END AS size FROM pg_catalog.pg_database d where datname not in ('template0', 'template1', 'postgres')"
-    #     metrics:
-    #       - name:
-    #           usage: "LABEL"
-    #           description: "Name of the database"
-    #       - size_bytes:
-    #           usage: "GAUGE"
-    #           description: "Size of the database in bytes"
-
-## Configure resource requests and limits
-## ref: http://kubernetes.io/docs/user-guide/compute-resources/
-##
-resources:
-  requests:
-    memory: 256Mi
-    cpu: 100m
-
-service:
-  type: ClusterIP
-  port: 5432
-  externalIPs: []
-  ## Manually set NodePort value
-  ## Requires service.type: NodePort
-  # nodePort:
-
-networkPolicy:
-  ## Enable creation of NetworkPolicy resources.
-  ##
-  enabled: false
-
-  ## The Policy model to apply. When set to false, only pods with the correct
-  ## client label will have network access to the port PostgreSQL is listening
-  ## on. When true, PostgreSQL will accept connections from any source
-  ## (with the correct destination port).
-  ##
-  allowExternal: true
-
-## Node labels and tolerations for pod assignment
-## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
-## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#taints-and-tolerations-beta-feature
-nodeSelector: {}
-tolerations: []
-affinity: {}
diff --git a/kubernetes/dmaap/resources/config/README.txt b/kubernetes/dmaap/resources/config/README.txt
deleted file mode 100644 (file)
index 5cc0149..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-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/dmaap/resources/config/application.properties b/kubernetes/dmaap/resources/config/application.properties
deleted file mode 100644 (file)
index 496a15a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-sampleConfigKey=sampleConfigValue
\ No newline at end of file
diff --git a/kubernetes/dmaap/resources/config/buscontroller.env b/kubernetes/dmaap/resources/config/buscontroller.env
deleted file mode 100644 (file)
index 74d7822..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-DMAAPBC_PG_ENABLED=true
-DMAAPBC_PGHOST=dmaap-prov-postgresql
-DMAAPBC_PGDBNAME={{ .Values.global.postgresDatabase }}
-DMAAPBC_PGCRED={{ .Values.global.postgresPassword }}
-DMAAPBC_PGUSER={{ .Values.global.postgresUser }}
-DMAAPBC_MR_CNAME={{ .Values.dmaapMessageRouterService }}
-DMAAPBC_AAF_URL={{ .Values.aafURL }}
-DMAAPBC_TOPICMGR_USER={{ .Values.topicMgrUser }}
-DMAAPBC_TOPICMGR_PWD={{ .Values.topicMgrPwd }}
-DMAAPBC_ADMIN_USER={{ .Values.adminUser }}
-DMAAPBC_ADMIN_PWD={{ .Values.adminPwd }}
-
diff --git a/kubernetes/dmaap/templates/deployment.yaml b/kubernetes/dmaap/templates/deployment.yaml
deleted file mode 100644 (file)
index 824548b..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  #name: {{ .Release.Name }}-{{ include "common.name" . }}-buscontroller
-  name: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
-  namespace: {{ .Values.global.nsPrefix }}
-  labels:
-    app: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-spec:
-  replicas: {{ .Values.buscontroller.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
-        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" . }}-{{ .Values.buscontroller.service }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image.buscontrollerImage }}:{{ .Values.image.buscontrollerVersion }}"
-          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          ports:
-          - containerPort: {{ .Values.buscontroller.httpExternalPort }}
-# wait till we get SSL certs before enabling this port
-#          - containerPort: {{ .Values.buscontroller.httpsPort }}
-          # disable liveness probe when breakpoints set in debugger
-          # so K8s doesn't restart unresponsive container
-          {{- if eq .Values.liveness.enabled true }}
-          livenessProbe:
-            httpGet:
-              port: {{ .Values.buscontroller.httpExternalPort }}
-              path: /webapi/info
-            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
-            periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
-          readinessProbe:
-            httpGet:
-              port: {{ .Values.buscontroller.httpExternalPort }}
-              path: /webapi/info
-            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
-          - mountPath: /opt/app/config
-            name: {{ include "common.name" . }}-config
-          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.name" . }}-config
-          configMap:
-            name: {{ include "common.fullname" . }}-configmap
-            items:
-            - key: buscontroller.env
-              path: conf
-#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: "{{ .Values.global.nsPrefix }}-docker-registry-key"
diff --git a/kubernetes/dmaap/templates/service.yaml b/kubernetes/dmaap/templates/service.yaml
deleted file mode 100644 (file)
index 9580e75..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright Â© 2018  AT&T Intellectual Property.  All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#{{ if not .Values.disableBuscontroller }}
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
-  namespace: {{ .Values.global.nsPrefix }}
-  labels:
-    app: {{ .Values.buscontroller.service }}
-    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.buscontroller.type }}
-  ports:
-    {{if eq .Values.buscontroller.type "NodePort" -}}
-    - port: {{ .Values.buscontroller.httpExternalPort }}
-      targetPort: {{ .Values.buscontroller.httpExternalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.buscontroller.httpPort }}
-      name: "{{ .Values.buscontroller.name }}-http-port"
-#    This will be needed when we get SSL certificates
-#    - port: {{ .Values.buscontroller.httpsExternalPort }}
-#      targetPort: {{ .Values.buscontroller.httpsExternalPort }}
-#      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.buscontroller.httpsPort }}
-#      name: "{{ .Values.buscontroller.name }}-https-port"
-    {{- else -}}
-    - port: {{ .Values.buscontroller.externalPort }}
-      targetPort: {{ .Values.buscontroller.httpPort }}
-      name: {{ .Values.buscontroller.name }}
-    {{- end}}
-  selector:
-    app: {{ include "common.name" . }}-{{ .Values.buscontroller.service }}
-    release: {{ .Release.Name }}
-
-#{{ end }}
index f6c4984..76f0383 100644 (file)
@@ -24,95 +24,4 @@ global:
   loggingImage: beats/filebeat:5.5.0
   postgresDatabase: dmaap
   postgresUser: dmaap_admin
-  postgresPassword: onapdemodb
-  nsPrefix: onap
-
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-#nsPrefix: onap
-pullPolicy: Always
-
-# application images
-repository: nexus3.onap.org:10001
-
-image:
-  buscontrollerImage: onap/dmaap/buscontroller
-  buscontrollerVersion: 1.0.5
-
-
-# application configuration
-# Example:
-config:
-#  username: myusername
-#  password: mypassword
-dmaapMessageRouterService: dmaap
-aafURL: https://onap-aaf:8905/proxy/
-topicMgrUser: m23456@dmaapbc.onap.org
-topicMgrPwd: onapdemo
-adminUser: m12345@dmaapbc.onap.org
-adminPwd: onapdemo
-
-
-
-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
-
-buscontroller:
-  service: prov-api
-  type: NodePort
-  name: buscontroller
-  httpExternalPort: 8080
-  httpsExternalPort: 8443
-  httpPort: 42
-  httpsPort: 43
-# default number of instances
-  replicas: 1
-# flag to enable debugging - application support required
-  debugEnabled: false
-
-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
+  postgresPassword: onapdemodb
\ No newline at end of file
index 347442f..a4e13cd 100644 (file)
@@ -80,7 +80,7 @@ spec:
         - name: KAFKA_ZOOKEEPER_CONNECT
           value: "{{.Values.zookeeper.nameOverride}}:{{.Values.config.zookeeperPort}}"
         - name: KAFKA_ADVERTISED_HOST_NAME
-          value: "{{ include "common.fullname" .  }}"
+          value: "{{ include "common.servicename" .  }}"
         - name: KAFKA_BROKER_ID
           value: "0"
         - name: KAFKA_ADVERTISED_LISTENERS
index 7265ecb..45c2616 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name  }}
+  name: {{ include "common.servicename" .  }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,7 +25,7 @@ metadata:
   annotations:
     msb.onap.org/service-info: '[
       {
-          "serviceName": "{{ include "common.fullname" . }}",
+          "serviceName": "{{ include "common.servicename" . }}",
           "version": "v1",
           "url": "/",
           "protocol": "REST",
@@ -40,14 +40,14 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}-{{ .Values.service.externalPort }}
+      name: {{ .Values.service.portName }}-{{ .Values.service.externalPort }}
     - port: {{ .Values.service.externalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}-{{ .Values.service.externalPort2 }}
+      name: {{ .Values.service.portName }}-{{ .Values.service.externalPort2 }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 9c33571..181368d 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/dmaap-mr:1.1.3
+image: onap/dmaap/dmaap-mr:1.1.4
 pullPolicy: Always
 
 nameOverride: dmaap
@@ -68,6 +68,7 @@ readiness:
 service:
   type: NodePort
   name: message-router
+  portName: message-router
   externalPort: 3904
   nodePort: 27
   externalPort2: 3905
index 89c6932..0bc14ea 100644 (file)
@@ -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}}:{{.Values.config.logstashPort}}"]
   #If enable will do load balancing among availabe Logstash, automatically.
   loadbalance: true
 
index 2a0dbe2..d9de3fa 100644 (file)
@@ -20,3 +20,9 @@ global:
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
+
+# application configuration
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+
diff --git a/kubernetes/multicloud/charts/multicloud-ocata/templates/NOTES.txt b/kubernetes/multicloud/charts/multicloud-ocata/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..befedf4
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright Â© 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+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={{ 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 }}
index db03975..a1f72ea 100644 (file)
@@ -60,6 +60,9 @@ service:
   internalPort: 9006
   nodePort: 93
 
+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
diff --git a/kubernetes/multicloud/charts/multicloud-vio/templates/NOTES.txt b/kubernetes/multicloud/charts/multicloud-vio/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..befedf4
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright Â© 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+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={{ 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 }}
index 187f2b9..4fea235 100644 (file)
@@ -60,6 +60,9 @@ service:
   internalPort: 9004
   nodePort: 92
 
+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
diff --git a/kubernetes/multicloud/charts/multicloud-windriver/templates/NOTES.txt b/kubernetes/multicloud/charts/multicloud-windriver/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..befedf4
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright Â© 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+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={{ 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 }}
index 1126284..919289c 100644 (file)
@@ -60,6 +60,9 @@ liveness:
   failureThreshold: 5
   enabled: true
 
+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
diff --git a/kubernetes/multicloud/resources/config/provider-plugin.json b/kubernetes/multicloud/resources/config/provider-plugin.json
new file mode 100644 (file)
index 0000000..0ac4701
--- /dev/null
@@ -0,0 +1,29 @@
+{
+    "openstack": {
+        "vim_type": "openstack",
+        "versions": {
+            "titanium_cloud": {
+                "version": "titanium_cloud",
+                "extra_info_hint": "",
+                "provider_plugin": "multicloud-titanium_cloud"
+            },
+            "ocata": {
+                "version": "ocata",
+                "extra_info_hint": "",
+                "provider_plugin": "multicloud-ocata"
+            }
+        },
+        "provider_plugin": "multicloud-ocata"
+    },
+    "vmware": {
+        "vim_type": "vmware",
+        "versions": {
+            "4.0": {
+                "version": "4.0",
+                "extra_info_hint": "",
+                "provider_plugin": "multicloud-vio"
+            }
+        },
+        "provider_plugin": "multicloud-vio"
+    }
+}
\ No newline at end of file
diff --git a/kubernetes/multicloud/templates/NOTES.txt b/kubernetes/multicloud/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..befedf4
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright Â© 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+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={{ 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 }}
index e420fb9..dc356a3 100644 (file)
@@ -29,3 +29,11 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/framework/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-provider-plugin-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/provider-plugin.json").AsConfig . | indent 2 }}
index f42d5f3..3a0671c 100644 (file)
@@ -61,6 +61,9 @@ spec:
        - mountPath: /opt/multivimbroker/multivimbroker/pub/config/log.yml
          name: framework-logconfig
          subPath: log.yml
+       - mountPath: /opt/multivimbroker/multivimbroker/pub/config/provider-plugin.json
+         name: provider-plugin
+         subPath: provider-plugin.json
        ports:
        - containerPort: {{ .Values.service.internalPort }}
        # disable liveness probe when breakpoints set in debugger
@@ -104,6 +107,9 @@ spec:
      volumes:
      - name: framework-log
        emptyDir: {}
+     - name: provider-plugin
+       configMap:
+         name: {{ include "common.fullname" . }}-provider-plugin-configmap
      - name: framework-data-filebeat
        emptyDir: {}
      - name: filebeat-conf
index 9f18c5e..2b600ae 100644 (file)
@@ -31,7 +31,7 @@ metadata:
       "version": "v0",
       "url": "/api/multicloud/v0",
       "protocol": "REST",
-      "port": {{ .Values.service.externalPort }},
+      "port": "{{ .Values.service.externalPort }}",
       "visualRange": "1"
     }
     ]'
index 8d4f42c..8c9c128 100644 (file)
@@ -45,9 +45,13 @@ dependencies:
     repository: '@local'
     condition: consul.enabled
   - name: dcaegen2
-    version: ~1.1.0
+    version: ~2.0.0
     repository: '@local'
     condition: dcaegen2.enabled
+  - name: dmaap
+    version: ~2.0.0
+    repository: '@local'
+    condition: dmaap.enabled
   - name: esr
     version: ~2.0.0
     repository: '@local'
index a8dd524..651cb91 100644 (file)
@@ -93,10 +93,6 @@ sdnc:
   config:
     enableClustering: false
 
-  dmaap-listener:
-    config:
-      dmaapPort: 3904
-
   mysql:
     disableNfsProvisioner: false
     replicaCount: 1
index a242771..6107f3d 100644 (file)
@@ -58,6 +58,14 @@ aai:
   enabled: true
 appc:
   enabled: true
+  config:
+    openStackType: OpenStackProvider
+    openStackName: OpenStack
+    openStackKeyStoneUrl: http://localhost:8181/apidoc/explorer/index.html
+    openStackServiceTenantName: default
+    openStackDomain: default
+    openStackUserName: admin
+    openStackEncryptedPassword: admin
 clamp:
   enabled: true
 cli:
@@ -94,10 +102,6 @@ sdnc:
   config:
     enableClustering: false
 
-  dmaap-listener:
-    config:
-      dmaapPort: 3904
-
   mysql:
     disableNfsProvisioner: true
     replicaCount: 1
index ab8ce5e..e7c6298 100644 (file)
@@ -18,8 +18,8 @@ BRMSGW_JMX_PORT=9989
 COMPONENT_X_MX_MB=1024
 COMPONENT_X_MS_MB=1024
 
-REST_PAP_URL=http://{{ .Release.Name }}-{{ .Values.global.pap.nameOverride }}:{{.Values.config.papPort}}/pap/
-REST_PDP_ID=http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}:{{.Values.config.pdpPort}}/pdp/
+REST_PAP_URL=http://{{ .Values.global.pap.nameOverride }}:{{.Values.config.papPort}}/pap/
+REST_PDP_ID=http://{{ .Values.global.pdp.nameOverride }}:{{.Values.config.pdpPort}}/pdp/
 
 PDP_HTTP_USER_ID=testpdp
 PDP_HTTP_PASSWORD=alpha123
@@ -29,13 +29,13 @@ PDP_PAP_PDP_HTTP_PASSWORD=alpha123
 M2_HOME=/usr/share/maven
 snapshotRepositoryID=policy-nexus-snapshots
 snapshotRepositoryName=Snapshots
-snapshotRepositoryURL=http://{{ .Release.Name }}-{{ .Values.global.nexus.nameOverride }}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots
+snapshotRepositoryURL=http://{{ .Values.global.nexus.nameOverride }}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots
 releaseRepositoryID=policy-nexus-releases
 releaseRepositoryName=Releases
-releaseRepositoryURL=http://{{ .Release.Name }}-{{ .Values.global.nexus.nameOverride }}:{{.Values.config.nexusPort}}/nexus/content/repositories/releases
+releaseRepositoryURL=http://{{ .Values.global.nexus.nameOverride }}:{{.Values.config.nexusPort}}/nexus/content/repositories/releases
 repositoryUsername=admin
 repositoryPassword=admin123
-UEB_URL=dmaap
+UEB_URL=message-router
 UEB_TOPIC=PDPD-CONFIGURATION
 UEB_API_KEY=
 UEB_API_SECRET=
@@ -54,7 +54,7 @@ ENVIRONMENT=TEST
 
 #Notification Properties... type can be either websocket, ueb, or dmaap
 BRMS_NOTIFICATION_TYPE=websocket
-BRMS_UEB_URL=dmaap
+BRMS_UEB_URL=message-router
 BRMS_UEB_TOPIC=PDPD-CONFIGURATION
 BRMS_UEB_DELAY=
 BRMS_CLIENT_ID=python
index ebec058..594950e 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,11 +28,11 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index e436c0e..4d6c9fd 100644 (file)
@@ -60,6 +60,7 @@ readiness:
 service:
   type: NodePort
   name: brmsgw
+  portName: brmsgw
   externalPort: 9989
   nodePort: 16
 
index c4cc253..c59ed08 100644 (file)
@@ -30,6 +30,14 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      initContainers:
+      - command: ["sh", "-c", "chown -R 200:200 /share"]
+        image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.global.ubuntuInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-init
+        volumeMounts:
+        - mountPath: /share
+          name: nexus-data
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
@@ -53,6 +61,8 @@ spec:
           - mountPath: /etc/localtime
             name: localtime
             readOnly: true
+          - mountPath: /sonatype-work
+            name: nexus-data
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -67,5 +77,12 @@ spec:
         - name: localtime
           hostPath:
             path: /etc/localtime
+        - name: nexus-data
+        {{- if .Values.persistence.enabled }}
+          persistentVolumeClaim:
+            claimName: {{ include "common.fullname" . }}
+        {{- else }}
+          emptyDir: {}
+        {{- end }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/policy/charts/drools/charts/nexus/templates/pv.yaml b/kubernetes/policy/charts/drools/charts/nexus/templates/pv.yaml
new file mode 100644 (file)
index 0000000..8be3d4c
--- /dev/null
@@ -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.Namespace }}/{{ .Values.persistence.mountSubPath }}
+{{- end -}}
diff --git a/kubernetes/policy/charts/drools/charts/nexus/templates/pvc.yaml b/kubernetes/policy/charts/drools/charts/nexus/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e27c331
--- /dev/null
@@ -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 -}}
index 5447d91..ded4657 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,7 +25,7 @@ metadata:
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
index d197ef6..6679876 100644 (file)
@@ -20,6 +20,9 @@ global:
   repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
+  ubuntuInitRepository: oomk8s
+  ubuntuInitImage: ubuntu-init:1.0.0
+  persistence: {}
 
 #################################################################
 # Application configuration defaults.
@@ -58,11 +61,21 @@ readiness:
 service:
   type: NodePort
   name: nexus
+  portName: nexus
   internalPort: 8081
 
 ingress:
   enabled: false
 
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+  volumeReclaimPolicy: Retain
+  accessMode: ReadWriteMany
+  size: 2Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: nexus/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
index 8b110bd..8de7e11 100755 (executable)
@@ -47,7 +47,7 @@
       <repositories>
         <repository>
           <id>policy-nexus-snapshots</id>
-          <url>http://{{.Release.Name}}-{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots/</url>
+          <url>http://{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots/</url>
           <releases>
             <enabled>false</enabled>
             <updatePolicy>always</updatePolicy>
@@ -60,7 +60,7 @@
 
         <repository>
           <id>policy-nexus-releases</id>
-          <url>http://{{.Release.Name}}-{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/releases/</url>
+          <url>http://{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/releases/</url>
           <releases>
             <enabled>true</enabled>
             <updatePolicy>always</updatePolicy>
index a7ab3ee..3b2c1f0 100644 (file)
@@ -29,22 +29,22 @@ ENGINE_MANAGEMENT_PASSWORD=31nst31n
 # nexus repository
 
 snapshotRepositoryID=policy-nexus-snapshots
-snapshotRepositoryUrl=http://{{.Release.Name}}-{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots/
+snapshotRepositoryUrl=http://{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots/
 releaseRepositoryID=policy-nexus-releases
-releaseRepositoryUrl=http://{{.Release.Name}}-{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/releases/
+releaseRepositoryUrl=http://{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/releases/
 repositoryUsername=admin
 repositoryPassword=admin123
 
 # Relational (SQL) DB access 
 
-SQL_HOST={{.Release.Name}}-{{.Values.global.mariadb.nameOverride}}
+SQL_HOST={{.Values.global.mariadb.nameOverride}}
 SQL_USER=policy_user
 SQL_PASSWORD=policy_user
 
 # PDP-D DMaaP configuration channel
 
 PDPD_CONFIGURATION_TOPIC=PDPD-CONFIGURATION
-PDPD_CONFIGURATION_SERVERS=dmaap
+PDPD_CONFIGURATION_SERVERS=message-router
 PDPD_CONFIGURATION_API_KEY=
 PDPD_CONFIGURATION_API_SECRET=
 PDPD_CONFIGURATION_CONSUMER_GROUP=
@@ -53,13 +53,13 @@ PDPD_CONFIGURATION_PARTITION_KEY=
 
 # PAP
 
-PAP_HOST={{.Release.Name}}-{{.Values.global.pap.nameOverride}}
+PAP_HOST={{.Values.global.pap.nameOverride}}
 PAP_USERNAME=testpap
 PAP_PASSWORD=alpha123
 
 # PDP-X
 
-PDP_HOST={{.Release.Name}}-{{.Values.global.pdp.nameOverride}}
+PDP_HOST={{.Values.global.pdp.nameOverride}}
 PDP_USERNAME=testpdp
 PDP_PASSWORD=alpha123
 PDP_CLIENT_USERNAME=python
@@ -69,11 +69,11 @@ PDP_ENVIRONMENT=TEST
 # DCAE DMaaP
 
 DCAE_TOPIC=unauthenticated.DCAE_CL_OUTPUT
-DCAE_SERVERS=dmaap
+DCAE_SERVERS=message-router
 
 # Open DMaaP
 
-DMAAP_SERVERS=dmaap
+DMAAP_SERVERS=message-router
 
 # AAI
 
index 4335f7c..116de09 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,14 +28,14 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}-{{ .Values.service.externalPort }}
+      name: {{ .Values.service.portName }}-{{ .Values.service.externalPort }}
     - port: {{ .Values.service.externalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}-{{ .Values.service.externalPort2 }}
+      name: {{ .Values.service.portName }}-{{ .Values.service.externalPort2 }}
     {{- else -}}
     - port: {{ .Values.service.type.externalPort }}
       targetPort: {{ .Values.service.type.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 7a616d7..5dd49ed 100644 (file)
@@ -23,7 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
-  serviceName: {{ include "common.fullname" . }}
+  serviceName: {{ include "common.servicename" . }}
   replicas: {{ .Values.replicaCount }}
   selector:
     matchLabels:
index 5006bc0..c2504a6 100644 (file)
@@ -61,6 +61,7 @@ readiness:
 service:
   type: NodePort
   name: drools
+  portName: drools
   externalPort: 6969
   nodePort: 17
   externalPort2: 9696
index 5447d91..ded4657 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,7 +25,7 @@ metadata:
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
index 23970cf..eb62715 100644 (file)
@@ -67,7 +67,8 @@ persistence:
 
 service:
   type: ClusterIP
-  name: mariadb
+  name: policydb
+  portName: policydb
   internalPort: 3306
 
 ingress:
index 8325d42..8e0b882 100644 (file)
@@ -27,10 +27,10 @@ TOMCAT_X_MX_MB=1024
 
 # pdp properties
 
-UEB_CLUSTER=dmaap
+UEB_CLUSTER=message-router
 
-REST_PAP_URL=http://{{ .Release.Name }}-{{ .Values.global.pap.nameOverride }}:{{.Values.config.papPort}}/pap/
-REST_PDP_ID=http://{{ include "common.fullname" . }}:{{.Values.service.externalPort}}/pdp/
+REST_PAP_URL=http://{{ .Values.global.pap.nameOverride }}:{{.Values.config.papPort}}/pap/
+REST_PDP_ID=http://${{"{{"}}FQDN{{"}}"}}:{{.Values.service.externalPort}}/pdp/
 REST_PDP_CONFIG=/opt/app/policy/servers/pdp/bin/config
 REST_PDP_WEBAPPS=/opt/app/policy/servers/pdp/webapps
 REST_PDP_REGISTER=true
@@ -46,7 +46,7 @@ PDP_PAP_PDP_HTTP_PASSWORD=alpha123
 
 node_type=pdp_xacml
 resource_name=pdp_1
-dependency_groups=pdplp_1;brmsgw_1
+dependency_groups=brmsgw_1
 test_via_jmx=true
 
 #
index 2021c09..f5f4060 100644 (file)
@@ -17,7 +17,7 @@ LOGPARSER_JMX_PORT=9997
 LOGPARSER_X_MS_MB=1024
 LOGPARSER_X_MX_MB=1024
 
-SERVER=http://{{ include "common.fullname" . }}:{{.Values.service.externalPort}}/pdp/
+SERVER=http://{{ include "common.servicename" . }}:{{.Values.service.externalPort}}/pdp/
 LOGPATH=/opt/app/policy/servers/pdp/logs/pdp-rest.log
 PARSERLOGPATH=IntegrityMonitor.log
 
index df63d38..d44fbb9 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,7 +25,7 @@ metadata:
   annotations:
     msb.onap.org/service-info: '[
       {
-          "serviceName": "{{ include "common.fullname" . }}",
+          "serviceName": "{{ include "common.servicename" . }}",
           "version": "v1",
           "url": "/pdp",
           "protocol": "REST",
@@ -39,13 +39,14 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
   sessionAffinity: None
+  clusterIP: None
index d09c446..29ded61 100644 (file)
@@ -23,7 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
-  serviceName: {{ include "common.fullname" . }}
+  serviceName: {{ include "common.servicename" . }}
   replicas: {{ .Values.replicaCount }}
   selector:
     matchLabels:
index 9595b9d..3287c9f 100644 (file)
@@ -58,12 +58,11 @@ readiness:
   periodSeconds: 10
 
 service:
-  type: NodePort
+  type: ClusterIP
   name: pdp
+  portName: pdp
+  internalPort: 8081
   externalPort: 8081
-  #Example internal target port if required
-  #internalPort: <80>
-  nodePort: 20
 
 ingress:
   enabled: false
index 4549406..ce8a030 100644 (file)
@@ -18,8 +18,8 @@ POLICY_LOGS=/var/log/onap
 KEYSTORE_PASSWD=Pol1cy_0nap
 
 JDBC_DRIVER=org.mariadb.jdbc.Driver
-JDBC_URL=jdbc:mariadb://{{ .Release.Name }}-{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/onap_sdk?failOverReadOnly=false&autoReconnect=true
-JDBC_LOG_URL=jdbc:mariadb://{{ .Release.Name }}-{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/log?failOverReadOnly=false&autoReconnect=true
+JDBC_URL=jdbc:mariadb://{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/onap_sdk?failOverReadOnly=false&autoReconnect=true
+JDBC_LOG_URL=jdbc:mariadb://{{ .Values.global.mariadb.nameOverride }}:{{.Values.config.mariadbPort}}/log?failOverReadOnly=false&autoReconnect=true
 JDBC_USER=policy_user
 JDBC_PASSWORD=policy_user
 
index 35842e4..defae52 100644 (file)
@@ -74,7 +74,7 @@ else
                # (which does nothing if the db is already up-to-date)
                dbuser=$(echo $(grep '^JDBC_USER=' base.conf | cut -f2 -d=))
                dbpw=$(echo $(grep '^JDBC_PASSWORD=' base.conf | cut -f2 -d=))
-               db_upgrade_remote.sh $dbuser $dbpw {{.Release.Name}}-{{.Values.global.mariadb.nameOverride}}
+               db_upgrade_remote.sh $dbuser $dbpw {{.Values.global.mariadb.nameOverride}}
        fi
 
 fi
index a47956b..d972d7c 100644 (file)
@@ -91,7 +91,7 @@ REFRESH_RATE=40000
 #
 
 
-REST_PAP_URL=http://{{.Release.Name}}-{{.Values.global.pap.nameOverride}}:{{.Values.service.externalPort2}}/pap/
+REST_PAP_URL=http://{{.Values.global.pap.nameOverride}}:{{.Values.service.externalPort2}}/pap/
 
 #
 # Config/Action Properties location.
@@ -99,7 +99,7 @@ REST_PAP_URL=http://{{.Release.Name}}-{{.Values.global.pap.nameOverride}}:{{.Val
 
 REST_CONFIG_HOME=/opt/app/policy/servers/pap/webapps/Config/
 REST_ACTION_HOME=/opt/app/policy/servers/pap/webapps/Action/
-REST_CONFIG_URL=http://{{.Release.Name}}-{{.Values.global.pap.nameOverride}}:{{.Values.service.externalPort2}}/
+REST_CONFIG_URL=http://{{.Values.global.pap.nameOverride}}:{{.Values.service.externalPort2}}/
 REST_CONFIG_WEBAPPS=/opt/app/policy/servers/pap/webapps/
 
 # PAP account information
@@ -135,12 +135,12 @@ onap_application_name=
 
 #-----------------------ONAP-PORTAL-Properties----------------------
 
-ONAP_REDIRECT_URL=http://portalapps:8989/ONAPPORTAL/login.htm
-ONAP_REST_URL=http://portalapps:8989/ONAPPORTAL/auxapi
+ONAP_REDIRECT_URL=http://portal-app.{{.Release.Namespace}}:8989/ONAPPORTAL/login.htm
+ONAP_REST_URL=http://portal-app.{{.Release.Namespace}}:8989/ONAPPORTAL/auxapi
 ONAP_UEB_URL_LIST=
 ONAP_PORTAL_INBOX_NAME=
 ONAP_UEB_APP_KEY=
 ONAP_UEB_APP_SECRET=
 ONAP_UEB_APP_MAILBOX_NAME=
 APP_DISPLAY_NAME=ONAP Policy
-ONAP_SHARED_CONTEXT_REST_URL=http://portalapps:8989/ONAPPORTAL/context
+ONAP_SHARED_CONTEXT_REST_URL=http://portal-app.{{.Release.Namespace}}:8989/ONAPPORTAL/context
index 768ebc9..ae9d47c 100644 (file)
@@ -28,7 +28,7 @@ TOMCAT_X_MX_MB=1024
 # pap properties
 
 PAP_PDPS=/opt/app/policy/servers/pap/bin/pdps
-PAP_URL=http://{{ include "common.fullname" . }}:{{.Values.service.externalPort2}}/pap/
+PAP_URL=http://{{ include "common.servicename" . }}:{{.Values.service.externalPort2}}/pap/
 
 PAP_INITIATE_PDP=true
 PAP_HEARTBEAT_INTERVAL=10000
@@ -39,7 +39,7 @@ REST_ADMIN_REPOSITORY=repository
 REST_ADMIN_WORKSPACE=workspace
 
 # PDP related properties
-PAP_PDP_URL=http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-0.{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}:{{ .Values.config.pdpPort }}/pdp/,http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-1.{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}:{{ .Values.config.pdpPort }}/pdp/
+PAP_PDP_URL=http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-0.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/,testpdp,alpha123;http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-1.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/
 PAP_PDP_HTTP_USER_ID=testpdp
 PAP_PDP_HTTP_PASSWORD=alpha123
 
index 430feb4..205497c 100644 (file)
@@ -17,7 +17,7 @@ LOGPARSER_JMX_PORT=9996
 LOGPARSER_X_MS_MB=1024
 LOGPARSER_X_MX_MB=1024
 
-SERVER=http://{{ include "common.fullname" . }}:{{.Values.service.externalPort2}}/pap/
+SERVER=http://{{ include "common.servicename" . }}:{{.Values.service.externalPort2}}/pap/
 LOGPATH=/opt/app/policy/servers/pap/logs/pap-rest.log
 PARSERLOGPATH=IntegrityMonitor.log
 
index 3392fc7..5172086 100644 (file)
@@ -26,7 +26,7 @@ wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-application
 
 sleep 2
 
-curl -v --silent -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -F "file=@cl-amsterdam-template.drl" -F "importParametersJson={\"serviceName\":\"ClosedLoopControlName\",\"serviceType\":\"BRMSPARAM\"}" 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/policyEngineImport' 
+curl -v --silent -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -F "file=@cl-amsterdam-template.drl" -F "importParametersJson={\"serviceName\":\"ClosedLoopControlName\",\"serviceType\":\"BRMSPARAM\"}" 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/policyEngineImport' 
 
 echo "PRELOAD_POLICIES is $PRELOAD_POLICIES"
 
@@ -56,7 +56,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
                        "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
                }
        }
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 sleep 2
 
@@ -76,7 +76,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
                        "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0D%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-scale-up%0D%0A++++name%3A+Create+a+new+VF+Module%0D%0A++++description%3A%0D%0A++++actor%3A+SO%0D%0A++++recipe%3A+VF+Module+Create%0D%0A++++target%3A%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
                }
        }
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 sleep 2
 
@@ -96,7 +96,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
                        "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+VFC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
                }
        }
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 sleep 2
 
@@ -116,7 +116,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
                        "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
                }
        }
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 #########################################Create Micro Service Config policies##########################################
 
@@ -130,7 +130,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
        "policyConfigType": "MicroService",
        "policyName": "com.MicroServicevFirewall",
        "onapName": "DCAE"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 
 sleep 2
@@ -141,7 +141,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
        "policyConfigType": "MicroService",
        "policyName": "com.MicroServicevDNS",
        "onapName": "DCAE"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 
 sleep 2
@@ -152,7 +152,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
        "policyConfigType": "MicroService",
        "policyName": "com.MicroServicevCPE",
        "onapName": "DCAE"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 
 #########################################Creating Decision Guard policy######################################### 
@@ -179,7 +179,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
                        "guardActiveEnd": "00:00:00-05:00" 
                } 
        } 
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 #########################################Push Decision policy#########################################
 
@@ -190,7 +190,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default", 
   "policyName": "com.AllPermitGuard", 
   "policyType": "DECISION" 
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
 
 #########################################Pushing BRMS Param policies##########################################
 
@@ -203,7 +203,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default",
   "policyName": "com.BRMSParamvFirewall",
   "policyType": "BRMS_Param"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
 
 sleep 2
 
@@ -212,7 +212,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default",
   "policyName": "com.BRMSParamvDNS",
   "policyType": "BRMS_Param"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
 
 sleep 2
 
@@ -221,7 +221,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default",
   "policyName": "com.BRMSParamVOLTE",
   "policyType": "BRMS_Param"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
 
 sleep 2
 
@@ -230,7 +230,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default",
   "policyName": "com.BRMSParamvCPE",
   "policyType": "BRMS_Param"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
 
 #########################################Pushing MicroService Config policies##########################################
 
@@ -243,7 +243,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default",
   "policyName": "com.MicroServicevFirewall",
   "policyType": "MicroService"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy'
 
 sleep 10
 
@@ -252,7 +252,7 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default",
   "policyName": "com.MicroServicevDNS",
   "policyType": "MicroService"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' 
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' 
 
 sleep 10
 
@@ -261,4 +261,4 @@ curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Acce
   "pdpGroup": "default",
   "policyName": "com.MicroServicevCPE",
   "policyType": "MicroService"
-}' 'http://{{.Release.Name}}-{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' 
+}' 'http://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' 
index 4d79960..1d06b96 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,14 +28,14 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}-{{ .Values.service.externalPort }}
+      name: {{ .Values.service.portName }}-{{ .Values.service.externalPort }}
     - port: {{ .Values.service.externalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}-{{ .Values.service.externalPort2 }}
+      name: {{ .Values.service.portName }}-{{ .Values.service.externalPort2 }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index bfd2ae1..c2c9747 100644 (file)
@@ -65,7 +65,7 @@ debugEnabled: false
 
 # application configuration
 config:
-  preloadPolicies: true
+  preloadPolicies: false
   pdpPort: 8081
 
 # default number of instances
@@ -90,6 +90,7 @@ readiness:
 service:
   type: NodePort
   name: pap
+  portName: pap
   externalPort: 8443
   nodePort: 19
   externalPort2: 9091
index 876c5c7..9c6fc51 100755 (executable)
@@ -4,7 +4,7 @@
 # validator settings
 #default_error_message = Default error message
 
-login_url_no_ret_val = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm
+login_url_no_ret_val = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/login.htm
 
 user_attribute_name      = user
 
index 3fada2e..10bfa47 100644 (file)
@@ -13,7 +13,7 @@ music.serialize.compress = true
 #By default it's eventual
 music.atomic.get = false
 music.atomic.put = true
-cassandra.host={{.Release.Name}}-{{.Values.cassandra.chart.name}}.{{.Release.Namespace}}
-zookeeper.host={{.Release.Name}}-{{.Values.zookeeper.chart.name}}.{{.Release.Namespace}}
+cassandra.host={{.Values.cassandra.service.name}}
+zookeeper.host={{.Values.zookeeper.service.name}}
 cassandra.user={{.Values.cassandra.config.cassandraUsername}}
-cassandra.password={{.Values.cassandra.config.cassandraPassword}}
\ No newline at end of file
+cassandra.password={{.Values.cassandra.config.cassandraPassword}}
index 2a33551..f99b223 100755 (executable)
@@ -1,3 +1,3 @@
-authentication_server_url = http://portal.api.simpledemo.onap.org:8383/openid-connect-server-webapp/
-ecomp_openid_connect_client = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/openid_connect_login
-ecomp_redirect_uri = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/welcome.htm
+authentication_server_url = http://{{.Values.global.portalHostName}}:8383/openid-connect-server-webapp/
+ecomp_openid_connect_client = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/openid_connect_login
+ecomp_redirect_uri = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/welcome.htm
index 0e3381c..7561e3a 100755 (executable)
@@ -5,10 +5,10 @@ max.idle.time = 5
 user.attribute.name = user_attribute
 
 # for single sign on
-ecomp_redirect_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm
+ecomp_redirect_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/login.htm
 
 # URL of the ECOMP Portal REST API
-ecomp_rest_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi
+ecomp_rest_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/auxapi
 
 ueb_listeners_enable = true
 
@@ -16,7 +16,7 @@ ueb_app_key = 7GkVcrO6sIDb3ngW
 ueb_app_secret = uCYgKjWKK5IxPGNNZzYSSWo9
 ueb_app_mailbox_name = ECOMP-PORTAL-INBOX
 
-ueb_url_list = {{.Values.messageRouter.chart.name}}.{{.Release.Namespace}}
+ueb_url_list = message-router
 ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX
 
 # Consumer group name for UEB topic.
index 765ba02..109d8d2 100755 (executable)
@@ -1,6 +1,6 @@
 #mysql
 db.driver = org.mariadb.jdbc.Driver
-db.connectionURL = jdbc:mariadb:failover://{{.Release.Name}}-{{.Values.mariadb.chart.name}}.{{.Release.Namespace}}:3306/portal
+db.connectionURL = jdbc:mariadb:failover://portal-db:3306/portal
 db.userName =root
 db.password =Aa123456
 db.hib.dialect = org.hibernate.dialect.MySQLDialect
@@ -44,7 +44,7 @@ log_cron                      = 0 * * * * ? *
 sessiontimeout_feed_cron         = 0 0/5 * * * ? *
 
 #Front end URL
-frontend_url                  = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/applicationsHome
+frontend_url                  = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/applicationsHome
 
 
 # An Unqiue 128-bit value defined to indentify a specific version of
@@ -70,7 +70,7 @@ online_user_update_rate                  = 30
 online_user_update_duration       = 300
 
 #authenticate user server
-authenticate_user_server=http://portal.api.simpledemo.onap.org:8383/openid-connect-server-webapp/allUsers
+authenticate_user_server=http://{{.Values.global.portalHostName}}:8383/openid-connect-server-webapp/allUsers
 
 #window width threshold to collapse left/right menu when page onload
 window_width_threshold_left_menu = 1400
@@ -82,7 +82,7 @@ notification_update_duration = 900
 
 #Microservices Related Properties for Portal
 microservices.widget.protocol = http
-microservices.widget.hostname = {{.Release.Name}}-{{.Values.widget.chart.name}}.{{.Release.Namespace}}
+microservices.widget.hostname = portal-widget
 microservices.widget.username = widget_user
 microservices.widget.password = M+KcrCMVrR1rAxtiFE49n1uXC3FCkNBqFgeYsubEC/U=
 #This property won't be needed after consul is functional on VMs -
index 3d139d5..4ccf2b0 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -29,37 +29,37 @@ metadata:
           "version": "v2",
           "url": "/",
           "protocol": "REST"
-          "port": "8989",
+          "port": "{{ .Values.service.externalPort }}",
           "visualRange":"1"
       }
       ]'
 spec:
   type: {{ .Values.service.type }}
   ports:
-    {{if eq .Values.service.type "NodePort" -}}
+    {{- if or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer") }}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     - port: {{ .Values.service.externalPort3 }}
       targetPort: {{ .Values.service.internalPort3 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
-      name: {{ .Values.service.name }}3
+      name: {{ .Values.service.portName }}3
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     - port: {{ .Values.service.externalPort3 }}
       targetPort: {{ .Values.service.internalPort3 }}
-      name: {{ .Values.service.name }}3
-    {{- end}}
+      name: {{ .Values.service.portName }}3
+    {{- end }}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 6d87dae..657fa18 100644 (file)
@@ -31,9 +31,6 @@ repository: nexus3.onap.org:10001
 image: onap/portal-app:2.1-STAGING-latest
 pullPolicy: Always
 
-# flag to enable debugging - application support required
-debugEnabled: false
-
 # default number of instances
 replicaCount: 1
 
@@ -54,8 +51,9 @@ readiness:
   periodSeconds: 10
 
 service:
-  type: NodePort
+  type: LoadBalancer
   name: portal-app
+  portName: portal-app
   externalPort: 8989
   internalPort: 8080
   nodePort: 15
@@ -67,22 +65,22 @@ service:
   nodePort3: 14
 
 mariadb:
-  chart:
+  service:
     name: portal-db
 widget:
-  chart:
+  service:
     name: portal-widget
 cassandra:
-  chart:
+  service:
     name: portal-cassandra
   config:
     cassandraUsername: root
     cassandraPassword: Aa123456
 zookeeper:
-  chart:
+  service:
     name: portal-zookeeper
 messageRouter:
-  chart:
+  service:
     name: message-router
 
 ingress:
index fd42fd4..e0fec18 100644 (file)
@@ -18,5 +18,5 @@ metadata:
   name: {{ include "common.fullname" . }}-docker-entry-initd
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/cassandra/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
 
index 91c4fa4..9e1a57d 100644 (file)
@@ -40,26 +40,35 @@ spec:
         - containerPort: {{ .Values.service.internalPort3 }}
         - containerPort: {{ .Values.service.internalPort4 }}
         - containerPort: {{ .Values.service.internalPort5 }}
-        {{- if eq .Values.liveness.enabled true }}
+        {{ if eq .Values.liveness.enabled true }}
         livenessProbe:
-          tcpSocket:
-            port: {{ .Values.service.internalPort }}
+          exec:
+            command:
+            - /bin/bash
+            - -c
+            - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
-        {{end -}}
+        {{ end }}
         readinessProbe:
-          tcpSocket:
-            port: {{ .Values.service.internalPort }}
+          exec:
+            command:
+            - /bin/bash
+            - -c
+            - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         env:
           - name: CASSUSER
             value: "{{ .Values.config.cassandraUsername }}"
           - name: CASSPASS
+            value: "{{ .Values.config.cassandraPassword }}"
+          - name: JVM_OPTS
+            value: "{{ .Values.config.cassandraJvmOpts }}"  
+          - name: POD_IP
             valueFrom:
-              secretKeyRef:
-                name: {{ template "common.fullname" . }}
-                key: db-root-password
+              fieldRef:
+                fieldPath: status.podIP
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -70,6 +79,8 @@ spec:
         - name: cassandra-docker-entrypoint-initdb
           mountPath: /docker-entrypoint-initdb.d/zzz_portalsdk.cql
           subPath: portalsdk.cql
+        - name: {{ include "common.fullname" . }}-data
+          mountPath: /var/lib/cassandra/data
         resources:
 {{ toYaml .Values.resources | indent 12 }}
       {{- if .Values.nodeSelector }}
@@ -87,5 +98,12 @@ spec:
         - name: localtime
           hostPath:
             path: /etc/localtime
+      {{- if .Values.persistence.enabled }}
+        - name: {{ include "common.fullname" . }}-data
+          persistentVolumeClaim:
+            claimName: {{ include "common.fullname" . }}
+      {{- else }}
+          emptyDir: {}
+      {{- end }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index e78a42e..1217431 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -29,41 +29,41 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     - port: {{ .Values.service.externalPort3 }}
       targetPort: {{ .Values.service.internalPort3 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
-      name: {{ .Values.service.name }}3
+      name: {{ .Values.service.portName }}3
     - port: {{ .Values.service.externalPort4 }}
       targetPort: {{ .Values.service.internalPort4 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
-      name: {{ .Values.service.name }}4
+      name: {{ .Values.service.portName }}4
     - port: {{ .Values.service.externalPort5 }}
       targetPort: {{ .Values.service.internalPort5 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort5 }}
-      name: {{ .Values.service.name }}5
+      name: {{ .Values.service.portName }}5
 
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     - port: {{ .Values.service.externalPort3 }}
       targetPort: {{ .Values.service.internalPort3 }}
-      name: {{ .Values.service.name }}3
+      name: {{ .Values.service.portName }}3
     - port: {{ .Values.service.externalPort4 }}
       targetPort: {{ .Values.service.internalPort4 }}
-      name: {{ .Values.service.name }}4
+      name: {{ .Values.service.portName }}4
     - port: {{ .Values.service.externalPort5 }}
       targetPort: {{ .Values.service.internalPort5 }}
-      name: {{ .Values.service.name }}5
+      name: {{ .Values.service.portName }}5
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index f66b848..ef73954 100644 (file)
@@ -30,6 +30,7 @@ pullPolicy: Always
 config:
   cassandraUsername: root
   cassandraPassword: Aa123456
+  cassandraJvmOpts: -Xmx2536m -Xms2536m
 
 # default number of instances
 replicaCount: 1
@@ -76,6 +77,7 @@ persistence:
 service:
   type: ClusterIP
   name: portal-cassandra
+  portName: portal-cassandra
   externalPort: 9160
   internalPort: 9160
   externalPort2: 7000
index 781b046..f6bd05f 100644 (file)
@@ -4,5 +4,21 @@ Any updates required by OOM to the portaldb are made here.
 1. split up SDC-FE and SDC-BE.  Originally both FE and BE point to the same IP
 while the OOM K8s version has these service split up.
 */
-UPDATE fn_app SET app_rest_endpoint = 'http://sdc.api.be.simpledemo.onap.org:8080/api/v2' where app_name = 'SDC';
-UPDATE fn_app SET app_url = 'http://cli.api.simpledemo.onap.org:8080', app_type = 1 where app_name='CLI';
+-- app_url is the FE, app_rest_endpoint is the BE
+--portal-sdk => TODO: doesn't open a node port yet
+update fn_app set app_url = 'http://{{.Values.config.portalSdkHostName}}:{{.Values.config.portalSdkPort}}/ONAPPORTALSDK/welcome.htm', app_rest_endpoint = 'http://portal-sdk:8990/ONAPPORTALSDK/api/v2' where app_name = 'xDemo App';
+--dmaap-bc => the dmaap-bc doesn't open a node port..
+update fn_app set app_url = 'http://{{.Values.config.dmaapBcHostName}}:{{.Values.config.dmaapBcPort}}/ECOMPDBCAPP/dbc#/dmaap', app_rest_endpoint = 'http://dmaap-bc:8989/ECOMPDBCAPP/api/v2' where app_name = 'DMaaP Bus Ctrl';
+--sdc-be => 8443:30204, 8080:30205
+--sdc-fe => 8181:30206, 9443:30207
+update fn_app set app_url = 'http://{{.Values.config.sdcFeHostName}}:{{.Values.config.sdcFePort}}/sdc1/portal', app_rest_endpoint = 'http://sdc-be:8080/api/v2' where app_name = 'SDC';
+--pap => 8443:30219
+update fn_app set app_url = 'http://{{.Values.config.papHostName}}:{{.Values.config.papPort}}/onap/policy', app_rest_endpoint = 'http://pap:8443/onap/api/v2' where app_name = 'Policy';
+--vid => 8080:30200
+update fn_app set app_url = 'http://{{.Values.config.vidHostName}}:{{.Values.config.vidPort}}/vid/welcome.htm', app_rest_endpoint = 'http://vid:8080/vid/api/v2' where app_name = 'Virtual Infrastructure Deployment';
+--sparky => TODO: sparky doesn't open a node port yet
+update fn_app set app_url = 'http://{{.Values.config.aaiSparkyHostName}}:{{.Values.config.aaiSparkyPort}}/services/aai/webapp/index.html#/viewInspect', app_rest_endpoint = 'http://aai-sparky-be.{{.Release.Namespace}}:9517/api/v2' where app_name = 'A&AI UI';
+--cli => 8080:30260
+update fn_app set app_url = 'http://{{.Values.config.cliHostName}}:{{.Values.config.cliPort}}/', app_type = 1 where app_name = 'CLI';
+--msb-discovery => 10081:30281  this is clearly incorrect
+update fn_app set app_url = 'http://{{.Values.config.msbDiscoveryHostName}}:{{.Values.config.msbDiscoveryPort}}/iui/microservices/default.html' where app_name = 'MSB';
\ No newline at end of file
index bdb760d..acb26a2 100644 (file)
@@ -52,7 +52,7 @@ spec:
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
             - name: MYSQL_HOST
-              value: "{{ include "common.fullname" . }}"
+              value: "{{ include "common.servicename" . }}"
             - name: MYSQL_ROOT_PASSWORD
               valueFrom:
                 secretKeyRef:
index 5dad1c0..b6eea90 100644 (file)
@@ -51,7 +51,7 @@ spec:
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: DB_HOST
-          value: "{{ include "common.fullname" . }}"
+          value: "{{ include "common.servicename" . }}"
         - name: DB_USER
           value: {{ .Values.config.mariadbUser }}
         - name: DB_PASS
@@ -64,7 +64,7 @@ spec:
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: DB_HOST
-          value: "{{ include "common.fullname" . }}"
+          value: "{{ include "common.servicename" . }}"
         - name: DB_USER
           value: {{ .Values.config.mariadbUser }}
         - name: DB_PORT
@@ -87,4 +87,4 @@ spec:
           name: {{ include "common.fullname" . }}-mariadb
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
-      restartPolicy: Never
\ No newline at end of file
+      restartPolicy: Never
index 11b3b48..2e0c0be 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -32,7 +32,7 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
     {{- end}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index c7ecea5..7d9b82a 100644 (file)
@@ -36,7 +36,38 @@ config:
   mariadbRootPassword: Aa123456
   #The directory where sql files are found in the projects gerrit repo.
   sqlSourceDirectory: portal/deliveries
-
+  # sdc frontend assignment for port 8181
+  sdcFePort: "30206"
+  # application's front end hostname.  Must be resolvable on the client side environment
+  sdcFeHostName: "sdc.api.fe.simpledemo.onap.org"
+  # policy pap ui assignment for port 8443
+  papPort: "30219"
+  # application's front end hostname.  Must be resolvable on the client side environment
+  papHostName: "policy.api.simpledemo.onap.org"
+  # vid ui  assignment for port 8080
+  vidPort: "30200"
+  # application's front end hostname.  Must be resolvable on the client side environment
+  vidHostName: "vid.api.simpledemo.onap.org"
+  # aai sparky ui assignment for port 8080
+  aaiSparkyPort: "" # TODO: populate with
+  # application's front end hostname.  Must be resolvable on the client side environment
+  aaiSparkyHostName: "aai.api.sparky.simpledemo.onap.org"
+  # cli ui  assignment for port 8080
+  cliPort: "30260"
+  # application's front end hostname.  Must be resolvable on the client side environment
+  cliHostName: "cli.api.simpledemo.onap.org"
+  # portal sdk (demo app) ui assignment for port 8990
+  portalSdkPort: "" # TODO: populate with port
+  # application's front end hostname.  Must be resolvable on the client side environment
+  portalSdkHostName: "portal-sdk.simpledemo.onap.org"
+  # dmaap bus controller ui assignment for port ?
+  dmaapBcPort: "" # TODO: populate with
+  # application's front end hostname.  Must be resolvable on the client side environment
+  dmaapBcHostName: "dmaap-bc.simpledemo.onap.org"
+  # msb discovery ui assignment for port ?
+  msbDiscoveryPort: "30281"
+  # application's front end hostname.  Must be resolvable on the client side environment
+  msbDiscoveryHostName: "msb.api.discovery.simpledemo.onap.org"
 
 # default number of instances
 replicaCount: 1
@@ -82,7 +113,8 @@ persistence:
 
 service:
   type: ClusterIP
-  name: mariadb
+  name: portal-db
+  portName: portal-db
   externalPort: 3306
   internalPort: 3306
 
index 59d438a..b177976 100644 (file)
@@ -14,7 +14,7 @@ music.serialize.compress = true
 music.atomic.get = false
 music.atomic.put = true
 
-cassandra.host={{.Release.Name}}-{{.Values.cassandra.chart.name}}.{{.Release.Namespace}}
-zookeeper.host={{.Release.Name}}-{{.Values.zookeeper.chart.name}}.{{.Release.Namespace}}
+cassandra.host={{.Values.cassandra.service.name}}
+zookeeper.host={{.Values.zookeeper.service.name}}
 cassandra.user={{.Values.cassandra.config.cassandraUsername}}
-cassandra.password={{.Values.cassandra.config.cassandraPassword}}
\ No newline at end of file
+cassandra.password={{.Values.cassandra.config.cassandraPassword}}
index 4b6f251..f161609 100755 (executable)
@@ -20,17 +20,17 @@ use_rest_for_functional_menu=true
 portal.api.impl.class = org.onap.portalapp.service.OnBoardingApiServiceImpl
 
 # CSP Global Log On for single sign on
-ecomp_redirect_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm
+ecomp_redirect_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/login.htm
 
 # URL of the ECOMP Portal REST API
 
-ecomp_rest_url = http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi
+ecomp_rest_url = http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/auxapi
 
 # Applications do not need to run a UEB listener in 1610.
 ueb_listeners_enable = false
 
 # UEB Configuration
-ueb_url_list = {{.Values.messageRouter.chart.name}}.{{.Release.Namespace}}
+ueb_url_list = message-router
 # ECOMP Portal listens on this UEB topic
 ecomp_portal_inbox_name = ECOMP-PORTAL-INBOX
 # Replace these 3 default values with the ones for your specific App,
index 6fbf5b7..2d92cd3 100755 (executable)
@@ -24,7 +24,7 @@ decryption_key                                  = AGLDdG4D04BKm2IxIWEr8o==
 ##########################################################################
 
 db.driver = org.mariadb.jdbc.Driver
-db.connectionURL = jdbc:mariadb://{{.Release.Name}}-{{.Values.mariadb.chart.name}}.{{.Release.Namespace}}:3306/ecomp_sdk
+db.connectionURL = jdbc:mariadb://portal-db:3306/ecomp_sdk
 db.userName = root
 db.password = Aa123456
 db.min_pool_size = 5
@@ -62,7 +62,7 @@ guard_notebook_url=
 
 #authenticate user server
 #TODO: what is this URL supposed to be pointing to?  Nothing in portal opens 8383
-authenticate_user_server=http://portal.onap.org:8383/openid-connect-server-webapp/allUsers
+authenticate_user_server=http://{{.Values.global.portalHostName}}:8383/openid-connect-server-webapp/allUsers
 
 #cookie domain
 cookie_domain = onap.org
index 1c94c78..3b1d1fd 100644 (file)
@@ -38,7 +38,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.mariadb.chart.name }}
+        - "portal-db"
         env:
         - name: NAMESPACE
           valueFrom:
index 46bdf8d..75d4a14 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -29,12 +29,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 94c1103..4974ea2 100644 (file)
@@ -56,26 +56,27 @@ readiness:
 service:
   type: ClusterIP
   name: portal-sdk
+  portName: portal-sdk
   externalPort: 8990
   internalPort: 8080
 
 mariadb:
-  chart:
+  service:
     name: portal-db
 widget:
-  chart:
+  service:
     name: portal-widget
 cassandra:
-  chart:
+  service:
     name: portal-cassandra
   config:
     cassandraUsername: root
     cassandraPassword: Aa123456
 zookeeper:
-  chart:
+  service:
     name: portal-zookeeper
 messageRouter:
-  chart:
+  service:
     name: message-router
 
 ingress:
index b7a2073..7388349 100644 (file)
@@ -6,7 +6,7 @@ spring.http.multipart.max-request-size=128MB
 microservice.widget.location=/tmp
 
 ## App DB Properties
-spring.datasource.url=jdbc:mysql://{{.Release.Name}}-{{.Values.mariadb.chart.name}}.{{include "common.namespace" .}}:3306/portal
+spring.datasource.url=jdbc:mysql://portal-db:3306/portal
 spring.datasource.username=root
 spring.datasource.password=Aa123456
 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
@@ -19,7 +19,7 @@ security.user.name=widget_user
 security.user.password=ENC(IjywcRnI9+nuVEh9+OFFiRWAjBT1n718)
 
 initialization.default.widgets=true
-initialization.widgetData.url=http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/commonWidgets
+initialization.widgetData.url=http://{{.Values.global.portalHostName}}:{{.Values.global.portalPort}}/ONAPPORTAL/commonWidgets
 
 ## Account Basic Authentication Properties
 account.user.name=portal
index bff7924..6ce7d4e 100644 (file)
@@ -38,7 +38,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.mariadb.chart.name }}
+        - "portal-db"
         env:
         - name: NAMESPACE
           valueFrom:
index 46bdf8d..75d4a14 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -29,12 +29,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 7637c44..4f1a2a5 100644 (file)
@@ -55,12 +55,13 @@ readiness:
   periodSeconds: 10
 
 mariadb:
-  chart:
+  service:
     name: portal-db
 
 service:
   type: ClusterIP
   name: portal-widget
+  portName: portal-widget
   externalPort: 8082
   internalPort: 8082
 
index 11b3b48..2e0c0be 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -32,7 +32,7 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
     {{- end}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 40c1c15..951acf5 100644 (file)
@@ -48,7 +48,8 @@ readiness:
 
 service:
   type: ClusterIP
-  name: portal-zk
+  name: portal-zookeeper
+  portName: portal-zk
   externalPort: 2181
   internalPort: 2181
 
index b0d4690..0bc14ea 100644 (file)
@@ -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: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+  hosts: ["{{.Values.config.logstashServiceName}}:{{.Values.config.logstashPort}}"]
   #If enable will do load balancing among availabe Logstash, automatically.
   loadbalance: true
 
index e22b3f9..ebbfbc3 100644 (file)
 global:
   env:
     tomcatDir: "/opt/apache-tomcat-8.0.37"
+  # portal frontend port
+  portalPort: "8989"
+  # application's front end hostname.  Must be resolvable on the client side environment
+  portalHostName: "portal.api.simpledemo.onap.org"
+
 config:
   logstashServiceName: log-ls
   logstashPort: 5044
@@ -23,21 +28,21 @@ portal-mariadb:
   nameOverride: portal-db
 
 mariadb:
-  chart:
+  service:
     name: portal-db
 widget:
-  chart:
+  service:
     name: portal-widget
 cassandra:
-  chart:
+  service:
     name: portal-cassandra
   config:
     cassandraUsername: root
     cassandraPassword: Aa123456
 zookeeper:
-  chart:
+  service:
     name: portal-zookeeper
 
 messageRouter:
-  chart:
+  service:
     name: message-router
\ No newline at end of file
index d5e7a03..de33627 100755 (executable)
@@ -36,7 +36,11 @@ function usage
 }
 
 # Set the defaults
-if [ $# -le 2 ];then
+
+echo "Number of parameters:" 
+echo $#
+
+if [ $# -lt 2 ];then
        usage
        exit
 fi
@@ -47,9 +51,11 @@ shift
 ##
 ## if more than 1 tag is supplied, the must be provided with -i or -e
 ##
-while [ $# -gt 1 ]
+while [ $# -gt 0 ]
 do
-       key="$2"
+       key="$1"
+        echo "KEY:"
+        echo $key
 
        case $key in
        init_robot)
index 71e2027..b1a7283 100755 (executable)
@@ -10,13 +10,21 @@ if [ "$1" == "" ] || [ "$2" == "" ]; then
    exit
 fi
 
+
 export NAMESPACE="$1"
+
+POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
+
+
 export TAGS="-i $2"
 export ETEHOME=/var/opt/OpenECOMP_ETE
-export OUTPUT_FOLDER=ETE_$$
+export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec  ${POD}  -- bash -c "ls -1q /share/logs/ | wc -l")
+export OUTPUT_FOLDER=ETE_$(printf %04d $GLOBAL_BUILD_NUMBER)_$2
+
+#export OUTPUT_FOLDER=ETE_$$
 
 VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py"
 VARIABLES="-v GLOBAL_BUILD_NUMBER:$$"
 
-POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
 kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display 88
+
index 1915efe..f5df9fc 100755 (executable)
@@ -1,5 +1,5 @@
 # aaf info - everything is from the private oam network (also called onap private network)
-GLOBAL_AAF_SERVER = "http://{{.Release.Name}}-aaf.{{include "common.namespace" .}}:8101"
+GLOBAL_AAF_SERVER = "http://aaf.{{include "common.namespace" .}}:8101"
 GLOBAL_AAF_USERNAME = "dgl@openecomp.org"
 GLOBAL_AAF_PASSWORD = "ecomp_admin"
 # aai info - everything is from the private oam network (also called onap private network)
@@ -10,13 +10,14 @@ GLOBAL_AAI_PASSWORD = "AAI"
 # appc info - everything is from the private oam network (also called onap private network)
 GLOBAL_APPC_SERVER_PROTOCOL = "http"
 GLOBAL_APPC_SERVER_PORT = "8282"
-GLOBAL_APPC_SERVER = "http://{{.Release.Name}}-appc.{{include "common.namespace" .}}:"
+GLOBAL_APPC_SERVER = "http://appc.{{include "common.namespace" .}}:"
 GLOBAL_APPC_USERNAME = "admin"
 GLOBAL_APPC_PASSWORD = "admin"
 # sdc info - everything is from the private oam network (also called onap private network)
 GLOBAL_ASDC_SERVER_PROTOCOL = "http"
 GLOBAL_ASDC_FE_PORT = "8181"
 GLOBAL_ASDC_BE_PORT = "8080"
+GLOBAL_ASDC_BE_ONBOARD_PORT = "8081"
 GLOBAL_ASDC_BE_USERNAME = "beep"
 GLOBAL_ASDC_BE_PASSWORD = "boop"
 # clamp info - everything is from the private oam network (also called onap private network)
@@ -30,7 +31,7 @@ GLOBAL_CLI_SERVER_PROTOCOL = "http"
 GLOBAL_CLI_SERVER_PORT = "8080"
 # dcae info - everything is from the private oam network (also called onap private network)
 GLOBAL_DCAE_SERVER_PROTOCOL = "http"
-GLOBAL_DCAE_HEALTH_SERVER_PORT = "8000"
+GLOBAL_DCAE_HEALTH_SERVER_PORT = "80"
 GLOBAL_DCAE_USERNAME = "console"
 GLOBAL_DCAE_PASSWORD = "ZjJkYjllMjljMTI2M2Iz"
 # microservice bus info - everything is from the private oam network (also called onap private network)
@@ -92,5 +93,5 @@ GLOBAL_HEAT_TEMPLATES_FOLDER = "/share/heat"
 # Log info
 GLOBAL_LOG_SERVER_PROTOCOL = "http"
 GLOBAL_LOG_ELASTICSEARCH_PORT = "9200"
-GLOBAL_LOG_LOGSTASH_PORT = "5044"
+GLOBAL_LOG_LOGSTASH_PORT = "9600"
 GLOBAL_LOG_KIBANA_PORT = "5601"
index 47d42bc..5855553 100755 (executable)
@@ -1,21 +1,21 @@
 # File generated from /opt/config
 #
-GLOBAL_INJECTED_AAF_IP_ADDR = "{{.Release.Name}}-aaf.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_AAF_IP_ADDR = "aaf.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_AAI1_IP_ADDR = "aai.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_AAI2_IP_ADDR = "N/A"
-GLOBAL_INJECTED_APPC_IP_ADDR = "{{.Release.Name}}-appc.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_APPC_IP_ADDR = "appc.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_ARTIFACTS_VERSION = "{{.Values.demoArtifactsVersion}}"
-GLOBAL_INJECTED_CLAMP_IP_ADDR = "{{.Release.Name}}-clamp.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_CLAMP_IP_ADDR = "clamp.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_CLI_IP_ADDR = "cli.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_CLOUD_ENV = "openstack"
-GLOBAL_INJECTED_DCAE_IP_ADDR = "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_DCAE_IP_ADDR = "dcae-healthcheck.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_DNS_IP_ADDR = "N/A"
 GLOBAL_INJECTED_DOCKER_VERSION = "1.2-STAGING-latest"
 GLOBAL_INJECTED_EXTERNAL_DNS = "N/A"
 GLOBAL_INJECTED_GERRIT_BRANCH = "master"
 GLOBAL_INJECTED_LOG_ELASTICSEARCH_IP_ADDR = "log-es.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR = "log-kibana.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = "log-ls.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = "log-ls-http.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
 GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_MSO_IP_ADDR = "so.{{include "common.namespace" .}}"
@@ -32,34 +32,35 @@ GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackPassword }}"
 GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{ .Values.openStackTenantId }}"
 GLOBAL_INJECTED_OPENSTACK_USERNAME = "{{ .Values.openStackUserName }}"
 GLOBAL_INJECTED_POLICY_IP_ADDR = "pdp.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "{{.Release.Name}}-drools.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_PORTAL_IP_ADDR = "{{.Release.Name}}-portal-app.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = "drools.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_PORTAL_IP_ADDR = "portal-app.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_PUBLIC_NET_ID = "{{ .Values.openStackPublicNetId }}"
 GLOBAL_INJECTED_REGION = "{{ .Values.openStackRegion }}"
 GLOBAL_INJECTED_REMOTE_REPO = "http://gerrit.onap.org/r/testsuite/properties.git"
 GLOBAL_INJECTED_SCRIPT_VERSION = "{{ .Values.scriptVersion }}"
-GLOBAL_INJECTED_SDC_BE_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 = "sdc-be.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_BE_ONBOARD_IP_ADDR = "sdc-onboarding-be.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDC_FE_IP_ADDR = "sdc-fe.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SDC_IP_ADDR = "N/A"
-GLOBAL_INJECTED_SDNC_IP_ADDR = "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDNC_IP_ADDR = "sdnc.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "sdnc-portal.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SO_IP_ADDR = "so.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_UBUNTU_1404_IMAGE = "{{ .Values.ubuntu14Image }}"
 GLOBAL_INJECTED_UBUNTU_1604_IMAGE = "{{ .Values.ubuntu16Image }}"
-GLOBAL_INJECTED_VID_IP_ADDR = "{{.Release.Name}}-vid.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_VID_IP_ADDR = "vid.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_VM_FLAVOR = "{{ .Values.openStackFlavourMedium }}"
-GLOBAL_INJECTED_VNFSDK_IP_ADDR = "{{.Release.Name}}-vnfsdk.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_VNFSDK_IP_ADDR = "refrepo.{{include "common.namespace" .}}"
 
 GLOBAL_INJECTED_PROPERTIES = {
-    "GLOBAL_INJECTED_AAF_IP_ADDR" : "{{.Release.Name}}-aaf.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_AAF_IP_ADDR" : "aaf.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_AAI1_IP_ADDR" : "aai.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_AAI2_IP_ADDR" : "N/A",
-    "GLOBAL_INJECTED_APPC_IP_ADDR" : "{{.Release.Name}}-appc.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_APPC_IP_ADDR" : "appc.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_ARTIFACTS_VERSION" : "{{.Values.demoArtifactsVersion}}",
-    "GLOBAL_INJECTED_CLAMP_IP_ADDR" : "{{.Release.Name}}-clamp.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_CLAMP_IP_ADDR" : "clamp.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_CLI_IP_ADDR" : "cli.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_CLOUD_ENV" : "openstack",
-    "GLOBAL_INJECTED_DCAE_IP_ADDR" : "{{.Release.Name}}-dcae-controller.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_DCAE_IP_ADDR" : "dcae-healthcheck.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_DNS_IP_ADDR" : "N/A",
     "GLOBAL_INJECTED_DOCKER_VERSION" : "1.2-STAGING-latest",
     "GLOBAL_INJECTED_EXTERNAL_DNS" : "N/A",
@@ -83,21 +84,22 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "{{ .Values.openStackTenantId }}",
     "GLOBAL_INJECTED_OPENSTACK_USERNAME" : "{{ .Values.openStackUserName }}",
     "GLOBAL_INJECTED_POLICY_IP_ADDR" : "pdp.{{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_POLICY_HEALTHCHECK_IP_ADDR" : "drools.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_PORTAL_IP_ADDR" : "portal-app.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_PUBLIC_NET_ID" : "{{ .Values.openStackPublicNetId }}",
     "GLOBAL_INJECTED_REGION" : "{{ .Values.openStackRegion }}",
     "GLOBAL_INJECTED_REMOTE_REPO" : "http://gerrit.onap.org/r/testsuite/properties.git",
-    "GLOBAL_INJECTED_SDC_BE_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" : "sdc-be.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SDC_BE_ONBOARD_IP_ADDR" : "sdc-onboarding-be.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : "sdc-fe.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SDC_IP_ADDR" : "N/A",
     "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}",
-    "GLOBAL_INJECTED_SDNC_IP_ADDR" : "{{.Release.Name}}-sdnc.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "{{.Release.Name}}-sdnc-portal.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SDNC_IP_ADDR" : "sdnc.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "sdnc-portal.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SO_IP_ADDR" : "so.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_UBUNTU_1404_IMAGE" : "{{.Values.ubuntu14Image}}",
     "GLOBAL_INJECTED_UBUNTU_1604_IMAGE" : "{{.Values.ubuntu16Image}}",
-    "GLOBAL_INJECTED_VID_IP_ADDR" : "{{.Release.Name}}-vid.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_VID_IP_ADDR" : "vid.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_VM_FLAVOR" : "{{ .Values.openStackFlavourMedium }}",
-    "GLOBAL_INJECTED_VNFSDK_IP_ADDR" : "{{.Release.Name}}-vnfsdk.{{include "common.namespace" .}}"
-}
\ No newline at end of file
+    "GLOBAL_INJECTED_VNFSDK_IP_ADDR" : "refrepo.{{include "common.namespace" .}}"
+}
index de59fd5..9f8bfd5 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Service Design and Creation Backend API
+description: ONAP Service Design and Creation Backend API
 name: sdc-be
 version: 2.0.0
\ No newline at end of file
index d0b8eae..b08c74e 100644 (file)
@@ -36,9 +36,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - "sdc-es"
-        - --container-name
-        - "sdc-cs"
+        - "sdc-onboarding-be"
         env:
         - name: NAMESPACE
           valueFrom:
@@ -54,7 +52,7 @@ spec:
         - /root/job_complete.py
         args:
         - --job-name
-        - {{ .Release.Name }}-sdc-cs-config-cassandra
+        - {{ .Release.Name }}-sdc-es-config-elasticsearch
         env:
         - name: NAMESPACE
           valueFrom:
@@ -63,23 +61,22 @@ spec:
               fieldPath: metadata.namespace
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           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 }}
+          {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
-            tcpSocket:
-              port: {{ .Values.service.internalPort }}
+            exec:
+              command:
+              - "/var/lib/ready-probe.sh"
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
@@ -103,6 +100,7 @@ spec:
             mountPath: /var/log/onap
           - name: {{ include "common.fullname" . }}-logback
             mountPath: /tmp/logback.xml
+            subPath: logback.xml
           lifecycle:
             postStart:
               exec:
index d40ef11..c2203d5 100644 (file)
@@ -23,6 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
+  backoffLimit: 20
   template:
     metadata:
       labels:
@@ -47,7 +48,7 @@ spec:
               fieldPath: metadata.namespace
       containers:
       - name: {{ include "common.name" . }}-job
-        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.backendInitImage }}"
+        image: "{{ include "common.repository" . }}/{{ .Values.backendInitImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
         - name: {{ include "common.fullname" . }}-environments
index ec9d300..d59f341 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -48,18 +48,18 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index ad63ad8..4e53e40 100644 (file)
@@ -48,19 +48,20 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 60
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 60
   periodSeconds: 10
 
 service:
   type: NodePort
   name: sdc-be
+  portName: sdc-be
   nodePort: "04"
   internalPort: 8443
   nodePort2: "05"
index 0e99a9a..81d4f2c 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Service Design and Creation Cassandra
+description: ONAP Service Design and Creation Cassandra
 name: sdc-cs
 version: 2.0.0
\ No newline at end of file
index c96d371..0ea03f8 100644 (file)
@@ -32,23 +32,22 @@ spec:
     spec:
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           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 }}
+          {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
-            tcpSocket:
-              port: {{ .Values.service.internalPort }}
+            exec:
+              command:
+              - "/var/lib/ready-probe.sh"
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
@@ -66,7 +65,7 @@ spec:
                 fieldPath: status.podIP
           - name: CS_PASSWORD
             valueFrom:
-              secretKeyRef: {name: {{ include "common.fullname" . }}, key: cs_password}
+              secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: cs_password}
           volumeMounts:
           - name: {{ include "common.fullname" . }}-data
             mountPath: /var/lib/cassandra/
@@ -75,8 +74,6 @@ spec:
           - name: {{ include "common.fullname" . }}-localtime
             mountPath: /etc/localtime
             readOnly: true
-          - name: {{ include "common.fullname" . }}-logs
-            mountPath: /var/lib/jetty/logs
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -91,8 +88,6 @@ spec:
       - name: {{ include "common.fullname" . }}-localtime
         hostPath:
           path: /etc/localtime
-      - name: {{ include "common.fullname" . }}-logs
-        emptyDir: {}
       - name: {{ include "common.fullname" . }}-data
       {{- if .Values.persistence.enabled }}
         persistentVolumeClaim:
@@ -105,4 +100,4 @@ spec:
           name: {{ .Release.Name }}-sdc-environments-configmap
           defaultMode: 0755
       imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 4d341ba..cdccbf4 100644 (file)
@@ -23,6 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
+  backoffLimit: 20
   template:
     metadata:
       labels:
@@ -47,7 +48,7 @@ spec:
               fieldPath: metadata.namespace
       containers:
       - name: {{ include "common.name" . }}-job
-        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.cassandraInitImage }}"
+        image: "{{ include "common.repository" . }}/{{ .Values.cassandraInitImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
         - name: {{ include "common.fullname" . }}-environments
@@ -63,13 +64,13 @@ spec:
           value: {{ .Values.config.release }}
         - name: SDC_USER
           valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}, key: sdc_user}
+            secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_user}
         - name: SDC_PASSWORD
           valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}, key: sdc_password}
+            secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_password}
         - name: CS_PASSWORD
           valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}, key: cs_password}
+            secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: cs_password}
         - name: HOST_IP
           valueFrom:
             fieldRef:
index 30297a3..805eaa3 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,18 +28,18 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 27ce17d..1e8c6da 100644 (file)
@@ -38,11 +38,6 @@ config:
   maxHeapSize: "1536M"
   heapNewSize: "512M"
 
-secrets:
-    sdc_user: YXNkY191c2Vy
-    sdc_password: QWExMjM0JV4h
-    cs_password: b25hcDEyMyNAIQ==
-
 # default number of instances
 replicaCount: 1
 
@@ -52,19 +47,20 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 60
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 60
   periodSeconds: 10
 
 service:
   type: ClusterIP
   name: sdc-cs
+  portName: sdc-cs
   externalPort: 9160
   internalPort: 9160
   externalPort2: 9042
index 2accff1..fa4d341 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Service Design and Creation Elasticsearch
+description: ONAP Service Design and Creation Elasticsearch
 name: sdc-es
 version: 2.0.0
\ No newline at end of file
index 699dfc3..fe08596 100644 (file)
@@ -30,35 +30,20 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
-      initContainers:
-      - name: {{ include "common.name" . }}-logs-init
-        command:
-        - /bin/bash
-        - "-c"
-        - |
-          mkdir -p /ubuntu-init/ASDC/ASDC-ES/
-          chmod -R 777 /ubuntu-init/
-        image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.global.ubuntuInitImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        volumeMounts:
-        - name: {{ include "common.fullname" . }}-logs
-          mountPath: /ubuntu-init/
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           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 }}
+          {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             httpGet:
               path: "_cluster/health?wait_for_status=yellow&timeout=120s"
@@ -83,8 +68,6 @@ spec:
           - name: {{ include "common.fullname" . }}-localtime
             mountPath: /etc/localtime
             readOnly: true
-          - name: {{ include "common.fullname" . }}-logs
-            mountPath: /var/lib/jetty/logs
           - name: {{ include "common.fullname" . }}-data
             mountPath: /usr/share/elasticsearch/data/
           resources:
@@ -112,7 +95,5 @@ spec:
           configMap:
             name: {{ .Release.Name }}-sdc-environments-configmap
             defaultMode: 0755
-        - name: {{ include "common.fullname" . }}-logs
-          emptyDir: {}
       imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 0d2512c..6fd3bc7 100644 (file)
@@ -23,6 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
+  backoffLimit: 20
   template:
     metadata:
       labels:
@@ -47,7 +48,7 @@ spec:
               fieldPath: metadata.namespace
       containers:
       - name: {{ include "common.name" . }}-job
-        image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.elasticInitImage }}"
+        image: "{{ include "common.repository" . }}/{{ .Values.elasticInitImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
         - name: {{ include "common.fullname" . }}-environments
index 30297a3..805eaa3 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,18 +28,18 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index db8e6b7..4b74402 100644 (file)
@@ -59,12 +59,13 @@ liveness:
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 60
   periodSeconds: 10
 
 service:
   type: ClusterIP
   name: sdc-es
+  portName: sdc-es
   externalPort: 9200
   internalPort: 9200
   externalPort2: 9300
index 9cbffba..6580e89 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Service Design and Creation Front End
+description: ONAP Service Design and Creation Front End
 name: sdc-fe
 version: 2.0.0
\ No newline at end of file
index 2d4e213..bbc7790 100644 (file)
@@ -36,7 +36,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - "sdc-be"
+        - "sdc-kb"
         env:
         - name: NAMESPACE
           valueFrom:
@@ -45,15 +45,27 @@ spec:
               fieldPath: metadata.namespace
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+      - name: {{ include "common.name" . }}-job-completion
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
+        command:
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-sdc-be-config-backend
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           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:
@@ -85,6 +97,7 @@ spec:
             mountPath: /var/log/onap
           - name: {{ include "common.fullname" . }}-logback
             mountPath: /tmp/logback.xml
+            subPath: logback.xml
           lifecycle:
             postStart:
               exec:
index dccb751..32e3122 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -39,18 +39,18 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.name }}2
+      name: {{ .Values.service.portName }}2
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 20c9114..43d525a 100644 (file)
@@ -59,6 +59,7 @@ service:
   #service being defined.
   type: NodePort
   name: sdc-fe
+  portName: sdc-fe
   nodePort: "06"
   internalPort: 8181
   nodePort2: "07"
index f9bc14a..e0f03e9 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Service Design and Creation Kibana
+description: ONAP Service Design and Creation Kibana
 name: sdc-kb
 version: 2.0.0
\ No newline at end of file
index de39333..f33dbe6 100644 (file)
@@ -31,23 +31,23 @@ spec:
         release: {{ .Release.Name }}
     spec:
       initContainers:
-      - name: {{ include "common.name" . }}-readiness
+      - name: {{ include "common.name" . }}-job-completion
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
         command:
-        - /root/ready.py
+        - /root/job_complete.py
         args:
-        - --container-name
-        - "sdc-es"
+        - --job-name
+        - {{ .Release.Name }}-sdc-es-config-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 }}
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
index 14d0b82..594950e 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,12 +28,12 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 02a7b94..1a82a5b 100644 (file)
@@ -56,6 +56,7 @@ readiness:
 service:
   type: ClusterIP
   name: sdc-kb
+  portName: sdc-kb
   externalPort: 5601
   internalPort: 5601
 
diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/.helmignore b/kubernetes/sdc/charts/sdc-onboarding-be/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -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/sdc/charts/sdc-onboarding-be/Chart.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/Chart.yaml
new file mode 100644 (file)
index 0000000..66bf889
--- /dev/null
@@ -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 Service Design and Creation Onboarding API
+name: sdc-onboarding-be
+version: 2.0.0
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/resources/config/logging/logback.xml b/kubernetes/sdc/charts/sdc-onboarding-be/resources/config/logging/logback.xml
new file mode 100644 (file)
index 0000000..8a89373
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<configuration scan="true" scanPeriod="3 seconds">\r
+    <property name="logDir" value="/var/log/onap" />\r
+    <property name="componentName" scope="system" value="sdc"></property>\r
+    <property name="subComponentName" scope="system" value="sdc-onboarding-be"></property>\r
+    <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
+    <property file="${config.home}/catalog-be/configuration.yaml" />\r
+    <property name="enable-all-log" scope="context" value="false" />\r
+    <!--  log file names -->\r
+    <property name="errorLogName" value="error" />\r
+    <property name="metricsLogName" value="metrics" />\r
+    <property name="auditLogName" value="audit" />\r
+    <property name="debugLogName" value="debug" />\r
+    <property name="transactionLogName" value="transaction" />\r
+    <property name="allLogName" value="all" />\r
+    <property name="queueSize" value="256" />\r
+    <property name="maxFileSize" value="50MB" />\r
+    <property name="maxHistory" value="30" />\r
+    <property name="totalSizeCap" value="10GB" />\r
+    <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&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" />\r
+    <!-- All log -->\r
+    <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+        <then>\r
+            <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ALL_ROLLING">\r
+                <file>${logDirectory}/${allLogName}.log</file>\r
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+                    <fileNamePattern>${logDirectory}/${allLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+                    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                        <maxFileSize>${maxFileSize}</maxFileSize>\r
+                    </timeBasedFileNamingAndTriggeringPolicy>\r
+                    <maxHistory>${maxHistory}</maxHistory>\r
+                    <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+                </rollingPolicy>\r
+                <encoder>\r
+                    <pattern>${pattern}</pattern>\r
+                </encoder>\r
+            </appender>\r
+            <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ALL">\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </appender>\r
+        </then>\r
+    </if>\r
+    <!-- Error log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="ERROR_ROLLING">\r
+        <file>${logDirectory}/${errorLogName}.log</file>\r
+        <!-- Audit messages filter - deny audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- Transaction messages filter - deny Transaction messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->\r
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+            <level>INFO</level>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Debug log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="DEBUG_ROLLING">\r
+        <file>${logDirectory}/${debugLogName}.log</file>\r
+        <!-- No need to deny audit messages - they are INFO only, will be denied \r
+                        anyway -->\r
+        <!-- Transaction messages filter - deny Transaction messages, there are \r
+                        some DEBUG level messages among them -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>NEUTRAL</onMismatch>\r
+            <onMatch>DENY</onMatch>\r
+        </filter>\r
+        <!-- accept DEBUG and TRACE level -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">\r
+                <expression>e.level.toInt() &lt;= DEBUG.toInt()</expression>\r
+            </evaluator>\r
+            <OnMismatch>DENY</OnMismatch>\r
+            <OnMatch>NEUTRAL</OnMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Audit log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="AUDIT_ROLLING">\r
+        <file>${logDirectory}/${auditLogName}.log</file>\r
+        <!-- Audit messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>AUDIT_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- SdncTransaction log -->\r
+    <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="TRANSACTION_ROLLING">\r
+        <file>${logDirectory}/${transactionLogName}.log</file>\r
+        <!-- Transaction messages filter - accept audit messages -->\r
+        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">\r
+            <evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">\r
+                <marker>TRANSACTION_MARKER</marker>\r
+            </evaluator>\r
+            <onMismatch>DENY</onMismatch>\r
+            <onMatch>ACCEPT</onMatch>\r
+        </filter>\r
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
+            <fileNamePattern>${logDirectory}/${transactionLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
+                <maxFileSize>${maxFileSize}</maxFileSize>\r
+            </timeBasedFileNamingAndTriggeringPolicy>\r
+            <maxHistory>${maxHistory}</maxHistory>\r
+            <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
+        </rollingPolicy>\r
+        <encoder>\r
+            <pattern>${pattern}</pattern>\r
+        </encoder>\r
+    </appender>\r
+    <!-- Asynchronicity Configurations -->\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_DEBUG">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="DEBUG_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_TRANSACTION">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="TRANSACTION_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_ERROR">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="ERROR_ROLLING" />\r
+    </appender>\r
+    <appender class="ch.qos.logback.classic.AsyncAppender" name="ASYNC_AUDIT">\r
+        <queueSize>${queueSize}</queueSize>\r
+        <appender-ref ref="AUDIT_ROLLING" />\r
+    </appender>\r
+    <root level="INFO">\r
+        <appender-ref ref="ASYNC_ERROR" />\r
+        <appender-ref ref="ASYNC_DEBUG" />\r
+        <appender-ref ref="ASYNC_AUDIT" />\r
+        <appender-ref ref="ASYNC_TRANSACTION" />\r
+        <if condition='property("enable-all-log").equalsIgnoreCase("true")'>\r
+            <then>\r
+                <appender-ref ref="ALL_ROLLING" />\r
+            </then>\r
+        </if>\r
+    </root>\r
+    <logger level="INFO" name="org.openecomp.sdc" />\r
+</configuration>
\ No newline at end of file
@@ -4,16 +4,16 @@
   http://{{ . }}
 {{- end }}
 {{- else if contains "NodePort" .Values.service.type }}
-  export NODE_PORT=$(kubectl get --namespace {{ .Values.global.nsPrefix }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }}-prov)
-  export NODE_IP=$(kubectl get nodes --namespace {{ .Values.global.nsPrefix }} -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.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 {{ .Values.global.nsPrefix }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  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 {{ .Values.global.nsPrefix }} -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={{ 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/sdc/charts/sdc-onboarding-be/templates/configmap.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1d0751a
--- /dev/null
@@ -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" . }}-logging-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/templates/deployment.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..328a28d
--- /dev/null
@@ -0,0 +1,144 @@
+# Copyright Â© 2017 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: 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:
+      - name: {{ include "common.name" . }}-job-completion
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
+        command:
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-sdc-onboarding-be-cassandra-init
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          - containerPort: {{ .Values.service.internalPort2 }}
+          {{ if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            exec:
+              command:
+              - "/var/lib/ready-probe.sh"
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+          - name: ENVNAME
+            value: {{ .Values.global.env.name }}
+          - name: JAVA_OPTIONS
+            value: {{ .Values.config.javaOptions }}
+          - name: SDC_CLUSTER_NAME
+            value: "SDC-CS-{{ .Values.global.env.name }}"
+          - name: cassandra_ssl_enabled
+            value: {{ .Values.config.cassandraSslEnabled | quote }}
+          - name: HOST_IP
+            valueFrom:
+              fieldRef:
+                fieldPath: status.podIP
+          - name: SDC_USER
+            valueFrom:
+              secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_user}
+          - name: SDC_PASSWORD
+            valueFrom:
+              secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_password}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-environments
+            mountPath: /root/chef-solo/environments/
+          - name: {{ include "common.fullname" . }}-localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-logback
+            mountPath: /tmp/logback.xml
+            subPath: logback.xml
+          lifecycle:
+            postStart:
+              exec:
+                command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/onboarding-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
+          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: {{ include "common.name" . }}-filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-filebeat-conf
+            mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+      volumes:
+      - name: {{ include "common.fullname" . }}-localtime
+        hostPath:
+          path: /etc/localtime
+      - name: {{ include "common.fullname" . }}-filebeat-conf
+        configMap:
+          name: {{ .Release.Name }}-sdc-filebeat-configmap
+      - name: {{ include "common.fullname" . }}-data-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-logback
+        configMap:
+          name : {{ include "common.fullname" . }}-logging-configmap
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
+      - name:  {{ include "common.fullname" . }}-logs
+        emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/templates/job.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/templates/job.yaml
new file mode 100644 (file)
index 0000000..35f2ef8
--- /dev/null
@@ -0,0 +1,90 @@
+# Copyright Â© 2017 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-cassandra-init
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-job
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  backoffLimit: 20
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-job
+        release: {{ .Release.Name }}
+    spec:
+      restartPolicy: Never
+      initContainers:
+      - name: {{ include "common.name" . }}-job-completion
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
+        command:
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-sdc-cs-config-cassandra
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+      - name: {{ include "common.name" . }}-job
+        image: "{{ include "common.repository" . }}/{{ .Values.onboardingInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - name: {{ include "common.fullname" . }}-environments
+          mountPath: /root/chef-solo/environments/
+        - name: {{ include "common.fullname" . }}-data
+          mountPath: /var/lib/cassandra/
+        env:
+        - name: ENVNAME
+          value: {{ .Values.global.env.name }}
+        - name: HOST_IP
+          valueFrom:
+            fieldRef:
+              fieldPath: status.podIP
+        - name: SDC_USER
+          valueFrom:
+            secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_user}
+        - name: SDC_PASSWORD
+          valueFrom:
+            secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_password}
+        - name: CS_PASSWORD
+          valueFrom:
+            secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: cs_password}
+        - name: CS_HOST_IP
+          value: "sdc-cs"
+      volumes:
+      - name: {{ include "common.fullname" . }}-environments
+        configMap:
+          name: {{ .Release.Name }}-sdc-environments-configmap
+          defaultMode: 0755
+      - name: {{ include "common.fullname" . }}-data
+      {{- if .Values.persistence.enabled }}
+        persistentVolumeClaim:
+          claimName: {{ include "common.fullname" . }}
+      {{- else }}
+        emptyDir: {}
+      {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      restartPolicy: Never
diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/templates/pv.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/templates/pv.yaml
new file mode 100644 (file)
index 0000000..184728f
--- /dev/null
@@ -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/sdc/charts/sdc-onboarding-be/templates/pvc.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..e27c331
--- /dev/null
@@ -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/sdc/charts/sdc-onboarding-be/templates/service.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/templates/service.yaml
new file mode 100644 (file)
index 0000000..eec7488
--- /dev/null
@@ -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: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName | default "http" }}
+
+    - port: {{ .Values.service.externalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.portName | default "http" }}2
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName | default "http" }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.portName | default "http" }}2
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/sdc/charts/sdc-onboarding-be/values.yaml b/kubernetes/sdc/charts/sdc-onboarding-be/values.yaml
new file mode 100644 (file)
index 0000000..3e22acc
--- /dev/null
@@ -0,0 +1,113 @@
+# 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:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/sdc-onboard-backend:1.2-STAGING-latest
+onboardingInitImage: onap/sdc-onboard-cassandra-init:1.2-STAGING-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+config:
+  javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=4001,server=y,suspend=n -Xmx1g -Xms1g"
+  cassandraSslEnabled: "false"
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 60
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: sdc-onboarding-be
+  portName: sdc-onboarding-be
+  internalPort: 8445
+  externalPort: 8445
+  internalPort2: 8081
+  externalPort2: 8081
+
+## 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: /sdc/sdc-cs/CS
+
+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
index a04b2e5..1db5bb2 100644 (file)
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Common Workflow Design
+description: ONAP Service Design and Creation Common Workflow Design
 name: sdc-wfd
 version: 2.0.0
\ No newline at end of file
index eb1f479..f6ec2c7 100644 (file)
@@ -32,19 +32,17 @@ spec:
     spec:
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
-          # disable liveness probe when breakpoints set in debugger
-          # so K8s doesn't restart unresponsive container
-          {{- if eq .Values.liveness.enabled true }}
+          {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
index 09c7e04..95ea833 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -48,7 +48,7 @@ spec:
   ports:
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
index d678f5d..754899b 100644 (file)
@@ -47,6 +47,7 @@ readiness:
 service:
   type: NodePort
   name: sdc-wfd
+  portName: sdc-wfd
   nodePort: "56"
   internalPort: 8080
 
index 5ae381c..85ca2f4 100755 (executable)
@@ -9,36 +9,46 @@
 
     "default_attributes": {
         "disableHttp": false,
-        "CS_VIP": "{{.Release.Name}}-sdc-cs.{{include "common.namespace" .}}",
-        "BE_VIP": "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}",
-        "FE_VIP": "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
-        "ES_VIP": "{{.Release.Name}}-sdc-es.{{include "common.namespace" .}}",
-        "KB_VIP": "{{.Release.Name}}-sdc-kb.{{include "common.namespace" .}}",
+        "CS_VIP": "sdc-cs.{{include "common.namespace" .}}",
+        "BE_VIP": "sdc-be.{{include "common.namespace" .}}",
+        "ONBOARDING_BE_VIP": "sdc-onboarding-be.{{include "common.namespace" .}}",
+        "FE_VIP": "sdc-fe.{{include "common.namespace" .}}",
+        "ES_VIP": "sdc-es.{{include "common.namespace" .}}",
+        "KB_VIP": "sdc-kb.{{include "common.namespace" .}}",
+
         "interfaces": {
             "application": "eth0",
             "private": "eth0"
         },
         "ECompP": {
-            "ecomp_rest_url": "http://{{.Release.Name}}-portalapps.{{include "common.namespace" .}}:8989/ONAPPORTAL/auxapi",
-            "ueb_url_list": "{{.Release.Name}}-dmaap.{{include "common.namespace" .}}, {{.Release.Name}}-dmaap.{{include "common.namespace" .}}",
+            "ecomp_rest_url": "http://portal-app.{{include "common.namespace" .}}:8989/ONAPPORTAL/auxapi",
+            "ueb_url_list": "message-router.{{include "common.namespace" .}}, message-router.{{include "common.namespace" .}}",
             "app_secret": "XftIATw9Jr3VzAcPqt3NnJOu",
             "app_key": "x9UfO7JsDn8BESVX",
             "inbox_name": "ECOMP-PORTAL-INBOX",
-            "ecomp_redirect_url": "http://{{.Release.Name}}-portalapps.{{include "common.namespace" .}}:8989/ONAPPORTAL/login.htm",
+            "ecomp_redirect_url": "http://portal-app.{{include "common.namespace" .}}:8989/ONAPPORTAL/login.htm",
             "app_topic_name": "ECOMP-PORTAL-OUTBOX-SDC1",
             "decryption_key": "AGLDdG4D04BKm2IxIWEr8o=="
         },
         "UEB": {
             "PublicKey": "iPIxkpAMI8qTcQj8",
             "SecretKey": "Ehq3WyT4bkif4zwgEbvshGal",
-            "fqdn": ["{{.Release.Name}}-dmaap.{{include "common.namespace" .}}", "{{.Release.Name}}-dmaap.{{include "common.namespace" .}}"]
+            "fqdn": [
+                "message-router.{{include "common.namespace" .}}",
+                "message-router.{{include "common.namespace" .}}"
+            ]
         },
         "Nodes": {
-            "CS": "{{.Release.Name}}-sdc-cs.{{include "common.namespace" .}}",
-            "BE": "{{.Release.Name}}-sdc-be.{{include "common.namespace" .}}",
-            "FE": "{{.Release.Name}}-sdc-fe.{{include "common.namespace" .}}",
-            "ES": "{{.Release.Name}}-sdc-es.{{include "common.namespace" .}}",
-            "KB": "{{.Release.Name}}-sdc-kb.{{include "common.namespace" .}}"
+            "CS": [
+                "sdc-cs.{{include "common.namespace" .}}"
+            ],
+            "BE": "sdc-be.{{include "common.namespace" .}}",
+            "ONBOARDING_BE": "sdc-onboarding-be.{{include "common.namespace" .}}",
+            "FE": "sdc-fe.{{include "common.namespace" .}}",
+            "ES": [
+                "sdc-es.{{include "common.namespace" .}}"
+            ],
+            "KB": "sdc-kb.{{include "common.namespace" .}}"
         },
         "Plugins": {
             "DCAE": {
             "http_port": "8080",
             "https_port": "8443"
         },
+        "ONBOARDING_BE": {
+            "http_port": "8081",
+            "https_port": "8445"
+        },
         "elasticsearch": {
             "cluster_name": "SDC-ES-",
             "ES_path_home": "/usr/share/elasticsearch",
             "titan_connection_timeout": "10000"
         }
     }
-}
\ No newline at end of file
+}
index ec5e95f..575176d 100644 (file)
@@ -26,4 +26,4 @@ metadata:
   name: {{ .Release.Name }}-sdc-filebeat-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
similarity index 81%
rename from kubernetes/sdc/charts/sdc-cs/templates/secrets.yaml
rename to kubernetes/sdc/templates/secrets.yaml
index 0b6c838..341e55a 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Secret
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ .Release.Name }}-sdc-cs-secrets
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,7 +25,7 @@ metadata:
 type: Opaque
 data:
   #application user
-  sdc_user: "{{ .Values.secrets.sdc_user }}"
-  sdc_password: "{{ .Values.secrets.sdc_password }}"
+  sdc_user: "{{ .Values.global.secrets.sdc_user }}"
+  sdc_password: "{{ .Values.global.secrets.sdc_password }}"
   #default user:
-  cs_password: "{{ .Values.secrets.cs_password }}"
+  cs_password: "{{ .Values.global.secrets.cs_password }}"
index d5664a7..75e9d3e 100644 (file)
@@ -16,6 +16,13 @@ global:
   persistence: {}
   env:
     name: AUTO
+  secrets:
+    sdc_user: YXNkY191c2Vy
+    sdc_password: QWExMjM0JV4h
+    cs_password: b25hcDEyMyNAIQ==
+  ubuntuInitRepository: oomk8s
+  ubuntuInitImage: ubuntu-init:1.0.0
+
 
 config:
   logstashServiceName: log-ls
index dc0deb2..de1346a 100644 (file)
@@ -14,7 +14,7 @@ password =admin
 contenttype =application/json
 authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM=
 authDate=2016-02-18T13:57:37-0800
-host=dmaap.{{.Release.Namespace}}:3904
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
 topic=VCPE-DHCP-EVENT
 group=jmsgrp
 id=sdnc1
index e712a41..733b21e 100644 (file)
@@ -38,6 +38,8 @@ spec:
         - {{ .Values.config.mysqlChartName }}
         - --container-name
         - {{ .Values.config.sdncChartName }}
+        - --container-name
+        - {{ .Values.config.msgRouterContainerName }}
         env:
         - name: NAMESPACE
           valueFrom:
index a76592e..b2b34d0 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
index 474113d..189aa72 100644 (file)
@@ -39,6 +39,7 @@ config:
   dmaapPort: 3904
   mysqlChartName: sdnc-dbhost
   sdncChartName: sdnc
+  msgRouterContainerName: dmaap
   configDir: /opt/onap/sdnc/data/properties
 
 # default number of instances
@@ -63,6 +64,9 @@ readiness:
 ingress:
   enabled: false
 
+service:
+  name: sdnc-dmaap-listener
+
 resources: {}
 #resources:
 #  limits:
index 2d67c1f..2976287 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -39,12 +39,12 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 3b38889..ffc8959 100644 (file)
@@ -63,6 +63,7 @@ readiness:
 service:
   type: NodePort
   name: sdnc-portal
+  portName: sdnc-portal
   internalPort: 8843
   externalPort: 8843
   nodePort: "01"
diff --git a/kubernetes/sdnc/charts/ueb-listener/resources/config/dblib.properties b/kubernetes/sdnc/charts/ueb-listener/resources/config/dblib.properties
new file mode 100644 (file)
index 0000000..15cb218
--- /dev/null
@@ -0,0 +1,37 @@
+###
+# ============LICENSE_START=======================================================
+# openECOMP : SDN-C
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+#                                              reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+# dblib.properties
+org.onap.ccsdk.sli.dbtype=jdbc
+
+org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:{{.Values.mysql.service.internalPort}}/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
+org.onap.ccsdk.sli.jdbc.password=gamma
+org.onap.ccsdk.sli.jdbc.connection.name=sdnctldb01
+org.onap.ccsdk.sli.jdbc.connection.timeout=50
+org.onap.ccsdk.sli.jdbc.request.timeout=100
+org.onap.ccsdk.sli.jdbc.limit.init=10
+org.onap.ccsdk.sli.jdbc.limit.min=10
+org.onap.ccsdk.sli.jdbc.limit.max=20
+org.onap.dblib.connection.recovery=false
index 72dee15..cd184bf 100644 (file)
@@ -19,3 +19,4 @@ org.onap.ccsdk.sli.northbound.uebclient.keystore-path=
 org.onap.ccsdk.sli.northbound.uebclient.keystore-password=
 org.onap.ccsdk.sli.northbound.uebclient.xslt-path-list=
 org.onap.ccsdk.sli.northbound.uebclient.artifact-map=/opt/onap/sdnc/data/properties/artifact.map
+org.onap.ccsdk.sli.northbound.uebclient.msg-bus-address=message-router.{{.Release.Namespace}}
index b11cf95..e3f324e 100644 (file)
@@ -38,6 +38,10 @@ spec:
         - {{ .Values.config.mysqlChartName }}
         - --container-name
         - {{ .Values.config.sdncChartName }}
+        - --container-name
+        - {{ .Values.config.sdcbeChartName }}
+        - --container-name
+        - {{ .Values.config.msgRouterContainerName }}
         env:
         - name: NAMESPACE
           valueFrom:
index a76592e..b2b34d0 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
index b862633..a6722eb 100644 (file)
@@ -39,6 +39,8 @@ config:
   uebPort: 3904
   mysqlChartName: sdnc-dbhost
   sdncChartName: sdnc
+  sdcbeChartName: sdc-be
+  msgRouterContainerName: dmaap
   configDir: /opt/onap/sdnc/data/properties
 
 
@@ -61,6 +63,14 @@ readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
+service:
+  name: sdnc-ueb-listener
+
+mysql:
+  service:
+    name: sdnc-dbhost
+    internalPort: 3306
+
 ingress:
   enabled: false
 
index aa5b6d1..288ce11 100755 (executable)
@@ -34,17 +34,17 @@ function enable_odl_cluster(){
   hm=$(hostname)
   echo "Get current Hostname ${hm}"
 
-  node=($(echo ${hm} | tr '-' '\n'))
-  node_name=${node[0]}
-  node_index=${node[1]}
+  node=($(echo ${hm} | sed 's/-[0-9]*$//g'))
+  node_index=($(echo ${hm} | awk -F"-" '{print $NF}'))
+  member_offset=1
 
   if [ -z $PEER_ODL_CLUSTER ]; then
     echo "This is a local cluster"
-    node_list="${node_name}-0.{{.Values.service.name}}-cluster.{{.Release.Namespace}}";
+    node_list="${node}-0.{{.Values.service.name}}-cluster.{{.Release.Namespace}}";
 
     for ((i=1;i<${SDNC_REPLICAS};i++));
     do
-      node_list="${node_list} ${node_name}-$i.{{.Values.service.name}}-cluster.{{.Release.Namespace}}"
+      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}
   else
@@ -70,6 +70,7 @@ function enable_odl_cluster(){
 ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
 ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
 SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
 SLEEP_TIME=${SLEEP_TIME:-120}
 MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
 ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
@@ -95,6 +96,7 @@ then
         echo "Installing SDN-C keyStore"
         ${SDNC_HOME}/bin/addSdncKeyStore.sh
         echo "Starting OpenDaylight"
+        ${CCSDK_HOME}/bin/installOdlHostKey.sh
         ${ODL_HOME}/bin/start
         echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
         sleep ${SLEEP_TIME}
index 499834e..15cb218 100644 (file)
@@ -19,7 +19,7 @@
 # ============LICENSE_END=========================================================
 ###
 
-# dblib.properrties
+# dblib.properties
 org.onap.ccsdk.sli.dbtype=jdbc
 
 org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
diff --git a/kubernetes/sdnc/templates/pv.yaml b/kubernetes/sdnc/templates/pv.yaml
new file mode 100644 (file)
index 0000000..e20e281
--- /dev/null
@@ -0,0 +1,84 @@
+{{/*
+# Copyright Â© 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{ $pvNum := default 1 .Values.replicaCount | int }}
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data0
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}0
+{{ if gt $pvNum 1 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data1
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}1
+{{ end }}
+{{ if gt $pvNum 2 }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-data2
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}
+spec:
+  capacity:
+    storage: {{ .Values.persistence.size}}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-data"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}2
+{{ end }}
+{{- end -}}
\ No newline at end of file
index 487368e..586144b 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -41,19 +41,19 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: "{{ .Values.service.name }}-8282"
+      name: "{{ .Values.service.portName }}-8282"
     - port: {{ .Values.service.externalPort2 }}
       targetPort: {{ .Values.service.internalPort2 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      name: "{{ .Values.service.name }}-8202"
+      name: "{{ .Values.service.portName }}-8202"
     - port: {{ .Values.service.externalPort3 }}
       targetPort: {{ .Values.service.internalPort3 }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
-      name: "{{ .Values.service.name }}-8280"
+      name: "{{ .Values.service.portName }}-8280"
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
@@ -62,7 +62,7 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}-cluster
+  name: {{ .Values.service.portName }}-cluster
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -71,7 +71,7 @@ metadata:
     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
 spec:
   ports:
-   - name: "{{ .Values.service.name }}-cluster-port"
+   - name: "{{ .Values.service.portName }}-cluster-port"
      port: {{ .Values.service.clusterPort }}
   clusterIP: None
   selector:
@@ -85,17 +85,17 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: sdnhost-{{ include "common.fullname" . }}-0
+  name: sdnhost-{{ include "common.servicename" . }}-0
   namespace: {{ .Release.Namespace }}
   labels:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
 spec:
   ports:
-  - name: {{ include "common.fullname" . }}-0-port-{{ .Values.service.internalPort4 }}
+  - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort4 }}
     port: {{ .Values.service.clusterPort2 }}
     targetPort: {{ .Values.service.internalPort4 }}
     nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort4 }}
-  - name: {{ include "common.fullname" . }}-0-port-{{ .Values.service.internalPort }}
+  - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }}
     port: {{ .Values.service.clusterPort3 }}
     targetPort: {{ .Values.service.internalPort }}
     nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort1 }}
@@ -108,17 +108,17 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: sdnhost-{{ include "common.fullname" . }}-1
+  name: sdnhost-{{ include "common.servicename" . }}-1
   namespace: {{ .Release.Namespace }}
   labels:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
 spec:
   ports:
-  - name: {{ include "common.fullname" . }}-1-port-{{ .Values.service.internalPort4 }}
+  - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort4 }}
     port: {{ .Values.service.clusterPort2 }}
     targetPort: {{ .Values.service.internalPort4 }}
     nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort5 }}
-  - name: {{ include "common.fullname" . }}-1-port-{{ .Values.service.internalPort }}
+  - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }}
     port: {{ .Values.service.clusterPort3 }}
     targetPort: {{ .Values.service.internalPort }}
     nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort2 }}
@@ -131,23 +131,21 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: sdnhost-{{ include "common.fullname" . }}-2
+  name: sdnhost-{{ include "common.servicename" . }}-2
   namespace: {{ .Release.Namespace }}
   labels:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
 spec:
   ports:
-  - name: {{ include "common.fullname" . }}-2-port-{{ .Values.service.internalPort4 }}
+  - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort4 }}
     port: {{ .Values.service.clusterPort2 }}
     targetPort: {{ .Values.service.internalPort4 }}
     nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort6 }}
-  - name: {{ include "common.fullname" . }}-2-port-{{ .Values.service.internalPort }}
+  - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }}
     port: {{ .Values.service.clusterPort3 }}
     targetPort: {{ .Values.service.internalPort }}
     nodePort: {{ .Values.nodePortPrefix }}{{ .Values.service.geoNodePort3 }}
   type: NodePort
   selector:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
----
 {{ end }}
-
index 8b4055e..ccf283f 100644 (file)
@@ -23,7 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
-  serviceName: "{{ .Values.service.name }}-cluster"
+  serviceName: {{ include "common.servicename" . }}-cluster
   replicas: {{ .Values.replicaCount }}
   podManagementPolicy: Parallel
   template:
@@ -102,6 +102,8 @@ spec:
           - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
             name: onap-sdnc-svclogic-config
             subPath: svclogic.properties
+          - mountPath: {{ .Values.persistence.mdsalPath }}
+            name: {{ include "common.fullname" . }}-data
           - mountPath: /var/log/onap
             name: logs
           resources:
@@ -127,6 +129,8 @@ spec:
             name: logs
           - mountPath: /usr/share/filebeat/data
             name: data-filebeat
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
       volumes:
         - name: localtime
           hostPath:
@@ -183,6 +187,19 @@ spec:
             - key: svclogic.properties
               path: svclogic.properties
               mode: 0644
-
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+  {{ if not .Values.persistence.enabled }}
+        - name: {{ include "common.fullname" . }}-data
+          emptyDir: {}
+  {{ else }}
+  volumeClaimTemplates:
+  - metadata:
+      name: {{ include "common.fullname" . }}-data
+      labels:
+        name: {{ include "common.fullname" . }}
+    spec:
+      accessModes: [ {{ .Values.persistence.accessMode }} ]
+      storageClassName: {{ include "common.fullname" . }}-data
+      resources:
+        requests:
+          storage: {{ .Values.persistence.size }}
+  {{ end }}
\ No newline at end of file
index 6360d37..2603cd9 100644 (file)
@@ -90,6 +90,7 @@ dgbuilder:
     dbServiceName: sdnc-dbhost
     dbRootPassword: openECOMP1.0
   service:
+    name: sdnc-dgbuilder
     nodePort: "03"
 
 # default number of instances
@@ -114,7 +115,7 @@ readiness:
 service:
   type: NodePort
   name: sdnc
-  #targetPort
+  portName: sdnc
   internalPort: 8181
   internalPort2: 8101
   internalPort3: 8080
@@ -141,6 +142,28 @@ service:
   geoNodePort5: 65
   geoNodePort6: 66
 
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  accessMode: ReadWriteOnce
+  size: 1Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: sdnc/mdsal
+  mdsalPath: /opt/opendaylight/current/daexim
+
 ingress:
   enabled: false
 
index 4570c99..7d0d03f 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,11 +40,11 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.uuiPortPrefix | default .Values.uuiPortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index 0e4049d..19e1a9c 100644 (file)
@@ -56,7 +56,8 @@ readiness:
 
 service:
   type: NodePort
-  name: uui
+  name: uui-server
+  portName: uui-server
   internalPort: 8082
   nodePort: 99
 
index 9e94784..6baad45 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,11 +40,11 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.uuiPortPrefix | default .Values.uuiPortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index c61e203..9d76711 100644 (file)
@@ -57,6 +57,7 @@ readiness:
 service:
   type: NodePort
   name: uui
+  portName: uui
   internalPort: 8080
   nodePort: 98
 
index 7d3390e..9fa3e4f 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 0485b57..77b9613 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-catalog
+  portName: vfc-catalog
   externalPort: 8806
   internalPort: 8806
 #  nodePort: 30806
index ba33ec5..287f0a7 100644 (file)
@@ -69,6 +69,10 @@ spec:
           env:
             - name: MSB_ADDR
               value: "{{ .Values.global.config.msbServiceName }}:{{ .Values.global.config.msbPort }}"
+            - name: VES_ADDR
+              value: "{{ .Values.config.vescollectorServiceName }}:{{ .Values.config.vescollectorPort }}"
+            - name: VES_AUTHINFO
+              value: "{{ .Values.config.vescollectorUser }}:{{ .Values.config.vescollectorPassword }}"
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
index 16eee99..6a5ef8b 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 5ddd22c..f732eac 100644 (file)
@@ -35,7 +35,11 @@ pullPolicy: Always
 debugEnabled: false
 
 # application configuration
-config: {}
+config:
+  vescollectorServiceName: dcae-ves-collector
+  vescollectorPort: 8080
+  vescollectorUser: ""
+  vescollectorPassword: ""
 
 # default number of instances
 replicaCount: 1
@@ -59,6 +63,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-ems-driver
+  portName: vfc-ems-driver
   externalPort: 8206
   internalPort: 8206
 #  nodePort: 30296
index 0e2f1a1..0495fad 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 119a12c..1f6deae 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-generic-vnfm-driver
+  portName: vfc-generic-vnfm-driver
   externalPort: 8484
   internalPort: 8484
 #  nodePort: 30484
index eed1906..28b5950 100644 (file)
@@ -52,6 +52,7 @@ spec:
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           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 }}
index 60bad3e..362656e 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -37,22 +37,22 @@ spec:
   type: {{ .Values.service.type }}
   ports:
   {{if eq .Values.service.type "NodePort" -}}
-  - name: {{ .Values.service.name }}
+  - name: {{ .Values.service.portName }}
     port: {{ .Values.service.internalPort }}
     targetPort: {{ .Values.service.internalPort }}
     nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-  - name: {{ .Values.service.name }}2
+  - name: {{ .Values.service.portName }}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 }}
+    name: {{ .Values.service.portName }}
   - port: {{ .Values.service.externalPort2 }}
     targetPort: {{ .Values.service.internalPort2 }}
-    name: {{ .Values.service.name }}2
+    name: {{ .Values.service.portName }}2
   {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 988b80c..073d9d0 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-huawei-vnfm-driver
+  portName: vfc-huawei-vnfm-driver
   externalPort: 8482
   internalPort: 8482
   externalPort2: 8483
index 3376ea9..52f9dad 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 1f4c5ac..af058af 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-juju-vnfm-driver
+  portName: vfc-juju-vnfm-driver
   externalPort: 8483
   internalPort: 8483
 #  nodePort: 30483
index 268cf0c..3464cdd 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 4c1711a..fbd144d 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-multivim-proxy
+  portName: vfc-multivim-proxy
   externalPort: 8481
   internalPort: 8481
 
index b722e24..4a33e49 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 2c5504c..98197b0 100644 (file)
@@ -60,6 +60,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-nokia-v2vnfm-driver
+  portName: vfc-nokia-v2vnfm-driver
   externalPort: 8089
   internalPort: 8089
 #  nodePort: 13
index e55b1b2..48c0d80 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index c3db239..3bc8d8f 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-nokia-vnfm-driver
+  portName: vfc-nokia-vnfm-driver
   externalPort: 8486
   internalPort: 8486
 #  nodePort: 12
index c854684..09475ca 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index ab54b4d..ee360d5 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-nslcm
+  portName: vfc-nslcm
   externalPort: 8403
   internalPort: 8403
 #  nodePort: 30403
index 993d478..e803b65 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index a6ea046..ba2b01d 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-resmgr
+  portName: vfc-resmgr
   externalPort: 8480
   internalPort: 8480
 #  nodePort: 30480
index ad4f716..066e75b 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 09ff8a4..e7cdc63 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-vnflcm
+  portName: vfc-vnflcm
   externalPort: 8801
   internalPort: 8801
 #  nodePort: 30801
index df6ca31..53a195d 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index d308fe8..0ee3dd6 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-vnfmgr
+  portName: vfc-vnfmgr
   externalPort: 8803
   internalPort: 8803
 #  nodePort: 30803
index d3a3dc9..83b4891 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 2b0651a..eb9ff31 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-vnfres
+  portName: vfc-vnfres
   externalPort: 8802
   internalPort: 8802
 #  nodePort: 30802
index 4a4ae0e..1432b04 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 84daca3..10dbea8 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-workflow-engine
+  portName: vfc-workflow-engine
   externalPort: 8080
   internalPort: 8080
 #  nodePort: 30807
index 73e2c2c..079f3cb 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 2c84441..37c36d3 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-workflow
+  portName: vfc-workflow
   externalPort: 10550
   internalPort: 10550
 #  nodePort: 30805
index 532f648..63f41a5 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index 19e480b..b1f006a 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-zte-sdnc-driver
+  portName: vfc-zte-sdnc-drive
   externalPort: 8411
   internalPort: 8411
 #  nodePort: 30411
index 7ee5445..2a48721 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -40,12 +40,12 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
\ No newline at end of file
+    release: {{ .Release.Name }}
index d94e5da..e6f8ecc 100644 (file)
@@ -59,6 +59,7 @@ readiness:
 service:
   type: ClusterIP
   name: vfc-zte-vnfm-driver
+  portName: vfc-zte-vnfm-driver
   externalPort: 8410
   internalPort: 8410
 
index 5967963..0bc14ea 100644 (file)
@@ -21,8 +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: ["{{.Release.Name}}-{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+  hosts: ["{{.Values.config.logstashServiceName}}:{{.Values.config.logstashPort}}"]
   #If enable will do load balancing among availabe Logstash, automatically.
   loadbalance: true
 
index 88ed09b..35333c4 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,7 +25,7 @@ metadata:
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
index 567109c..db33b58 100644 (file)
@@ -76,7 +76,8 @@ persistence:
   mountSubPath: vid/mariadb/data
 
 service:
-  name: mariadb
+  name: vid-mariadb
+  portName: vid-mariadb
   internalPort: 3306
 
 ingress:
index 847e636..5491808 100644 (file)
@@ -77,13 +77,13 @@ spec:
             - name: ASDC_CLIENT_REST_PORT
               value: "{{ .Values.config.asdcclientrestport }}"
             - name: VID_AAI_HOST
-              value: aai-service.{{ include "common.namespace" . }}
+              value: aai.{{ include "common.namespace" . }}
             - name: VID_AAI_PORT
               value: "{{ .Values.config.vidaaiport }}"
             - name: VID_ECOMP_SHARED_CONTEXT_REST_URL
-              value: http://portalapps.{{ include "common.namespace" . }}:"{{ .Values.config.onapport }}"/ONAPPORTAL/context
+              value: http://portal-app.{{ include "common.namespace" . }}:{{ .Values.config.onapport }}/ONAPPORTAL/context
             - name: VID_MSO_SERVER_URL
-              value: http://mso.{{ include "common.namespace" . }}:"{{ .Values.config.msoport }}"
+              value: http://mso.{{ include "common.namespace" . }}:{{ .Values.config.msoport }}
             - name: VID_MSO_PASS
               value: "{{ .Values.config.vidmsopass }}"
             - name: MSO_DME2_SERVER_URL
@@ -91,15 +91,15 @@ spec:
             - name: MSO_DME2_ENABLED
               value: {{ .Values.global.debugEnabled | default .Values.debugEnabled | quote }}
             - name: VID_ECOMP_REDIRECT_URL
-              value: http://portalapps.{{ include "common.namespace" . }}:"{{ .Values.config.onapport }}"/ONAPPORTAL/login.htm
+              value: http://portal-app.{{ include "common.namespace" . }}:{{ .Values.config.onapport }}/ONAPPORTAL/login.htm
             - name: VID_ECOMP_REST_URL
-              value: http://portalapps.{{ include "common.namespace" . }}:"{{ .Values.config.onapport }}"/ONAPPORTAL/auxapi
+              value: http://portal-app.{{ include "common.namespace" . }}:{{ .Values.config.onapport }}/ONAPPORTAL/auxapi
             - name: VID_CONTACT_US_LINK
               value: "{{ .Values.config.vidcontactuslink }}"
             - name: VID_UEB_URL_LIST
-              value: dmaap.{{ include "common.namespace" . }}
+              value: message-router.{{ include "common.namespace" . }}
             - name: VID_MYSQL_HOST
-              value: "{{ .Release.Name }}-{{ .Values.config.vidmysqlhost }}"
+              value: "{{ .Values.config.vidmysqlhost }}"
             - name: VID_MYSQL_PORT
               value: "{{ .Values.config.vidmysqlport }}"
             - name: VID_MYSQL_DBNAME
index 3969d21..3d1097f 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -28,11 +28,11 @@ spec:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index ac68f2e..20882c5 100644 (file)
@@ -28,7 +28,7 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: openecomp/vid:v1.1.1
+image: onap/vid:1.2.1
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -80,6 +80,7 @@ readiness:
 service:
   type: NodePort
   name: vid
+  portName: vid
   externalPort: "00"
   nodePort: "00"
   internalPort: 8080
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: batch/v1
-kind: Job
+apiVersion: extensions/v1beta1
+kind: Deployment
 metadata:
-  name: {{ include "common.fullname" . }}-config
+  name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
-    app: {{ include "common.name" . }}-job
+    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" . }}-job
+        app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
     spec:
-      restartPolicy: Never
-      hostname: postgres
+      hostname: {{ include "common.name" . }}
       containers:
-      - name: {{ include "common.name" . }}-job
+      - args:
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        env:
-        - name: DB_HOST
-          value: "{{ .Release.Name }}-{{ .Values.service.name }}"
+        name: {{ include "common.name" . }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 6aac9e6..f6208cf 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -32,7 +32,7 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
     {{- end}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName | default "http" }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
index d99eab9..c35a1f9 100644 (file)
@@ -29,7 +29,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/refrepo/postgres:latest
+image: onap/vnfsdk/refrepo/postgres:latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -55,7 +55,7 @@ readiness:
 
 service:
   type: ClusterIP
-  name: pgset
+  name: postgres
   internalPort: 5432
   externalPort: 5432
 
index caf4149..f639633 100644 (file)
@@ -19,6 +19,3 @@ dependencies:
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
     repository: '@local'
-  - name: postgres
-    version: ~2.0.0
-    repository: '@local'
index 2e5f40b..35bff1e 100644 (file)
@@ -38,7 +38,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - "{{ index .Values "vnfsdk-postgres" "nameOverride" }}"
+        - "{{ .Values.vnfsdkpostgres.nameOverride }}"
         env:
         - name: NAMESPACE
           valueFrom:
index 6aac9e6..f6208cf 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -32,7 +32,7 @@ spec:
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
     {{- end}}
-      name: {{ .Values.service.name }}
+      name: {{ .Values.service.portName | default "http" }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
index 0643d58..887c680 100644 (file)
@@ -29,12 +29,12 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/refrepo:1.1-STAGING-latest
+image: onap/vnfsdk/refrepo:1.1-STAGING-latest
 pullPolicy: Always
 
 #subchart name
-vnfsdk-postgres:
-  nameOverride: postgres
+vnfsdkpostgres:
+  nameOverride: vnfsdk-postgres
 
 # flag to enable debugging - application support required
 debugEnabled: false
@@ -58,6 +58,7 @@ readiness:
 service:
   type: NodePort
   name: refrepo
+  portName: refrepo
   nodePort: 97
   internalPort: 8702