Merge "Bump up version to 1.3.0-SNAPSHOT"
authorJames MacNider <James.MacNider@amdocs.com>
Thu, 14 Mar 2019 15:17:32 +0000 (15:17 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 14 Mar 2019 15:17:32 +0000 (15:17 +0000)
770 files changed:
.gitignore
docs/oom_developer_guide.rst
docs/oom_quickstart_guide.rst
docs/oom_setup_kubernetes_rancher.rst
docs/oom_user_guide.rst
docs/openstack-k8s-node.sh
docs/openstack-rancher.sh
docs/release-notes.rst
kubernetes/LICENSE
kubernetes/aaf/Chart.yaml
kubernetes/aaf/charts/aaf-cm/Chart.yaml
kubernetes/aaf/charts/aaf-cs/Chart.yaml
kubernetes/aaf/charts/aaf-fs/Chart.yaml
kubernetes/aaf/charts/aaf-gui/Chart.yaml
kubernetes/aaf/charts/aaf-hello/Chart.yaml
kubernetes/aaf/charts/aaf-locate/Chart.yaml
kubernetes/aaf/charts/aaf-oauth/Chart.yaml
kubernetes/aaf/charts/aaf-service/Chart.yaml
kubernetes/aaf/charts/aaf-sms/Chart.yaml
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/Chart.yaml
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-quorumclient/templates/statefulset.yaml
kubernetes/aaf/charts/aaf-sms/charts/aaf-sms-vault/Chart.yaml
kubernetes/aaf/charts/aaf-sms/templates/deployment.yaml
kubernetes/aaf/charts/aaf-sms/templates/job.yaml
kubernetes/aaf/charts/aaf-sshsm/Chart.yaml
kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/Chart.yaml
kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/job.yaml
kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-abrmd/templates/statefulset.yaml
kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/Chart.yaml
kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-distcenter/templates/job.yaml
kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/Chart.yaml
kubernetes/aaf/charts/aaf-sshsm/charts/aaf-sshsm-testca/templates/job.yaml
kubernetes/aaf/charts/aaf-sshsm/requirements.yaml
kubernetes/aaf/requirements.yaml
kubernetes/aai/Chart.yaml
kubernetes/aai/charts/aai-babel/Chart.yaml
kubernetes/aai/charts/aai-babel/requirements.yaml
kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties [deleted file]
kubernetes/aai/charts/aai-babel/resources/config/tosca-mappings.json [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/resources/fproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-babel/resources/rproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-babel/templates/deployment.yaml
kubernetes/aai/charts/aai-babel/templates/secrets.yaml
kubernetes/aai/charts/aai-babel/values.yaml
kubernetes/aai/charts/aai-cassandra/Chart.yaml
kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml
kubernetes/aai/charts/aai-champ/Chart.yaml
kubernetes/aai/charts/aai-champ/requirements.yaml
kubernetes/aai/charts/aai-champ/resources/fproxy/config/auth/tomcat_keystore [deleted file]
kubernetes/aai/charts/aai-champ/resources/fproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-champ/resources/rproxy/config/auth/client-cert.p12 [deleted file]
kubernetes/aai/charts/aai-champ/resources/rproxy/config/auth/uri-authorization.json
kubernetes/aai/charts/aai-champ/resources/rproxy/config/cadi.properties
kubernetes/aai/charts/aai-champ/resources/rproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-champ/resources/rproxy/config/security/keyfile [deleted file]
kubernetes/aai/charts/aai-champ/templates/deployment.yaml
kubernetes/aai/charts/aai-champ/templates/secrets.yaml
kubernetes/aai/charts/aai-champ/values.yaml
kubernetes/aai/charts/aai-data-router/Chart.yaml
kubernetes/aai/charts/aai-data-router/templates/deployment.yaml
kubernetes/aai/charts/aai-data-router/templates/secret.yaml
kubernetes/aai/charts/aai-elasticsearch/Chart.yaml
kubernetes/aai/charts/aai-elasticsearch/resources/bin/init_sg.sh [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/bin/run.sh [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/bin/wait_until_started.sh [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/elasticsearch.yml
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/esaai-keystore.jks [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/sgadmin-keystore.p12 [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/truststore.jks [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_action_groups.yml [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_config.yml [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_internal_users.yml [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_roles.yml [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_roles_mapping.yml [new file with mode: 0644]
kubernetes/aai/charts/aai-elasticsearch/templates/configmap.yaml
kubernetes/aai/charts/aai-elasticsearch/templates/deployment.yaml
kubernetes/aai/charts/aai-elasticsearch/templates/secrets.yaml [moved from kubernetes/vvp/charts/vvp-em-uwsgi/templates/configmap.yaml with 76% similarity]
kubernetes/aai/charts/aai-elasticsearch/templates/service.yaml
kubernetes/aai/charts/aai-elasticsearch/values.yaml
kubernetes/aai/charts/aai-gizmo/Chart.yaml
kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/tomcat_keystore [deleted file]
kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/client-cert.p12 [deleted file]
kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/tomcat_keystore [deleted file]
kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/uri-authorization.json
kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/cadi.properties
kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/security/keyfile [deleted file]
kubernetes/aai/charts/aai-gizmo/templates/deployment.yaml
kubernetes/aai/charts/aai-gizmo/templates/secrets.yaml
kubernetes/aai/charts/aai-gizmo/values.yaml
kubernetes/aai/charts/aai-graphadmin/Chart.yaml
kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties
kubernetes/aai/charts/aai-graphadmin/resources/config/logback.xml
kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml
kubernetes/aai/charts/aai-graphadmin/templates/job.yaml
kubernetes/aai/charts/aai-graphadmin/values.yaml
kubernetes/aai/charts/aai-modelloader/Chart.yaml
kubernetes/aai/charts/aai-modelloader/templates/deployment.yaml
kubernetes/aai/charts/aai-modelloader/templates/secret.yaml
kubernetes/aai/charts/aai-resources/Chart.yaml
kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks [deleted file]
kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties
kubernetes/aai/charts/aai-resources/resources/config/application.properties
kubernetes/aai/charts/aai-resources/resources/config/logback.xml
kubernetes/aai/charts/aai-resources/resources/fproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-resources/resources/rproxy/config/logback-spring.xml
kubernetes/aai/charts/aai-resources/templates/configmap.yaml
kubernetes/aai/charts/aai-resources/templates/deployment.yaml
kubernetes/aai/charts/aai-resources/values.yaml
kubernetes/aai/charts/aai-schema-service/.helmignore [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/Chart.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/Chart.yaml with 83% similarity]
kubernetes/aai/charts/aai-schema-service/config/aaiconfig.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/config/application.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/config/localhost-access-logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/config/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/config/realm.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/templates/configmap.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/templates/deployment.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-schema-service/templates/service.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/service.yaml with 51% similarity]
kubernetes/aai/charts/aai-schema-service/values.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-search-data/Chart.yaml
kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore
kubernetes/aai/charts/aai-search-data/resources/config/elastic-search.properties
kubernetes/aai/charts/aai-search-data/templates/deployment.yaml
kubernetes/aai/charts/aai-search-data/templates/secret.yaml
kubernetes/aai/charts/aai-sparky-be/Chart.yaml
kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-schema-prod.properties
kubernetes/aai/charts/aai-sparky-be/resources/config/application.properties
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/BOOT-INF/classes/key.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/BOOT-INF/classes/portal.properties
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/cadi.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/keyFile [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/portal/portal-authentication.properties
kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
kubernetes/aai/charts/aai-sparky-be/templates/secret.yaml
kubernetes/aai/charts/aai-sparky-be/values.yaml
kubernetes/aai/charts/aai-spike/Chart.yaml
kubernetes/aai/charts/aai-spike/requirements.yaml
kubernetes/aai/charts/aai-spike/templates/deployment.yaml
kubernetes/aai/charts/aai-spike/templates/secrets.yaml
kubernetes/aai/charts/aai-spike/values.yaml
kubernetes/aai/charts/aai-traversal/Chart.yaml
kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks [deleted file]
kubernetes/aai/charts/aai-traversal/resources/config/application.properties
kubernetes/aai/charts/aai-traversal/resources/config/logback.xml
kubernetes/aai/charts/aai-traversal/templates/configmap.yaml
kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
kubernetes/aai/charts/aai-traversal/templates/job.yaml
kubernetes/aai/charts/aai-traversal/values.yaml
kubernetes/aai/requirements.yaml
kubernetes/aai/resources/config/auth/truststoreONAPall.jks [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/auth/truststoreONAPall.jks with 100% similarity]
kubernetes/aai/resources/config/fproxy/auth/client-cert.p12 [moved from kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/client-cert.p12 with 100% similarity]
kubernetes/aai/resources/config/fproxy/auth/fproxy_truststore [new file with mode: 0644]
kubernetes/aai/resources/config/fproxy/auth/tomcat_keystore [new file with mode: 0644]
kubernetes/aai/resources/config/rproxy/auth/client-cert.p12 [moved from kubernetes/aai/charts/aai-champ/resources/fproxy/config/auth/client-cert.p12 with 100% similarity]
kubernetes/aai/resources/config/rproxy/auth/org.onap.aai.p12 [new file with mode: 0644]
kubernetes/aai/resources/config/rproxy/auth/tomcat_keystore [moved from kubernetes/aai/charts/aai-champ/resources/rproxy/config/auth/tomcat_keystore with 100% similarity]
kubernetes/aai/resources/config/rproxy/security/keyfile [new file with mode: 0644]
kubernetes/aai/templates/configmap.yaml
kubernetes/aai/templates/deployment.yaml
kubernetes/aai/templates/secret.yaml [new file with mode: 0644]
kubernetes/aai/values.yaml
kubernetes/appc/Chart.yaml
kubernetes/appc/charts/appc-ansible-server/Chart.yaml
kubernetes/appc/charts/appc-ansible-server/requirements.yaml
kubernetes/appc/charts/appc-ansible-server/values.yaml
kubernetes/appc/charts/appc-cdt/Chart.yaml
kubernetes/appc/charts/appc-cdt/requirements.yaml
kubernetes/appc/requirements.yaml
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installFeatures.sh [new file with mode: 0755]
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
kubernetes/appc/templates/statefulset.yaml
kubernetes/appc/values.yaml
kubernetes/cds/.helmignore [moved from kubernetes/common/controller-blueprints/.helmignore with 100% similarity]
kubernetes/cds/Chart.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/Chart.yaml with 85% similarity]
kubernetes/cds/README.md [new file with mode: 0644]
kubernetes/cds/charts/blueprints-processor/Chart.yaml [moved from kubernetes/vvp/Chart.yaml with 81% similarity, mode: 0755]
kubernetes/cds/charts/blueprints-processor/requirements.yaml [new file with mode: 0755]
kubernetes/cds/charts/blueprints-processor/resources/config/application.properties [new file with mode: 0755]
kubernetes/cds/charts/blueprints-processor/resources/config/logback.xml [moved from kubernetes/common/controller-blueprints/resources/config/logback.xml with 100% similarity, mode: 0755]
kubernetes/cds/charts/blueprints-processor/templates/configmap.yaml [moved from kubernetes/common/controller-blueprints/templates/configmap.yaml with 89% similarity, mode: 0755]
kubernetes/cds/charts/blueprints-processor/templates/deployment.yaml [new file with mode: 0755]
kubernetes/cds/charts/blueprints-processor/templates/secrets.yaml [new file with mode: 0755]
kubernetes/cds/charts/blueprints-processor/templates/service.yaml [new file with mode: 0755]
kubernetes/cds/charts/blueprints-processor/values.yaml [new file with mode: 0755]
kubernetes/cds/charts/controller-blueprints/.helmignore [moved from kubernetes/dmaap/charts/dmaap-bus-controller/.helmignore with 100% similarity]
kubernetes/cds/charts/controller-blueprints/Chart.yaml [moved from kubernetes/common/controller-blueprints/Chart.yaml with 97% similarity]
kubernetes/cds/charts/controller-blueprints/requirements.yaml [moved from kubernetes/common/controller-blueprints/requirements.yaml with 91% similarity]
kubernetes/cds/charts/controller-blueprints/resources/config/application.properties [moved from kubernetes/common/controller-blueprints/resources/config/application.properties with 51% similarity, mode: 0755]
kubernetes/cds/charts/controller-blueprints/resources/config/logback.xml [new file with mode: 0644]
kubernetes/cds/charts/controller-blueprints/templates/configmap.yaml [new file with mode: 0644]
kubernetes/cds/charts/controller-blueprints/templates/deployment.yaml [moved from kubernetes/common/controller-blueprints/templates/deployment.yaml with 77% similarity, mode: 0755]
kubernetes/cds/charts/controller-blueprints/templates/secrets.yaml [moved from kubernetes/common/controller-blueprints/templates/secrets.yaml with 100% similarity]
kubernetes/cds/charts/controller-blueprints/templates/service.yaml [moved from kubernetes/common/controller-blueprints/templates/service.yaml with 71% similarity, mode: 0755]
kubernetes/cds/charts/controller-blueprints/values.yaml [moved from kubernetes/common/controller-blueprints/values.yaml with 93% similarity, mode: 0755]
kubernetes/cds/requirements.yaml [moved from kubernetes/vvp/charts/vvp-jenkins/requirements.yaml with 85% similarity]
kubernetes/cds/templates/deployment.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/deployment.yaml with 57% similarity]
kubernetes/cds/templates/service.yaml [moved from kubernetes/vvp/templates/service.yaml with 69% similarity]
kubernetes/cds/values.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/values.yaml with 71% similarity]
kubernetes/clamp/Chart.yaml
kubernetes/clamp/charts/clamp-dash-es/Chart.yaml
kubernetes/clamp/charts/clamp-dash-es/requirements.yaml
kubernetes/clamp/charts/clamp-dash-kibana/Chart.yaml
kubernetes/clamp/charts/clamp-dash-kibana/requirements.yaml
kubernetes/clamp/charts/clamp-dash-logstash/Chart.yaml
kubernetes/clamp/charts/clamp-dash-logstash/requirements.yaml
kubernetes/clamp/charts/mariadb/Chart.yaml
kubernetes/clamp/requirements.yaml
kubernetes/cli/Chart.yaml
kubernetes/cli/requirements.yaml
kubernetes/common/cassandra/Chart.yaml
kubernetes/common/cassandra/requirements.yaml
kubernetes/common/cassandra/templates/configmap.yaml [new file with mode: 0644]
kubernetes/common/cassandra/templates/pv.yaml [moved from kubernetes/common/cassandra/templates/volumes.yaml with 96% similarity]
kubernetes/common/cassandra/templates/service.yaml
kubernetes/common/cassandra/templates/statefulset.yaml
kubernetes/common/cassandra/values.yaml
kubernetes/common/common/Chart.yaml
kubernetes/common/dgbuilder/Chart.yaml
kubernetes/common/dgbuilder/requirements.yaml
kubernetes/common/dgbuilder/templates/configmap.yaml
kubernetes/common/mariadb-galera/Chart.yaml
kubernetes/common/mariadb-galera/requirements.yaml
kubernetes/common/mariadb-galera/templates/configmap.yaml
kubernetes/common/mariadb-galera/templates/statefulset.yaml
kubernetes/common/mongo/Chart.yaml
kubernetes/common/mongo/requirements.yaml
kubernetes/common/music/Chart.yaml
kubernetes/common/music/charts/music-cassandra-job/Chart.yaml
kubernetes/common/music/charts/music-cassandra/Chart.yaml
kubernetes/common/music/charts/music-cassandra/requirements.yaml
kubernetes/common/music/charts/music-cassandra/templates/statefulset.yaml
kubernetes/common/music/charts/music-tomcat/Chart.yaml
kubernetes/common/music/charts/music-tomcat/requirements.yaml
kubernetes/common/music/charts/zookeeper/templates/job-chroots.yaml
kubernetes/common/music/charts/zookeeper/templates/statefulset.yaml
kubernetes/common/music/requirements.yaml
kubernetes/common/mysql/Chart.yaml
kubernetes/common/mysql/requirements.yaml
kubernetes/common/mysql/templates/configmap.yaml
kubernetes/common/mysql/templates/service.yaml
kubernetes/common/mysql/templates/statefulset.yaml
kubernetes/common/mysql/templates/storageclass.yaml
kubernetes/common/network-name-gen/Chart.yaml
kubernetes/common/network-name-gen/requirements.yaml
kubernetes/common/postgres/Chart.yaml
kubernetes/common/postgres/charts/pgpool/Chart.yaml
kubernetes/common/postgres/charts/pgpool/requirements.yaml
kubernetes/common/postgres/charts/pgpool/templates/deployment.yaml
kubernetes/common/postgres/requirements.yaml
kubernetes/consul/Chart.yaml
kubernetes/consul/charts/consul-server/Chart.yaml
kubernetes/consul/charts/consul-server/requirements.yaml
kubernetes/consul/requirements.yaml
kubernetes/contrib/Chart.yaml
kubernetes/contrib/charts/netbox/Chart.yaml
kubernetes/contrib/charts/netbox/charts/netbox-app/Chart.yaml
kubernetes/contrib/charts/netbox/charts/netbox-app/templates/deployment.yaml
kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml
kubernetes/contrib/charts/netbox/charts/netbox-nginx/Chart.yaml
kubernetes/contrib/charts/netbox/charts/netbox-nginx/values.yaml
kubernetes/contrib/charts/netbox/charts/netbox-postgres/Chart.yaml
kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml
kubernetes/contrib/charts/netbox/requirements.yaml
kubernetes/contrib/requirements.yaml
kubernetes/dcaegen2/Chart.yaml
kubernetes/dcaegen2/Makefile
kubernetes/dcaegen2/charts/dcae-bootstrap/Chart.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/requirements.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-inventory-inputs.yaml [deleted file]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-policy_handler-inputs.yaml [deleted file]
kubernetes/dcaegen2/charts/dcae-bootstrap/templates/deployment.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml
kubernetes/dcaegen2/charts/dcae-cloudify-manager/Chart.yaml
kubernetes/dcaegen2/charts/dcae-cloudify-manager/requirements.yaml
kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml
kubernetes/dcaegen2/charts/dcae-config-binding-service/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-config-binding-service/requirements.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/requirements.yaml with 91% similarity]
kubernetes/dcaegen2/charts/dcae-config-binding-service/resources/config/log/filebeat/filebeat.yml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/configmap.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/secrets.yaml with 77% similarity]
kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-config-binding-service/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-deployment-handler/.helmignore [moved from kubernetes/dmaap/charts/dmaap-data-router/.helmignore with 100% similarity]
kubernetes/dcaegen2/charts/dcae-deployment-handler/Chart.yaml [moved from kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-config_binding_service-inputs.yaml with 67% similarity]
kubernetes/dcaegen2/charts/dcae-deployment-handler/requirements.yaml [moved from kubernetes/vvp/charts/vvp-em-uwsgi/requirements.yaml with 85% similarity]
kubernetes/dcaegen2/charts/dcae-deployment-handler/resources/config/config.json [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-deployment-handler/resources/log/filebeat.yml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-deployment-handler/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-healthcheck/Chart.yaml
kubernetes/dcaegen2/charts/dcae-healthcheck/requirements.yaml
kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml
kubernetes/dcaegen2/charts/dcae-policy-handler/.helmignore [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/.helmignore with 100% similarity]
kubernetes/dcaegen2/charts/dcae-policy-handler/Chart.yaml [moved from kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-deployment_handler-inputs.yaml with 65% similarity]
kubernetes/dcaegen2/charts/dcae-policy-handler/requirements.yaml [moved from kubernetes/vvp/charts/vvp-imagescanner/requirements.yaml with 85% similarity]
kubernetes/dcaegen2/charts/dcae-policy-handler/resources/config/config.json [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-policy-handler/resources/log/filebeat.yml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-policy-handler/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-policy-handler/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-policy-handler/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-policy-handler/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-redis/Chart.yaml
kubernetes/dcaegen2/charts/dcae-redis/requirements.yaml
kubernetes/dcaegen2/charts/dcae-servicechange-handler/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/Chart.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/resources/config/config.json [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/templates/configmap.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/configmap.yaml with 84% similarity]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/templates/service.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/requirements.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/resources/config/config.json [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-servicechange-handler/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/requirements.yaml
kubernetes/dmaap/Chart.yaml
kubernetes/dmaap/Makefile
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/resources/config/mariadb/conf.d/mariadb1.cnf [deleted file]
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/resources/config/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql [deleted file]
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/NOTES.txt [deleted file]
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml [deleted file]
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/values.yaml [deleted file]
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/deployment.yaml [deleted file]
kubernetes/dmaap/charts/dmaap-data-router/values.yaml [deleted file]
kubernetes/dmaap/components/dmaap-bus-controller/.helmignore [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/.helmignore with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/Chart.yaml [moved from kubernetes/dmaap/charts/dmaap-bus-controller/Chart.yaml with 98% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/README.md [moved from kubernetes/dmaap/charts/dmaap-bus-controller/README.md with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/requirements.yaml [moved from kubernetes/dmaap/charts/dmaap-bus-controller/requirements.yaml with 94% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/config/buscontroller.env [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/buscontroller.env with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/config/dmaapbc.properties [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/config/dmaapbc.properties with 97% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/dcaeLocations/san-francisco.json [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/dcaeLocations/san-francisco.json with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/dmaap/onap.json [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/dmaap/onap.json with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/feeds/DefaultPM.json [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/feeds/DefaultPM.json with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/feeds/README [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/feeds/README with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/mr_clusters/san-francisco.json [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/mr_clusters/san-francisco.json with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/topics/PNF_READY.json [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_READY.json with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/topics/PNF_REGISTRATION.json [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/PNF_REGISTRATION.json with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/resources/topics/README [moved from kubernetes/dmaap/charts/dmaap-bus-controller/resources/topics/README with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/templates/NOTES.txt [moved from kubernetes/dmaap/charts/dmaap-bus-controller/templates/NOTES.txt with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/templates/configmap.yaml [moved from kubernetes/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/templates/deployment.yaml [moved from kubernetes/dmaap/charts/dmaap-bus-controller/templates/deployment.yaml with 98% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/templates/service.yaml [moved from kubernetes/dmaap/charts/dmaap-bus-controller/templates/service.yaml with 100% similarity]
kubernetes/dmaap/components/dmaap-bus-controller/values.yaml [moved from kubernetes/dmaap/charts/dmaap-bus-controller/values.yaml with 98% similarity]
kubernetes/dmaap/components/dmaap-dr-node/.helmignore [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/.helmignore with 100% similarity]
kubernetes/dmaap/components/dmaap-dr-node/Chart.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/Chart.yaml with 97% similarity]
kubernetes/dmaap/components/dmaap-dr-node/requirements.yaml [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-node/resources/config/feeds/createFeed.sh [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/resources/config/feeds/createFeed.sh with 64% similarity]
kubernetes/dmaap/components/dmaap-dr-node/resources/config/feeds/dedicatedFeed.json [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/resources/config/feeds/dedicatedFeed.json with 100% similarity]
kubernetes/dmaap/components/dmaap-dr-node/resources/config/logback.xml [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-node/resources/config/node.properties [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/resources/config/node.properties with 85% similarity]
kubernetes/dmaap/components/dmaap-dr-node/templates/NOTES.txt [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/NOTES.txt with 80% similarity]
kubernetes/dmaap/components/dmaap-dr-node/templates/configmap.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/configmap.yaml with 86% similarity]
kubernetes/dmaap/components/dmaap-dr-node/templates/pv.yaml [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-node/templates/service.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/service.yaml with 51% similarity]
kubernetes/dmaap/components/dmaap-dr-node/templates/statefulset.yaml [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-node/values.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/values.yaml with 72% similarity]
kubernetes/dmaap/components/dmaap-dr-prov/.helmignore [moved from kubernetes/dmaap/charts/message-router/.helmignore with 100% similarity]
kubernetes/dmaap/components/dmaap-dr-prov/Chart.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/Chart.yaml with 97% similarity]
kubernetes/dmaap/components/dmaap-dr-prov/requirements.yaml [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-prov/resources/config/logback.xml [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-prov/resources/config/provserver.properties [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/resources/config/provserver.properties with 84% similarity]
kubernetes/dmaap/components/dmaap-dr-prov/templates/NOTES.txt [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/NOTES.txt with 80% similarity]
kubernetes/dmaap/components/dmaap-dr-prov/templates/configmap.yaml [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-prov/templates/deployment.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/deployment.yaml with 64% similarity]
kubernetes/dmaap/components/dmaap-dr-prov/templates/service.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/service.yaml with 51% similarity]
kubernetes/dmaap/components/dmaap-dr-prov/values.yaml [new file with mode: 0644]
kubernetes/dmaap/components/message-router/.helmignore [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/.helmignore with 100% similarity]
kubernetes/dmaap/components/message-router/Chart.yaml [moved from kubernetes/dmaap/charts/message-router/Chart.yaml with 97% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/.helmignore [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/.helmignore with 100% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/Chart.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/Chart.yaml with 97% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/NOTES.txt [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/templates/NOTES.txt with 100% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/poddisruptionbudget.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml with 95% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/pv.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/templates/pv.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/service.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/templates/service.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/statefulset.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/templates/statefulset.yaml with 97% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/values.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/values.yaml with 97% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/.helmignore [new file with mode: 0644]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/Chart.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/Chart.yaml with 97% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/NOTES.txt [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/templates/NOTES.txt with 100% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-kafka/templates/poddisruptionbudget.yaml with 90% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/pv.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/templates/pv.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/service.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/templates/service.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/statefulset.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/templates/statefulset.yaml with 97% similarity]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/values.yaml [moved from kubernetes/dmaap/charts/message-router/charts/message-router-zookeeper/values.yaml with 98% similarity]
kubernetes/dmaap/components/message-router/requirements.yaml [moved from kubernetes/dmaap/charts/message-router/requirements.yaml with 97% similarity]
kubernetes/dmaap/components/message-router/resources/config/dmaap/MsgRtrApi.properties [moved from kubernetes/dmaap/charts/message-router/resources/config/dmaap/MsgRtrApi.properties with 100% similarity]
kubernetes/dmaap/components/message-router/resources/config/dmaap/cadi.properties [moved from kubernetes/dmaap/charts/message-router/resources/config/dmaap/cadi.properties with 100% similarity]
kubernetes/dmaap/components/message-router/resources/config/dmaap/mykey [moved from kubernetes/dmaap/charts/message-router/resources/config/dmaap/mykey with 100% similarity]
kubernetes/dmaap/components/message-router/templates/NOTES.txt [moved from kubernetes/dmaap/charts/message-router/templates/NOTES.txt with 100% similarity]
kubernetes/dmaap/components/message-router/templates/configmap.yaml [moved from kubernetes/dmaap/charts/message-router/templates/configmap.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/templates/secrets.yaml [moved from kubernetes/dmaap/charts/message-router/templates/secrets.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/templates/service.yaml [moved from kubernetes/dmaap/charts/message-router/templates/service.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/templates/statefulset.yaml [moved from kubernetes/dmaap/charts/message-router/templates/statefulset.yaml with 100% similarity]
kubernetes/dmaap/components/message-router/values.yaml [moved from kubernetes/dmaap/charts/message-router/values.yaml with 100% similarity]
kubernetes/dmaap/requirements.yaml
kubernetes/dmaap/resources/config/log/filebeat/filebeat.yml [new file with mode: 0644]
kubernetes/dmaap/templates/configmap.yaml [moved from kubernetes/vvp/charts/vvp-ci-uwsgi/templates/configmap.yaml with 52% similarity]
kubernetes/dmaap/values.yaml
kubernetes/esr/Chart.yaml
kubernetes/esr/charts/esr-gui/Chart.yaml
kubernetes/esr/charts/esr-server/Chart.yaml
kubernetes/esr/charts/esr-server/requirements.yaml
kubernetes/esr/requirements.yaml
kubernetes/helm/plugins/deploy/deploy.sh
kubernetes/helm/starters/onap-app/Chart.yaml
kubernetes/helm/starters/onap-app/requirements.yaml
kubernetes/log/Chart.yaml
kubernetes/log/charts/log-elasticsearch/Chart.yaml
kubernetes/log/charts/log-elasticsearch/requirements.yaml
kubernetes/log/charts/log-kibana/Chart.yaml
kubernetes/log/charts/log-kibana/requirements.yaml
kubernetes/log/charts/log-logstash/Chart.yaml
kubernetes/log/charts/log-logstash/requirements.yaml
kubernetes/log/requirements.yaml
kubernetes/msb/Chart.yaml
kubernetes/msb/charts/kube2msb/Chart.yaml
kubernetes/msb/charts/kube2msb/requirements.yaml
kubernetes/msb/charts/msb-consul/Chart.yaml
kubernetes/msb/charts/msb-consul/requirements.yaml
kubernetes/msb/charts/msb-discovery/Chart.yaml
kubernetes/msb/charts/msb-discovery/requirements.yaml
kubernetes/msb/charts/msb-eag/Chart.yaml
kubernetes/msb/charts/msb-eag/requirements.yaml
kubernetes/msb/charts/msb-iag/Chart.yaml
kubernetes/msb/charts/msb-iag/requirements.yaml
kubernetes/msb/requirements.yaml
kubernetes/multicloud/Chart.yaml
kubernetes/multicloud/charts/multicloud-azure/Chart.yaml
kubernetes/multicloud/charts/multicloud-ocata/Chart.yaml
kubernetes/multicloud/charts/multicloud-pike/Chart.yaml
kubernetes/multicloud/charts/multicloud-prometheus/Chart.yaml
kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-alertmanager/Chart.yaml
kubernetes/multicloud/charts/multicloud-prometheus/charts/prometheus-grafana/Chart.yaml
kubernetes/multicloud/charts/multicloud-vio/Chart.yaml
kubernetes/multicloud/charts/multicloud-windriver/Chart.yaml
kubernetes/multicloud/requirements.yaml
kubernetes/nbi/Chart.yaml
kubernetes/nbi/charts/mariadb/Chart.yaml
kubernetes/nbi/charts/mariadb/requirements.yaml
kubernetes/nbi/requirements.yaml
kubernetes/onap/Chart.yaml
kubernetes/onap/requirements.yaml
kubernetes/onap/resources/environments/dev.yaml
kubernetes/onap/resources/environments/disable-allcharts.yaml
kubernetes/onap/resources/environments/minimal-onap.yaml
kubernetes/onap/resources/environments/public-cloud.yaml
kubernetes/onap/resources/overrides/onap-all.yaml [new file with mode: 0644]
kubernetes/onap/values.yaml
kubernetes/oof/Chart.yaml
kubernetes/oof/charts/oof-cmso/Chart.yaml
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/Chart.yaml
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/deployment.yaml
kubernetes/oof/charts/oof-cmso/requirements.yaml
kubernetes/oof/charts/oof-has/Chart.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-api/Chart.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-controller/Chart.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-data/Chart.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-reservation/Chart.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-solver/Chart.yaml
kubernetes/oof/charts/oof-has/requirements.yaml
kubernetes/oof/charts/oof-has/templates/job-healthcheck.yaml
kubernetes/oof/charts/oof-has/templates/job-onboard.yaml
kubernetes/oof/requirements.yaml
kubernetes/pnda/Chart.yaml
kubernetes/pnda/charts/dcae-pnda-bootstrap/Chart.yaml
kubernetes/pnda/charts/dcae-pnda-bootstrap/requirements.yaml
kubernetes/pnda/charts/dcae-pnda-mirror/Chart.yaml
kubernetes/pnda/charts/dcae-pnda-mirror/requirements.yaml
kubernetes/pnda/requirements.yaml
kubernetes/policy/Chart.yaml
kubernetes/policy/charts/brmsgw/Chart.yaml
kubernetes/policy/charts/brmsgw/requirements.yaml
kubernetes/policy/charts/brmsgw/values.yaml
kubernetes/policy/charts/drools/Chart.yaml
kubernetes/policy/charts/drools/charts/nexus/Chart.yaml
kubernetes/policy/charts/drools/charts/nexus/requirements.yaml
kubernetes/policy/charts/drools/requirements.yaml
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/base.conf
kubernetes/policy/charts/drools/templates/statefulset.yaml
kubernetes/policy/charts/drools/values.yaml
kubernetes/policy/charts/mariadb/Chart.yaml
kubernetes/policy/charts/mariadb/requirements.yaml
kubernetes/policy/charts/pdp/Chart.yaml
kubernetes/policy/charts/pdp/requirements.yaml
kubernetes/policy/charts/pdp/values.yaml
kubernetes/policy/charts/policy-apex-pdp/Chart.yaml
kubernetes/policy/charts/policy-apex-pdp/requirements.yaml
kubernetes/policy/charts/policy-apex-pdp/values.yaml
kubernetes/policy/charts/policy-api/Chart.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-api/requirements.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-api/resources/config/config.json [new file with mode: 0644]
kubernetes/policy/charts/policy-api/templates/configmap.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-api/templates/deployment.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-api/templates/service.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-api/values.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-common/Chart.yaml
kubernetes/policy/charts/policy-common/requirements.yaml
kubernetes/policy/charts/policy-common/resources/config/pe/base.conf
kubernetes/policy/charts/policy-distribution/Chart.yaml
kubernetes/policy/charts/policy-distribution/requirements.yaml
kubernetes/policy/charts/policy-distribution/values.yaml
kubernetes/policy/charts/policy-pap/Chart.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/requirements.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/resources/config/config.json [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/templates/NOTES.txt [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/templates/configmap.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/templates/deployment.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/templates/service.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/values.yaml [new file with mode: 0644]
kubernetes/policy/requirements.yaml
kubernetes/policy/resources/config/pe/push-policies.sh
kubernetes/policy/templates/deployment.yaml
kubernetes/policy/values.yaml
kubernetes/pomba/Chart.yaml
kubernetes/pomba/charts/pomba-aaictxbuilder/Chart.yaml
kubernetes/pomba/charts/pomba-aaictxbuilder/requirements.yaml
kubernetes/pomba/charts/pomba-aaictxbuilder/resources/config/application.properties
kubernetes/pomba/charts/pomba-aaictxbuilder/resources/config/logback.xml
kubernetes/pomba/charts/pomba-aaictxbuilder/templates/deployment.yaml
kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml
kubernetes/pomba/charts/pomba-contextaggregator/Chart.yaml
kubernetes/pomba/charts/pomba-contextaggregator/requirements.yaml
kubernetes/pomba/charts/pomba-contextaggregator/resources/config/application.properties
kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/aai.properties
kubernetes/pomba/charts/pomba-contextaggregator/templates/deployment.yaml
kubernetes/pomba/charts/pomba-contextaggregator/values.yaml
kubernetes/pomba/charts/pomba-data-router/Chart.yaml
kubernetes/pomba/charts/pomba-data-router/templates/deployment.yaml
kubernetes/pomba/charts/pomba-data-router/values.yaml
kubernetes/pomba/charts/pomba-elasticsearch/Chart.yaml
kubernetes/pomba/charts/pomba-elasticsearch/requirements.yaml
kubernetes/pomba/charts/pomba-kibana/Chart.yaml
kubernetes/pomba/charts/pomba-kibana/requirements.yaml
kubernetes/pomba/charts/pomba-networkdiscovery/Chart.yaml
kubernetes/pomba/charts/pomba-networkdiscovery/requirements.yaml
kubernetes/pomba/charts/pomba-networkdiscovery/resources/config/application.properties
kubernetes/pomba/charts/pomba-networkdiscovery/values.yaml
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/Chart.yaml
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/requirements.yaml
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml
kubernetes/pomba/charts/pomba-sdcctxbuilder/Chart.yaml
kubernetes/pomba/charts/pomba-sdcctxbuilder/requirements.yaml
kubernetes/pomba/charts/pomba-sdcctxbuilder/templates/deployment.yaml
kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml
kubernetes/pomba/charts/pomba-sdncctxbuilder/Chart.yaml
kubernetes/pomba/charts/pomba-sdncctxbuilder/requirements.yaml
kubernetes/pomba/charts/pomba-sdncctxbuilder/resources/config/application.properties
kubernetes/pomba/charts/pomba-search-data/Chart.yaml
kubernetes/pomba/charts/pomba-search-data/values.yaml
kubernetes/pomba/charts/pomba-servicedecomposition/Chart.yaml
kubernetes/pomba/charts/pomba-servicedecomposition/requirements.yaml
kubernetes/pomba/charts/pomba-servicedecomposition/resources/config/application.properties
kubernetes/pomba/charts/pomba-servicedecomposition/resources/config/log/logback.xml
kubernetes/pomba/charts/pomba-servicedecomposition/values.yaml
kubernetes/pomba/charts/pomba-validation-service/Chart.yaml
kubernetes/pomba/charts/pomba-validation-service/requirements.yaml
kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy
kubernetes/pomba/charts/pomba-validation-service/templates/deployment.yaml
kubernetes/pomba/charts/pomba-validation-service/values.yaml
kubernetes/pomba/requirements.yaml
kubernetes/pomba/resources/config/log/filebeat/filebeat.yml
kubernetes/portal/Chart.yaml
kubernetes/portal/charts/portal-app/Chart.yaml
kubernetes/portal/charts/portal-cassandra/Chart.yaml
kubernetes/portal/charts/portal-mariadb/Chart.yaml
kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql
kubernetes/portal/charts/portal-sdk/Chart.yaml
kubernetes/portal/charts/portal-widget/Chart.yaml
kubernetes/portal/charts/portal-zookeeper/Chart.yaml
kubernetes/portal/requirements.yaml
kubernetes/robot/Chart.yaml
kubernetes/robot/demo-k8s.sh
kubernetes/robot/ete-k8s.sh
kubernetes/robot/requirements.yaml
kubernetes/robot/resources/config/eteshare/config/integration_preload_parameters.py
kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
kubernetes/robot/resources/config/eteshare/config/vm_properties.py
kubernetes/robot/values.yaml
kubernetes/sdc/Chart.yaml
kubernetes/sdc/charts/sdc-be/Chart.yaml
kubernetes/sdc/charts/sdc-be/templates/deployment.yaml
kubernetes/sdc/charts/sdc-be/values.yaml
kubernetes/sdc/charts/sdc-cs/Chart.yaml
kubernetes/sdc/charts/sdc-cs/values.yaml
kubernetes/sdc/charts/sdc-dcae-be/Chart.yaml
kubernetes/sdc/charts/sdc-dcae-be/templates/configmap.yaml
kubernetes/sdc/charts/sdc-dcae-dt/Chart.yaml
kubernetes/sdc/charts/sdc-dcae-dt/templates/configmap.yaml
kubernetes/sdc/charts/sdc-dcae-fe/Chart.yaml
kubernetes/sdc/charts/sdc-dcae-fe/templates/configmap.yaml
kubernetes/sdc/charts/sdc-dcae-tosca-lab/Chart.yaml
kubernetes/sdc/charts/sdc-es/Chart.yaml
kubernetes/sdc/charts/sdc-es/values.yaml
kubernetes/sdc/charts/sdc-fe/Chart.yaml
kubernetes/sdc/charts/sdc-fe/resources/config/plugins/plugins-configuration.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-fe/templates/configmap.yaml
kubernetes/sdc/charts/sdc-fe/templates/deployment.yaml
kubernetes/sdc/charts/sdc-fe/values.yaml
kubernetes/sdc/charts/sdc-kb/Chart.yaml
kubernetes/sdc/charts/sdc-kb/values.yaml
kubernetes/sdc/charts/sdc-onboarding-be/Chart.yaml
kubernetes/sdc/charts/sdc-onboarding-be/templates/deployment.yaml
kubernetes/sdc/charts/sdc-onboarding-be/values.yaml
kubernetes/sdc/charts/sdc-wfd-be/Chart.yaml
kubernetes/sdc/charts/sdc-wfd-be/templates/deployment.yaml
kubernetes/sdc/charts/sdc-wfd-be/templates/job.yaml
kubernetes/sdc/charts/sdc-wfd-be/values.yaml
kubernetes/sdc/charts/sdc-wfd-fe/Chart.yaml
kubernetes/sdc/charts/sdc-wfd-fe/templates/ingress.yaml [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd-fe/values.yaml
kubernetes/sdc/requirements.yaml
kubernetes/sdc/resources/config/environments/AUTO.json
kubernetes/sdnc/Chart.yaml
kubernetes/sdnc/charts/dmaap-listener/Chart.yaml
kubernetes/sdnc/charts/dmaap-listener/requirements.yaml
kubernetes/sdnc/charts/dmaap-listener/values.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/Chart.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/requirements.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/templates/deployment.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml
kubernetes/sdnc/charts/sdnc-portal/Chart.yaml
kubernetes/sdnc/charts/sdnc-portal/requirements.yaml
kubernetes/sdnc/charts/sdnc-portal/values.yaml
kubernetes/sdnc/charts/ueb-listener/Chart.yaml
kubernetes/sdnc/charts/ueb-listener/requirements.yaml
kubernetes/sdnc/charts/ueb-listener/values.yaml
kubernetes/sdnc/requirements.yaml
kubernetes/sdnc/sdnc-prom/Chart.yaml
kubernetes/sdnc/sdnc-prom/requirements.yaml
kubernetes/sdnc/templates/pv.yaml
kubernetes/sdnc/templates/pvc.yaml [new file with mode: 0644]
kubernetes/sdnc/templates/statefulset.yaml
kubernetes/sdnc/values.yaml
kubernetes/sniro-emulator/Chart.yaml
kubernetes/sniro-emulator/requirements.yaml
kubernetes/so/Chart.yaml
kubernetes/so/charts/so-bpmn-infra/Chart.yaml
kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml
kubernetes/so/charts/so-catalog-db-adapter/Chart.yaml
kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-catalog-db-adapter/values.yaml
kubernetes/so/charts/so-db-secrets/Chart.yaml
kubernetes/so/charts/so-mariadb/Chart.yaml
kubernetes/so/charts/so-mariadb/values.yaml
kubernetes/so/charts/so-monitoring/Chart.yaml
kubernetes/so/charts/so-openstack-adapter/Chart.yaml
kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-request-db-adapter/Chart.yaml
kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-sdc-controller/Chart.yaml
kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml
kubernetes/so/charts/so-sdnc-adapter/Chart.yaml
kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-vfc-adapter/Chart.yaml
kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml
kubernetes/so/requirements.yaml
kubernetes/so/resources/config/overrides/override.yaml
kubernetes/uui/Chart.yaml
kubernetes/uui/charts/uui-server/Chart.yaml
kubernetes/uui/requirements.yaml
kubernetes/vfc/Chart.yaml
kubernetes/vfc/charts/vfc-catalog/Chart.yaml
kubernetes/vfc/charts/vfc-catalog/templates/deployment.yaml
kubernetes/vfc/charts/vfc-catalog/templates/pv.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/pv.yaml with 96% similarity]
kubernetes/vfc/charts/vfc-catalog/templates/pvc.yaml [moved from kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/pvc.yaml with 99% similarity]
kubernetes/vfc/charts/vfc-catalog/values.yaml
kubernetes/vfc/charts/vfc-db/Chart.yaml
kubernetes/vfc/charts/vfc-ems-driver/Chart.yaml
kubernetes/vfc/charts/vfc-generic-vnfm-driver/Chart.yaml
kubernetes/vfc/charts/vfc-huawei-vnfm-driver/Chart.yaml
kubernetes/vfc/charts/vfc-juju-vnfm-driver/Chart.yaml
kubernetes/vfc/charts/vfc-multivim-proxy/Chart.yaml
kubernetes/vfc/charts/vfc-nokia-v2vnfm-driver/Chart.yaml
kubernetes/vfc/charts/vfc-nokia-vnfm-driver/Chart.yaml
kubernetes/vfc/charts/vfc-nslcm/Chart.yaml
kubernetes/vfc/charts/vfc-resmgr/Chart.yaml
kubernetes/vfc/charts/vfc-vnflcm/Chart.yaml
kubernetes/vfc/charts/vfc-vnfmgr/Chart.yaml
kubernetes/vfc/charts/vfc-vnfres/Chart.yaml
kubernetes/vfc/charts/vfc-workflow-engine/Chart.yaml
kubernetes/vfc/charts/vfc-workflow/Chart.yaml
kubernetes/vfc/charts/vfc-zte-sdnc-driver/Chart.yaml
kubernetes/vfc/charts/vfc-zte-vnfm-driver/Chart.yaml
kubernetes/vfc/requirements.yaml
kubernetes/vfc/values.yaml
kubernetes/vid/Chart.yaml
kubernetes/vid/charts/vid-mariadb-galera/Chart.yaml
kubernetes/vid/charts/vid-mariadb-galera/templates/configmap.yaml
kubernetes/vid/requirements.yaml
kubernetes/vid/templates/configmap.yaml
kubernetes/vid/templates/job.yaml
kubernetes/vid/values.yaml
kubernetes/vnfsdk/Chart.yaml
kubernetes/vnfsdk/requirements.yaml
kubernetes/vnfsdk/templates/deployment.yaml
kubernetes/vnfsdk/templates/job.yaml
kubernetes/vvp/charts/vvp-ci-uwsgi/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-ci-uwsgi/resources/config/ci/__init__.py [deleted file]
kubernetes/vvp/charts/vvp-ci-uwsgi/resources/config/ci/gunicorn.ini [deleted file]
kubernetes/vvp/charts/vvp-ci-uwsgi/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-ci-uwsgi/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-ci-uwsgi/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/__init__.py [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/gunicorn.ini [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/storage.py [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/templates/configmap.yaml [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-cms-uwsgi/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/__init__.py [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/envbool.py [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/gunicorn.ini [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/storage.py [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-em-uwsgi/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-ext-haproxy/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-ext-haproxy/resources/config/ext-haproxy-cfg/file [deleted file]
kubernetes/vvp/charts/vvp-ext-haproxy/templates/configmap.yaml [deleted file]
kubernetes/vvp/charts/vvp-ext-haproxy/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-ext-haproxy/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-ext-haproxy/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-gitlab/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-gitlab/templates/configmap.yaml [deleted file]
kubernetes/vvp/charts/vvp-gitlab/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-gitlab/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-gitlab/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-imagescanner/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-imagescanner/resources/config/imagescanner/imagescannerconfig.py [deleted file]
kubernetes/vvp/charts/vvp-imagescanner/templates/configmap.yaml [deleted file]
kubernetes/vvp/charts/vvp-imagescanner/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-imagescanner/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-imagescanner/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-int-haproxy/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-int-haproxy/resources/config/int-haproxy-cfg/file [deleted file]
kubernetes/vvp/charts/vvp-int-haproxy/templates/configmap.yaml [deleted file]
kubernetes/vvp/charts/vvp-int-haproxy/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-int-haproxy/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-int-haproxy/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-jenkins/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-jenkins/templates/configmap.yaml [deleted file]
kubernetes/vvp/charts/vvp-jenkins/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-jenkins/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-jenkins/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-postgres/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/conf/postgresql.conf [deleted file]
kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/init/cms_db.sh [deleted file]
kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/init/link_postgresql.sh [deleted file]
kubernetes/vvp/charts/vvp-postgres/templates/configmap.yaml [deleted file]
kubernetes/vvp/charts/vvp-postgres/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-postgres/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-postgres/values.yaml [deleted file]
kubernetes/vvp/charts/vvp-redis/Chart.yaml [deleted file]
kubernetes/vvp/charts/vvp-redis/templates/deployment.yaml [deleted file]
kubernetes/vvp/charts/vvp-redis/templates/service.yaml [deleted file]
kubernetes/vvp/charts/vvp-redis/values.yaml [deleted file]
kubernetes/vvp/requirements.yaml [deleted file]
kubernetes/vvp/resources/config/vvp/file [deleted file]
kubernetes/vvp/resources/config/vvp/service_provider.json [deleted file]
kubernetes/vvp/templates/configmap.yaml [deleted file]
kubernetes/vvp/templates/deployment.yaml [deleted file]
kubernetes/vvp/values.yaml [deleted file]

index a7fb5bf..92ead3a 100644 (file)
@@ -12,6 +12,7 @@ requirements.lock
 .classpath
 .factorypath
 .project
+.pydevproject
 .settings/
 
 # IntelliJ
index 70e2a72..a2ccc1b 100644 (file)
@@ -127,8 +127,9 @@ deployment by using the `-f` Helm option as follows::
   > helm install local/onap -name development -f dev.yaml
 
 Note that there are one or more example deployment files in the
-`onap/resources/environments/` directory. It is best practice to create a unique
-deployment file for each environment used to ensure consistent behaviour.
+`onap/resources/environments/` directory. It is best practice to create a
+unique deployment file for each environment used to ensure consistent
+behaviour.
 
 To aid in the long term supportability of ONAP, a set of common charts have
 been created (and will be expanded in subsequent releases of ONAP) that can be
@@ -185,11 +186,11 @@ used by any of the ONAP components by including the common component in its
 
 The common section of charts consists of a set of templates that assist with
 parameter substitution (`_name.tpl` and `_namespace.tpl`) and a set of charts
-for components used throughout ONAP. Initially `mysql` is in the common area but
-this will expand to include other databases like `mariadb-galera`, `postgres`,
-and `cassandra`. Other candidates for common components include `redis` and
-`kafka`.  When the common components are used by other charts they are
-instantiated each time. In subsequent ONAP releases some of the common
+for components used throughout ONAP. Initially `mysql` is in the common area
+but this will expand to include other databases like `mariadb-galera`,
+`postgres`, and `cassandra`. Other candidates for common components include
+`redis` and`kafka`.  When the common components are used by other charts they
+are instantiated each time. In subsequent ONAP releases some of the common
 components could be a setup as services that are used by multiple ONAP
 components thus minimizing the deployment and operational costs.
 
@@ -239,8 +240,8 @@ configuration files stored in the `config` directory.  It is the responsibility
 of each ONAP component team to update these configuration files when changes
 are made to the project containers that impact configuration.
 
-The following section describes how the hierarchical ONAP configuration system is
-key to management of such a large system.  
+The following section describes how the hierarchical ONAP configuration system
+is key to management of such a large system.
 
 Configuration Management
 ========================
@@ -461,7 +462,8 @@ describe the configuration and desired state of the ONAP components.
 
 Name Spaces
 -----------
-Within the namespaces are Kubernetes services that provide external connectivity to pods that host Docker containers.
+Within the namespaces are Kubernetes services that provide external
+connectivity to pods that host Docker containers.
 
 ONAP Components to Kubernetes Object Relationships
 --------------------------------------------------
@@ -639,7 +641,8 @@ OOM Networking with Kubernetes
 ------------------------------
 
 - DNS
-- Ports - Flattening the containers also expose port conflicts between the containers which need to be resolved.
+- Ports - Flattening the containers also expose port conflicts between the
+  containers which need to be resolved.
 
 Node Ports
 ~~~~~~~~~~
@@ -937,14 +940,15 @@ More details can be found here `MSB installation <http://onap.readthedocs.io/en/
 .. MISC
 .. ====
 .. Note that although OOM uses Kubernetes facilities to minimize the effort
-.. required of the ONAP component owners to implement a successful rolling upgrade
-.. strategy there are other considerations that must be taken into consideration.
+.. required of the ONAP component owners to implement a successful rolling
+.. upgrade strategy there are other considerations that must be taken into
+.. consideration.
 .. For example, external APIs - both internal and external to ONAP - should be
-.. designed to gracefully accept transactions from a peer at a different software
-.. version to avoid deadlock situations. Embedded version codes in messages may
-.. facilitate such capabilities.
+.. designed to gracefully accept transactions from a peer at a different
+.. software version to avoid deadlock situations. Embedded version codes in
+.. messages may facilitate such capabilities.
 ..
-.. Within each of the projects a new configuration repository contains all of the
-.. project specific configuration artifacts.  As changes are made within the
-.. project, it's the responsibility of the project team to make appropriate
+.. Within each of the projects a new configuration repository contains all of
+.. the project specific configuration artifacts.  As changes are made within
+.. the project, it's the responsibility of the project team to make appropriate
 .. changes to the configuration data.
index 0029d5f..a965603 100644 (file)
@@ -20,7 +20,8 @@ available), follow the following instructions to deploy ONAP.
   > cd oom/kubernetes
 
 **Step 2.** Install Helm Plugins required to deploy the ONAP Casablanca release::
-  sudo cp -R ~/oom/kubernetes/helm/plugins/ ~/.helm
+
+  > sudo cp -R ~/oom/kubernetes/helm/plugins/ ~/.helm
 
 **Step 3.** Customize the onap/values.yaml file to suit your deployment. You
 may want to selectively enable or disable ONAP components by changing the
@@ -74,6 +75,7 @@ Use the following to monitor your deployment and determine when ONAP is ready fo
   > kubectl get pods --all-namespaces -o=wide
 
 Undeploying onap can be done using the following command::
+
   > helm undeploy dev --purge
 
 
index fddccf8..5159377 100644 (file)
@@ -72,7 +72,8 @@ new one to assign.
 Apply customization script for the Rancher VM
 ---------------------------------------------
 
-Click :download:`openstack-rancher.sh <openstack-rancher.sh>` to download the script.
+Click :download:`openstack-rancher.sh <openstack-rancher.sh>` to download the
+script.
 
 .. literalinclude:: openstack-rancher.sh
    :language: bash
@@ -134,8 +135,9 @@ The size of a Kubernetes host depends on the size of the ONAP deployment that
 will be installed.
 
 As of the Casablanca release a minimum 224GB will be needed to run a
-full ONAP deployment (all components). It is recommended that more hosts are used
-with fewer resources instead of only a few large hosts. For example 14 x 16GB hosts.
+full ONAP deployment (all components). It is recommended that more hosts are
+used with fewer resources instead of only a few large hosts. For example 14 x
+16GB hosts.
 
 If a small subset of ONAP components are being deployed for testing purposes,
 then a single 16GB or 32GB host should suffice.
@@ -216,7 +218,8 @@ node plays the role of NFS Master (indicated by the crown symbol). To properly
 set up an NFS share on Master and Slave nodes, the user can run the scripts
 below.
 
-Click :download:`master_nfs_node.sh <master_nfs_node.sh>` to download the script.
+Click :download:`master_nfs_node.sh <master_nfs_node.sh>` to download the
+script.
 
 .. literalinclude:: master_nfs_node.sh
    :language: bash
@@ -264,7 +267,8 @@ Add Kubernetes Environment to Rancher
 
 .. image:: Click_create.jpeg
 
-6. Select the new named environment (ie. SB4) from the dropdown list (top left).
+6. Select the new named environment (ie. SB4) from the dropdown list (top
+   left).
 
 Rancher is now waiting for a Kubernetes Host to be added.
 
@@ -273,7 +277,8 @@ Rancher is now waiting for a Kubernetes Host to be added.
 Add Kubernetes Host
 -------------------
 
-1.  If this is the first (or only) host being added - click on the "Add a host" link
+1.  If this is the first (or only) host being added - click on the "Add a host"
+    link
 
 .. image:: K8s-Assign_Floating_IP_for_external_access.jpeg
 
@@ -285,7 +290,8 @@ otherwise select INFRASTRUCTURE→ Hosts and click on "Add Host"
 
 .. image:: otherwise_select_INFRASTRUCTURE_Hosts_and_click_on_Add_Host.jpg
 
-2. Enter the management IP for the k8s VM (e.g. 10.0.0.4) that was just created.
+2. Enter the management IP for the k8s VM (e.g. 10.0.0.4) that was just
+   created.
 
 3. Click on “Copy to Clipboard” button
 
@@ -415,10 +421,6 @@ procedure would remain the same.
     - name: "SB4"
       user:
         token: "QmFzaWMgTlRBd01qZzBOemc)TkRrMk1UWkNOMFpDTlVFNlExcHdSa1JhVZreE5XSm1TRGhWU2t0Vk1sQjVhalZaY0dWaFVtZGFVMHQzWW1WWVJtVmpSQT09"
-    ~
-    ~
-    ~
-    - INSERT --
 
 5. Validate that kubectl is able to connect to the kubernetes cluster::
 
@@ -473,5 +475,3 @@ documentation to get started:
 
 - :ref:`quick-start-label` - deploy ONAP on an existing cloud
 - :ref:`user-guide-label` - a guide for operators of an ONAP instance
-
-
index ea658f0..f19924d 100644 (file)
@@ -52,18 +52,22 @@ ONAP with a few simple commands.
 
 Pre-requisites
 --------------
-Your environment must have both the Kubernetes `kubectl` and Helm setup as a one time activity.
+Your environment must have both the Kubernetes `kubectl` and Helm setup as a
+one time activity.
 
 Install Kubectl
 ~~~~~~~~~~~~~~~
-Enter the following to install kubectl (on Ubuntu, there are slight differences on other O/Ss), the Kubernetes command line interface used to manage a Kubernetes cluster::
+Enter the following to install kubectl (on Ubuntu, there are slight differences
+on other O/Ss), the Kubernetes command line interface used to manage a
+Kubernetes cluster::
 
   > curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.8.10/bin/linux/amd64/kubectl
   > chmod +x ./kubectl
   > sudo mv ./kubectl /usr/local/bin/kubectl
   > mkdir ~/.kube
 
-Paste kubectl config from Rancher (see the :ref:`cloud-setup-guide-label` for alternative Kubernetes environment setups) into the `~/.kube/config` file.
+Paste kubectl config from Rancher (see the :ref:`cloud-setup-guide-label` for
+alternative Kubernetes environment setups) into the `~/.kube/config` file.
 
 Verify that the Kubernetes config is correct::
 
@@ -73,7 +77,8 @@ At this point you should see six Kubernetes pods running.
 
 Install Helm
 ~~~~~~~~~~~~
-Helm is used by OOM for package and configuration management. To install Helm, enter the following::
+Helm is used by OOM for package and configuration management. To install Helm,
+enter the following::
 
   > wget http://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
   > tar -zxvf helm-v2.9.1-linux-amd64.tar.gz
@@ -89,7 +94,8 @@ Install the Helm Tiller application and initialize with::
 
 Install the Helm Repo
 ---------------------
-Once kubectl and Helm are setup, one needs to setup a local Helm server to server up the ONAP charts::
+Once kubectl and Helm are setup, one needs to setup a local Helm server to
+server up the ONAP charts::
 
   > helm install osn/onap
 
@@ -117,7 +123,8 @@ To setup a local Helm server to server up the ONAP charts::
   > helm init
   > helm serve &
 
-Note the port number that is listed and use it in the Helm repo add as follows::
+Note the port number that is listed and use it in the Helm repo add as
+follows::
 
   > helm repo add local http://127.0.0.1:8879
 
@@ -145,15 +152,20 @@ system, and looks for matches::
 
 In any case, setup of the Helm repository is a one time activity.
 
-Once the repo is setup, installation of ONAP can be done with a single command::
+Next, install Helm Plugins required to deploy the ONAP Casablanca release::
 
-  > helm install local/onap --name development
+  > cp -R helm/plugins/ ~/.helm
+
+Once the repo is setup, installation of ONAP can be done with a single
+command::
+
+  > helm deploy development local/onap --namespace onap
 
 This will install ONAP from a local repository in a 'development' Helm release.
 As described below, to override the default configuration values provided by
 OOM, an environment file can be provided on the command line as follows::
 
-  > helm install local/onap --name development -f onap-development.yaml
+  > helm deploy development local/onap --namespace onap -f overrides.yaml
 
 To get a summary of the status of all of the pods (containers) running in your
 deployment::
@@ -174,9 +186,9 @@ deployment::
 
 
 To install a specific version of a single ONAP component (`so` in this example)
-with the given name enter::
+with the given release name enter::
 
-  > helm install onap/so --version 2.0.1 -n so
+  > helm deploy so onap/so --version 3.0.1
 
 To display details of a specific resource or group of resources type::
 
@@ -357,8 +369,8 @@ blocks access to the ONAP Portal. To enable direct access to this Portal from a
 user's own environment (a laptop etc.) the portal application's port 8989 is
 exposed through a `Kubernetes LoadBalancer`_ object.
 
-Typically, to be able to access the Kubernetes nodes publicly a public address is
-assigned.  In Openstack this is a floating IP address.
+Typically, to be able to access the Kubernetes nodes publicly a public address
+is assigned. In Openstack this is a floating IP address.
 
 When the `portal-app` chart is deployed a Kubernetes service is created that
 instantiates a load balancer.  The LB chooses the private interface of one of
@@ -404,10 +416,10 @@ https://portal.api.simpledemo.onap.org:30225/ONAPPORTAL/login.htm
   of the page
 
 .. note::
-  Besides the ONAP Portal the Components can deliver additional user interfaces, 
+  Besides the ONAP Portal the Components can deliver additional user interfaces,
   please check the Component specific documentation.
 
-.. note::     
+.. note::
 
    | Alternatives Considered:
 
@@ -447,7 +459,8 @@ to monitor the real-time health of an ONAP deployment:
 - a set of liveness probes which feed into the Kubernetes manager which
   are described in the Heal section.
 
-Within ONAP, Consul is the monitoring system of choice and deployed by OOM in two parts:
+Within ONAP, Consul is the monitoring system of choice and deployed by OOM in
+two parts:
 
 - a three-way, centralized Consul server cluster is deployed as a highly
   available monitor of all of the ONAP components, and
@@ -689,7 +702,8 @@ example::
 
   > helm undeploy casablanca --dry-run
 
-will display the outcome of deleting the 'casablanca' release from the deployment.
+will display the outcome of deleting the 'casablanca' release from the
+deployment.
 To completely delete a release and remove it from the internal store enter::
 
   > helm undeploy casablanca --purge
@@ -702,4 +716,4 @@ deployment enter::
 
 will remove `so` as the configuration indicates it's no longer part of the
 deployment. This might be useful if a one wanted to replace just `so` by
-installing a custom version.  
+installing a custom version.
index b8462aa..308f220 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 DOCKER_VERSION=17.03
-KUBECTL_VERSION=1.11.2
+KUBECTL_VERSION=1.11.5
 HELM_VERSION=2.9.1
 
 # setup root access - default login: oom/oom - comment out to restrict access too ssh key only
index bcf542a..ac91ff5 100644 (file)
@@ -2,7 +2,7 @@
 
 DOCKER_VERSION=17.03
 RANCHER_VERSION=1.6.22
-KUBECTL_VERSION=1.11.2
+KUBECTL_VERSION=1.11.5
 HELM_VERSION=2.9.1
 
 # setup root access - default login: oom/oom - comment out to restrict access too ssh key only
index 3e8a1be..82e4fb1 100644 (file)
@@ -1,6 +1,8 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
 .. http://creativecommons.org/licenses/by/4.0
-.. Copyright 2017 Bell Canada & Amdocs Intellectual Property.  All rights reserved.
+.. Copyright 2017 Bell Canada & Amdocs Intellectual Property.  All rights
+.. reserved.
 
 .. Links
 .. _release-notes-label:
@@ -16,39 +18,57 @@ Version 3.0.0 Casablanca Release
 Summary
 =======
 
-The focus of this release was on incremental improvements in the following areas:
-* Pluggable persistent storage with support for GlusterFS as the first storage class provisioner
-* CPU and Memory limits in Helm Charts to improve Pod placement based on resource availablity in Kubernetes Cluster
+The focus of this release was on incremental improvements in the following
+areas:
+
+* Pluggable persistent storage with support for GlusterFS as the first storage
+  class provisioner
+
+* CPU and Memory limits in Helm Charts to improve Pod placement based on
+  resource availablity in Kubernetes Cluster
+
 * Support of Node Selectors for Pod placement
+
 * Common "shared" Helm Charts referencing common images
+
   - mariadb-galera
   - postgres
   - cassandra
   - mysql
   - mongo
+
 * Integration of ARK Backup and Restore solution
-* Introduction of Helm deploy and undeploy plugins to better manage ONAP deployments
+
+* Introduction of Helm deploy and undeploy plugins to better manage ONAP
+  deployments
 
 
 **Security Notes**
 
-OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found.
+OOM code has been formally scanned during build time using NexusIQ and no
+Critical vulnerability was found.
 
 Quick Links:
-       - `OOM project page <https://wiki.onap.org/display/DW/ONAP+Operations+Manager+Project>`_
 
-       - `Passing Badge information for OOM <https://bestpractices.coreinfrastructure.org/en/projects/1631>`_
+  - `OOM project page <https://wiki.onap.org/display/DW/ONAP+Operations+Manager+Project>`_
+
+  - `Passing Badge information for OOM <https://bestpractices.coreinfrastructure.org/en/projects/1631>`_
 
 
 **Known Issues**
 
-Problem:        kubectl connections to pods (kubectl exec|logs) will fail after a while due to a known bug in Kubernetes (1.11.2)
-Workaround:     Restart of the kubelet daemons on the k8s hosts
-Fix:            Will be delivered in the next release via a new Kubernetes version (1.12)
-- `K8S Bug Report <https://github.com/kubernetes/kubernetes/issues/67659>`_
-- `OOM-1532 <https://jira.onap.org/browse/OOM-1532>`_
-- `OOM-1516 <https://jira.onap.org/browse/OOM-1516>`_
-- `OOM-1520 <https://jira.onap.org/browse/OOM-1520>`_
+ * **Problem**:        kubectl connections to pods (kubectl exec|logs) will
+   fail after a while due to a known bug in Kubernetes (1.11.2)
+
+   **Workaround**:     Restart of the kubelet daemons on the k8s hosts
+
+   **Fix**:            Will be delivered in the next release via a new
+   Kubernetes version (1.12)
+
+   - `K8S Bug Report <https://github.com/kubernetes/kubernetes/issues/67659>`_
+   - `OOM-1532 <https://jira.onap.org/browse/OOM-1532>`_
+   - `OOM-1516 <https://jira.onap.org/browse/OOM-1516>`_
+   - `OOM-1520 <https://jira.onap.org/browse/OOM-1520>`_
 
 
 Version 2.0.0 Beijing Release
@@ -450,12 +470,13 @@ Sub-task
 
 **Security Notes**
 
-OOM code has been formally scanned during build time using NexusIQ and no Critical vulnerability was found.
+OOM code has been formally scanned during build time using NexusIQ and no
+Critical vulnerability was found.
 
 Quick Links:
-       - `OOM project page <https://wiki.onap.org/display/DW/ONAP+Operations+Manager+Project>`_
+  - `OOM project page <https://wiki.onap.org/display/DW/ONAP+Operations+Manager+Project>`_
 
-       - `Passing Badge information for OOM <https://bestpractices.coreinfrastructure.org/en/projects/1631>`_
+  - `Passing Badge information for OOM <https://bestpractices.coreinfrastructure.org/en/projects/1631>`_
 
 Version: 1.1.0
 --------------
@@ -464,34 +485,43 @@ Version: 1.1.0
 
 **New Features**
 
-The Amsterdam release is the first release of the ONAP Operations Manager (OOM).
+The Amsterdam release is the first release of the ONAP Operations Manager
+(OOM).
 
 The main goal of the Amsterdam release was to:
 
-    - Support Flexible Platform Deployment via Kubernetes of fully containerized ONAP components - on any type of environment.
+    - Support Flexible Platform Deployment via Kubernetes of fully
+      containerized ONAP components - on any type of environment.
     - Support State Management of ONAP platform components.
-    - Support full production ONAP deployment and any variation of component level deployment for development.
+    - Support full production ONAP deployment and any variation of component
+      level deployment for development.
     - Platform Operations Orchestration / Control Loop Actions.
     - Platform centralized logging with ELK stack.
 
 **Bug Fixes**
 
-    The full list of implemented user stories and epics is available on `JIRA <https://jira.onap.org/secure/RapidBoard.jspa?rapidView=41&view=planning.nodetail&epics=visible>`_
-    This is the first release of OOM, the defects fixed in this release were raised during the course of the release.
-    Anything not closed is captured below under Known Issues. If you want to review the defects fixed in the Amsterdam release, refer to Jira link above.
+    The full list of implemented user stories and epics is available on
+    `JIRA <https://jira.onap.org/secure/RapidBoard.jspa?rapidView=41&view=planning.nodetail&epics=visible>`_
+    This is the first release of OOM, the defects fixed in this release were
+    raised during the course of the release.
+    Anything not closed is captured below under Known Issues. If you want to
+    review the defects fixed in the Amsterdam release, refer to Jira link
+    above.
 
 **Known Issues**
     - `OOM-6 <https://jira.onap.org/browse/OOM-6>`_ Automated platform deployment on Docker/Kubernetes
 
         VFC, AAF, MSB minor issues.
 
-        Workaround: Manual configuration changes - however the reference vFirewall use case does not currently require these components.
+        Workaround: Manual configuration changes - however the reference
+        vFirewall use case does not currently require these components.
 
     - `OOM-10 <https://jira.onap.org/browse/OOM-10>`_ Platform configuration management.
 
         OOM ONAP Configuration Management - Handling of Secrets.
 
-        Workaround: Automated workaround to be able to pull from protected docker repositories.
+        Workaround: Automated workaround to be able to pull from protected
+        docker repositories.
 
 
 **Security Issues**
index d1e69ec..c493ac9 100644 (file)
@@ -1,8 +1,8 @@
 
  ============LICENSE_START==========================================
  ===================================================================
- Copyright © 2017 Amdocs
- Copyright © 2017 Bell Canada
+ Copyright © 2017-2019 Amdocs
+ Copyright © 2017-2019 Bell Canada
  All rights reserved.
  ===================================================================
  Licensed under the Apache License, Version 2.0 (the "License");
index 6de2f28..b7bfb7f 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Application Authorization Framework
 name: aaf
-version: 3.0.0
+version: 4.0.0
index 68c5ca2..3ece45d 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP AAF Certificate Manager
 name: aaf-cm
-version: 3.0.0
+version: 4.0.0
index e3197f2..ff083ac 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAF cassandra
 name: aaf-cs
-version: 3.0.0
+version: 4.0.0
index eada78b..5c94aa8 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAF File Server
 name: aaf-fs
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 26d4a91..3313c66 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAF GUI
 name: aaf-gui
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 734cf14..89f061b 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAF Hello
 name: aaf-hello
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 0f4bfd9..10c2b3e 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAF Locate
 name: aaf-locate
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index a587881..4ce29df 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAF OAuth
 name: aaf-oauth
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 42a3394..80b2b8f 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAF Service
 name: aaf-service
-version: 3.0.0
+version: 4.0.0
index ad633c5..9402b00 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Secret Management Service
 name: aaf-sms
-version: 3.0.0
+version: 4.0.0
index d8f957e..88079d2 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Secret Management Service Quorum Client
 name: aaf-sms-quorumclient
-version: 3.0.0
+version: 4.0.0
index 0a83e85..16f8092 100644 (file)
@@ -34,7 +34,7 @@ spec:
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         name: {{ include "common.name" . }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["/quorumclient/bin/quorumclient"]
         workingDir: /quorumclient/
         volumeMounts:
index 44a5a6b..2c8a7a6 100644 (file)
@@ -16,4 +16,4 @@ apiVersion: v1
 description: Chart to launch Vault as SMS backend
 name: aaf-sms-vault
 appVersion: 0.9.5
-version: 3.0.0
+version: 4.0.0
index ed24f67..ca35fdc 100644 (file)
@@ -49,7 +49,7 @@ spec:
               fieldPath: metadata.namespace
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}
         command: ["/sms/bin/sms"]
         workingDir: /sms/
index 2cee8d5..a5446ab 100644 (file)
@@ -51,7 +51,7 @@ spec:
               fieldPath: metadata.namespace
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-preload
         command:
           - "/sms/bin/preload"
index 78b10c5..6ad7e7f 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Hardware Security Components
 name: aaf-sshsm
-version: 3.0.0
+version: 4.0.0
index 9e8b16a..ce74887 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Trusted Platform Module Resource Manager
 name: aaf-sshsm-abrmd
-version: 3.0.0
+version: 4.0.0
index 8b2e0b8..5618dd5 100644 (file)
@@ -38,7 +38,7 @@ spec:
       containers:
       - name: {{ include "common.name" . }}-job
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["/abrmd/bin/initialize_tpm.sh"]
         workingDir: /abrmd/bin
         securityContext:
index a3a2004..4a1dd5c 100644 (file)
@@ -53,7 +53,7 @@ spec:
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         name: {{ include "common.name" . }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["/abrmd/bin/run_abrmd.sh"]
         workingDir: /abrmd/bin
         securityContext:
index 3bb8846..14ddd7b 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Trusted Platform Module Distribution Center
 name: aaf-sshsm-distcenter
-version: 3.0.0
+version: 4.0.0
index 69a9956..3db88b6 100644 (file)
@@ -73,7 +73,7 @@ spec:
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         name: {{ include "common.name" . }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["/entrypoint.sh"]
         workingDir: /distcenter
         volumeMounts:
@@ -102,4 +102,4 @@ spec:
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
 
-{{- end -}}
\ No newline at end of file
+{{- end -}}
index 3855b04..6260cdd 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Trusted Platform Module Test CA Service
 name: aaf-sshsm-testca
-version: 3.0.0
+version: 4.0.0
index 304f974..fc993df 100644 (file)
@@ -70,7 +70,7 @@ spec:
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         name: {{ include "common.name" . }}
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["./import.sh"]
         workingDir: /testca/bin
         env:
index 3192c43..7c18fbc 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 48cc33b..c4ad263 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Active and Available Inventory
 name: aai
-version: 3.0.0
+version: 4.0.0
index d0311c1..fe1a4ce 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Babel microservice
 name: aai-babel
-version: 3.0.0
+version: 4.0.0
index 6566196..78e822e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties b/kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties
deleted file mode 100644 (file)
index fcf139f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-AAI.instance-group-types=org.openecomp.groups.NetworkCollection,org.openecomp.groups.VfcInstanceGroup
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/tosca-mappings.json b/kubernetes/aai/charts/aai-babel/resources/config/tosca-mappings.json
new file mode 100644 (file)
index 0000000..c67b3e2
--- /dev/null
@@ -0,0 +1,145 @@
+{
+       "instanceGroupTypes": [
+               "org.openecomp.groups.NetworkCollection",
+               "org.openecomp.groups.VfcInstanceGroup",
+               "org.openecomp.groups.ResourceInstanceGroup"
+       ],
+       "widgetTypes": [
+               {
+                       "type": "SERVICE",
+                       "name": "service-instance",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "VF",
+                       "name": "generic-vnf",
+                       "deleteFlag": false
+               },
+               {
+                       "type": "VFC",
+                       "name": "vnfc",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "VSERVER",
+                       "name": "vserver",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "VOLUME",
+                       "name": "volume",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "FLAVOR",
+                       "name": "flavor",
+                       "deleteFlag": false
+               },
+               {
+                       "type": "TENANT",
+                       "name": "tenant",
+                       "deleteFlag": false
+               },
+               {
+                       "type": "VOLUME_GROUP",
+                       "name": "volume-group",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "LINT",
+                       "name": "l-interface",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "L3_NET",
+                       "name": "l3-network",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "VFMODULE",
+                       "name": "vf-module",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "IMAGE",
+                       "name": "image",
+                       "deleteFlag": false
+               },
+               {
+                       "type": "OAM_NETWORK",
+                       "name": "oam-network",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "ALLOTTED_RESOURCE",
+                       "name": "allotted-resource",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "TUNNEL_XCONNECT",
+                       "name": "tunnel-xconnect",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "CONFIGURATION",
+                       "name": "configuration",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "CR",
+                       "name": "cr",
+                       "deleteFlag": true
+               },
+               {
+                       "type": "INSTANCE_GROUP",
+                       "name": "instance-group",
+                       "deleteFlag": true
+               }
+       ],
+       "widgetMappings": [
+               {
+                       "prefix": "org.openecomp.resource.vfc",
+                       "type": "widget",
+                       "widget": "VSERVER",
+                       "deleteFlag": true
+               },
+               {
+                       "prefix": "org.openecomp.resource.cp",
+                       "type": "widget",
+                       "widget": "LINT",
+                       "deleteFlag": true
+               },
+               {
+                       "prefix": "org.openecomp.cp",
+                       "type": "widget",
+                       "widget": "LINT",
+                       "deleteFlag": true
+               },
+               {
+                       "prefix": "org.openecomp.resource.vl",
+                       "widget": "L3_NET",
+                       "deleteFlag": false
+               },
+               {
+                       "prefix": "org.openecomp.resource.vf",
+                       "widget": "VF",
+                       "deleteFlag": true
+               },
+               {
+                       "prefix": "org.openecomp.groups.vfmodule",
+                       "widget": "VFMODULE",
+                       "deleteFlag": true
+               },
+               {
+                       "prefix": "org.openecomp.groups.VfModule",
+                       "widget": "VFMODULE",
+                       "deleteFlag": true
+               },
+               {
+                       "prefix": "org.openecomp.resource.vfc.nodes.heat.cinder",
+                       "type": "widget",
+                       "widget": "VOLUME",
+                       "deleteFlag": true
+               }
+       ]
+}
index 3a35b76..0637cfb 100644 (file)
@@ -40,9 +40,6 @@
     </root>
 
     <!-- LOG "com.baeldung*" at TRACE level -->
-    <logger name="org.onap.aaf.fproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <logger name="org.onap.aaf.fproxy" level="info" />
 
 </configuration>
\ No newline at end of file
index 289fe75..2cd95d4 100644 (file)
     </appender>
 
     <!-- LOG everything at INFO level -->
-    <root level="debug">
+    <root level="info">
         <appender-ref ref="RollingFile" />
         <appender-ref ref="Console" />
     </root>
 
     <!-- LOG "com.baeldung*" at TRACE level  -->
-    <logger name="org.onap.aaf.rproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <logger name="org.onap.aaf.rproxy" level="info" />
 
 </configuration>
index 5ac0792..ee15967 100644 (file)
@@ -84,9 +84,9 @@ spec:
           - mountPath: /opt/app/babel/config/artifact-generator.properties
             name: {{ include "common.fullname" . }}-config
             subPath: artifact-generator.properties
-          - mountPath: /opt/app/babel/config/filter-types.properties
+          - mountPath: /opt/app/babel/config/tosca-mappings.json
             name: {{ include "common.fullname" . }}-config
-            subPath: filter-types.properties
+            subPath: tosca-mappings.json
           - mountPath: /opt/app/babel/config/babel-auth.properties
             name: {{ include "common.fullname" . }}-config
             subPath: babel-auth.properties
@@ -98,15 +98,15 @@ spec:
             name: {{ include "common.fullname" . }}-config
             subPath: logback.xml
           resources:
-{{ include "common.resources" . | indent 12 }}
-        {{- if .Values.nodeSelector }}
-        nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-        {{- end -}}
-        {{- if .Values.affinity }}
-        affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-        {{- end }}
+{{ include "common.resources" . }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
 
         # side car containers
         - name: filebeat-onap
@@ -204,8 +204,8 @@ spec:
             items:
             - key: artifact-generator.properties
               path: artifact-generator.properties
-            - key: filter-types.properties
-              path: filter-types.properties
+            - key: tosca-mappings.json
+              path: tosca-mappings.json
             - key: babel-auth.properties
               path: babel-auth.properties
             - key: logback.xml
index 78a849b..7c3b04a 100644 (file)
@@ -18,6 +18,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-babel-secrets
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
@@ -44,6 +49,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-fproxy-auth-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/fproxy/config/auth/*").AsSecrets . | indent 2 }}
@@ -53,6 +63,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-rproxy-auth-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/rproxy/config/auth/*").AsSecrets . | indent 2 }}
@@ -62,6 +77,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-rproxy-security-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/rproxy/config/security/*").AsSecrets . | indent 2 }}
index 8c192e5..8e5aa2d 100644 (file)
@@ -25,7 +25,7 @@ global:
 #################################################################
 
 # application image
-image: onap/babel:1.3.2
+image: onap/babel:1.4-STAGING-latest
 
 flavor: small
 
index 1de4ecf..3987a11 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP AAI Cassandra
 name: aai-cassandra
-version: 3.0.0
+version: 4.0.0
index 4a8ae39..a576eba 100644 (file)
@@ -127,5 +127,6 @@ spec:
             storage: {{ .Values.persistence.size | quote }}
         selector:
           matchLabels:
+            app: {{ include "common.name" . }}
             release: "{{ .Release.Name }}"
   {{- end }}
index 5276f75..a41a49e 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP AAI Champ microservice
 name: aai-champ
-version: 3.0.0
+version: 4.0.0
index 6566196..78e822e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
diff --git a/kubernetes/aai/charts/aai-champ/resources/fproxy/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-champ/resources/fproxy/config/auth/tomcat_keystore
deleted file mode 100644 (file)
index f3ac070..0000000
Binary files a/kubernetes/aai/charts/aai-champ/resources/fproxy/config/auth/tomcat_keystore and /dev/null differ
index 4fae434..0ece55c 100644 (file)
@@ -40,9 +40,6 @@
     </root>
  
     <!-- LOG "com.baeldung*" at TRACE level -->
-    <logger name="org.onap.aaf.fproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <logger name="org.onap.aaf.fproxy" level="info" />
+       
 </configuration>
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-champ/resources/rproxy/config/auth/client-cert.p12 b/kubernetes/aai/charts/aai-champ/resources/rproxy/config/auth/client-cert.p12
deleted file mode 100644 (file)
index dbf4fca..0000000
Binary files a/kubernetes/aai/charts/aai-champ/resources/rproxy/config/auth/client-cert.p12 and /dev/null differ
index 2865e01..ca34049 100644 (file)
       "permissions": [
         "test\\.auth\\.access\\|services\\|GET,PUT",
         "\\|services\\|GET"
-       ]
+      ]
     },
     {
       "uri": "\/services\/inventory\/.*",
       "permissions": [
-        "org\\.access\\|\\*\\|\\*"
-       ]
+        "org\\.onap\\.aai\\.resources\\|\\*\\|.*"
+      ]
     },
     {
-    "uri": "\/services\/champ-service\/.*",
-    "permissions": [
-      "org\\.access\\|\\*\\|\\*"
-     ]
-  }
+      "uri": "\/services\/champ-service\/.*",
+      "permissions": [
+        "org\\.onap\\.aai\\.resources\\|\\*\\|.*"
+      ]
+    }
  ]
index 33daa73..1878a4d 100644 (file)
@@ -9,13 +9,27 @@
 #hostname=test.aic.cip.att.com
 
 cadi_loglevel=DEBUG
-cadi_keyfile=/opt/app/rproxy/config/security/keyfile
 
+# OAuth2
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
+
+cadi_latitude=37.78187
+cadi_longitude=-122.26147
+
+# Locate URL (which AAF Env)
+aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095
+
+# AAF URL
+aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0
+
+cadi_keyfile=/opt/app/rproxy/config/security/keyfile
+cadi_keystore=/opt/app/rproxy/config/auth/org.onap.aai.p12
+cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5INQjrea7GTV
+cadi_alias=aai@aai.onap.org
 cadi_truststore=/opt/app/rproxy/config/auth/tomcat_keystore
 cadi_truststore_password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 
-# Configure AAF
-aaf_url=https://{{.Values.global.aaf.serverHostname}}:{{.Values.global.aaf.serverPort}}
 aaf_env=DEV
 
 aaf_id=demo@people.osaaf.org
index fc04a97..735edb6 100644 (file)
     </appender>
      
     <!-- LOG everything at INFO level -->
-    <root level="debug">
+    <root level="info">
         <appender-ref ref="RollingFile" />
         <appender-ref ref="Console" />
     </root>
  
     <!-- LOG "com.baeldung*" at TRACE level  -->
-    <logger name="org.onap.aaf.rproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <logger name="org.onap.aaf.rproxy" level="info" />
  
 </configuration>
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-champ/resources/rproxy/config/security/keyfile b/kubernetes/aai/charts/aai-champ/resources/rproxy/config/security/keyfile
deleted file mode 100644 (file)
index 6cd12fc..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-bZNOXiGDJ2_eiKBKWYLIFx27URvb-SWfmOl2d-QKetcVKIupOrsG-ScS_VXOtKN3Yxfb2cR6t7oM
-1RNpDnhsKAxDLM6A62IkS_h_Rp3Q9c2JeyomVmyiuHR7a2ARbelaMrX8WDrxXI_t9ce4pIHDVE29
-xiQm3Bdp7d7IiKkgg-ipvOU7Y6NEzeQbvHlHvRTJ3ZZMSwHxBOA5M8DhKN-AF1sqwozEVaNAuJxK
-BVdh72A6KTW7ieb_GvVQQp8h32BuOz8oJhZV7KaGXsWTEvXg9ImboY0h7Sl9hufgn1ZtDK1jxzGm
-6O6LBg1qezzZaFGTXRmHvaeYmEeYSu0bGsU4x-JCU0RyhNTzFhkhjNoccaqPXBdcJymLf096mD99
-QLS8nyji_KtLQJL1fqr500c8p6SOURLPgG6Gzkn4ghgFYlfgve92xs1R3ggHKhNTLV4HJ4O6iSDm
-zCoHeRbsZR1JER9yxT-v8NtcHOMAZe1oDQeY6jVyxb-bhaonN6eZPI4nyF6MHJQtWKhGARC_kOs6
-x9E0ZdAEp5TrX7F7J5PwkXzbCOuSiTVftOBum43iUB4q9He8tn2tJ0X4LtLHT3bPl16wWnZm9RPf
-8wBtTJh4QP_cTStPq1ftSaLIAuqVFpbiC2DxGemXZn3QvykuYqa-rKeYPoIJ5dtWd5rNb_hhcSIz
-FakKTELb0HWYGji98TBF6PaStea2f2m-wGX_uQGD7_Dijl6AgnV9koKVs1bN1XljLtNMPbLdD8sz
-UCvc5lwvCFyyeunljI7os1fgwBmaMyckflq5VfZv9kFxom6jFLbcozylQ_uBg4j7oCP79IXVUI-r
-banZltOSmm8zHGc2R9UlUyxJWBi01yxwi1hUtn9g1H4RtncQpu3BY0Qvu5YLAmS5imivUnGVZWbv
-6wcqnJt5HwaVatE9NHONSLNTViQPsUOutWZBZxhJtAncdZuWOYZSh4TPzUJWvt6zT0E3YMBc_UuG
-yPmdLyqo7qGHR8YWRqq_vq6ISJqENMnVD6X9-BeI6KM4GPEAlDWyhgENXxQFjG45ufg3UpP8LBTB
-xDntlfkphRumsd13-8IlvwVtlpgnbuCMbwP_-lNVeNJcdA1InPt79oY-SEVZ-RVM1881ZASCnFeB
-lh3BTc_bGQ8YoC9s6iHtcCK_1SdbwzBfQBJUqqcYsa8hJLe-j8di7KCaFzI3a-UXWKuuWljpbKbq
-ibd48UFJt_34_GxkD6bmLxycuNH-og2Sd2VcYU0o5UarcrY4-2sgFPE7Mzxovrl98uayfgNF9DqE
-fJ4MwFGqLRtEHlm4zfuMxQ5Rh_giMUHDJApc1DYRkxdGbNUd4bC4aRBln2IhN-rNKbSVtiW_uT6v
-1KTMGmElvktjPWybJd2SvhT5qOLUM81-cmZzAsNa04jxZLBlQn_1fel3IroVos4Ohbdhar2NG6T5
-liten9RZ9P4Cg9RWhgeQonAD5kqLWXAHnCfffb5CVcAU5PHqkCgCbdThvD0-zIGETLO9AE0jKISc
-0o67CUZn3MzJ9pP_3gh-ALr2w-KAwqasqCf0igf1wmEDijv9wEDcgDm39ERIElTpGKgfyuVl4F8u
-PrpK5ZfpUYySUB6CZFQVVz0MvH6E7orQk4dCKFIimV_XwEtGijBttrTvyV6xYNScAEw_olt-0mdm
-8UEKSsuqSyDMxUWLjKJT19rNedahYJNtI87WR9Fhhjsrai9Or3a-srOYa56wcvSj2ZHbkevbO9Xv
-dQ2wzWCGEAMQSpSr83n0XEpR2pZT19Z19Svbhr08mnt2JNykCk60FLCeDTUOylJtYw6YOjqBizQZ
--85B51BCbSEaAKJkgT9-8n_-LGW5aPBrBB_9FT7UIYczNEt3B1Lqr2s4ipPI_36JecEfqaS2cNLn
-c0ObAtNGAONkhO5LYLneMR3fZPMFuOX1-rMObPgE0i9dYqWDZ_30w9rpRsmiWyxYi5lvWDxU5L1J
-uJxwREz3oa_VgpSC3Y2oxCufdQwzBk57iVLDOb1qs_Hwj1SWd1nukWyAo2-g5sR1folAEcao
\ No newline at end of file
index aa9157f..4d4ac99 100644 (file)
@@ -31,12 +31,6 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
-    {{ if .Values.global.installSidecarSecurity }}
-      hostAliases:
-      - ip: {{ .Values.global.aaf.serverIp }}
-        hostnames:
-        - {{ .Values.global.aaf.serverHostname }}
-    {{ end }}
       initContainers:
         - command:
           - /root/ready.py
@@ -114,15 +108,15 @@ spec:
           - mountPath: /var/log/onap
             name: {{ include "common.fullname" . }}-logs
           resources:
-{{ include "common.resources" . | indent 12 }}
-        {{- if .Values.nodeSelector }}
-        nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-        {{- end -}}
-        {{- if .Values.affinity }}
-        affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-        {{- end }}
+{{ include "common.resources" . }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
 
         # side car containers
         - name: filebeat-onap
@@ -163,18 +157,18 @@ spec:
           - name: {{ include "common.fullname" . }}-rproxy-log-config
             mountPath: /opt/app/rproxy/config/logback-spring.xml
             subPath: logback-spring.xml
-          - name: {{ include "common.fullname" . }}-rproxy-auth-config
+          - name: {{ include "common.fullname" . }}-rproxy-auth-certs
             mountPath: /opt/app/rproxy/config/auth/tomcat_keystore
             subPath: tomcat_keystore
-          - name: {{ include "common.fullname" . }}-rproxy-auth-config
+          - name: {{ include "common.fullname" . }}-rproxy-auth-certs
             mountPath: /opt/app/rproxy/config/auth/client-cert.p12
             subPath: client-cert.p12
+          - name: {{ include "common.fullname" . }}-rproxy-auth-certs
+            mountPath: /opt/app/rproxy/config/auth/org.onap.aai.p12
+            subPath: org.onap.aai.p12
           - name: {{ include "common.fullname" . }}-rproxy-auth-config
             mountPath: /opt/app/rproxy/config/auth/uri-authorization.json
             subPath: uri-authorization.json
-          #- name: {{ include "common.fullname" . }}-rproxy-auth-config
-          #  mountPath: /opt/app/rproxy/config/auth/aaf_truststore.jks
-          #  subPath: aaf_truststore.jks
           - name: {{ include "common.fullname" . }}-rproxy-security-config
             mountPath: /opt/app/rproxy/config/security/keyfile
             subPath: keyfile
@@ -189,7 +183,9 @@ spec:
           - name: CONFIG_HOME
             value: "/opt/app/fproxy/config"
           - name: KEY_STORE_PASSWORD
-            value: {{ .Values.config.keyStorePassword }} 
+            value: {{ .Values.config.keyStorePassword }}
+          - name: TRUST_STORE_PASSWORD
+            value: {{ .Values.config.trustStorePassword }}
           - name: spring_profiles_active
             value: {{ .Values.global.fproxy.activeSpringProfiles }}
           volumeMounts:
@@ -199,10 +195,13 @@ spec:
           - name: {{ include "common.fullname" . }}-fproxy-log-config
             mountPath: /opt/app/fproxy/config/logback-spring.xml
             subPath: logback-spring.xml
-          - name: {{ include "common.fullname" . }}-fproxy-auth-config
+          - name: {{ include "common.fullname" . }}-fproxy-auth-certs
             mountPath: /opt/app/fproxy/config/auth/tomcat_keystore
             subPath: tomcat_keystore
-          - name: {{ include "common.fullname" . }}-fproxy-auth-config
+          - name: {{ include "common.fullname" . }}-fproxy-auth-certs
+            mountPath: /opt/app/fproxy/config/auth/fproxy_truststore
+            subPath: fproxy_truststore
+          - name: {{ include "common.fullname" . }}-fproxy-auth-certs
             mountPath: /opt/app/fproxy/config/auth/client-cert.p12
             subPath: client-cert.p12
           ports:
@@ -251,18 +250,21 @@ spec:
         - name: {{ include "common.fullname" . }}-rproxy-auth-config
           secret:
             secretName: {{ include "common.fullname" . }}-rproxy-auth-config
+        - name: {{ include "common.fullname" . }}-rproxy-auth-certs
+          secret:
+            secretName: aai-rproxy-auth-certs
         - name: {{ include "common.fullname" . }}-rproxy-security-config
           secret:
-            secretName: {{ include "common.fullname" . }}-rproxy-security-config
+            secretName: aai-rproxy-security-config
         - name: {{ include "common.fullname" . }}-fproxy-config
           configMap:
             name: {{ include "common.fullname" . }}-fproxy-config
         - name: {{ include "common.fullname" . }}-fproxy-log-config
           configMap:
             name: {{ include "common.fullname" . }}-fproxy-log-config
-        - name: {{ include "common.fullname" . }}-fproxy-auth-config
+        - name: {{ include "common.fullname" . }}-fproxy-auth-certs
           secret:
-            secretName: {{ include "common.fullname" . }}-fproxy-auth-config
+            secretName: aai-fproxy-auth-certs
     {{ end }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index a0a1519..fa18956 100644 (file)
@@ -18,6 +18,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-champ
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/appconfig/auth/*").AsSecrets . | indent 2 }}
@@ -41,28 +46,15 @@ data:
 ---
 apiVersion: v1
 kind: Secret
-metadata:
-  name: {{ include "common.fullname" . }}-fproxy-auth-config
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/fproxy/config/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-rproxy-auth-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/rproxy/config/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.fullname" . }}-rproxy-security-config
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/rproxy/config/security/*").AsSecrets . | indent 2 }}
 {{ end }}
\ No newline at end of file
index b865b00..b1ce34d 100644 (file)
@@ -33,6 +33,7 @@ flavor: small
 config:
   keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
   keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+  trustStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 
 # default number of instances
 replicaCount: 1
index da4de97..47f9f31 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAI Data-Router
 name: aai-data-router
-version: 3.0.0
+version: 4.0.0
index a7ecbce..5c0d9b2 100644 (file)
@@ -35,6 +35,14 @@ spec:
         release: {{ .Release.Name }}
       name: {{ include "common.name" . }}
     spec:
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
       initContainers:
       - command:
         - /bin/sh
@@ -120,7 +128,7 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
 
       # side car containers
       - name: filebeat-onap
@@ -136,6 +144,8 @@ spec:
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
           name: aai-filebeat
+        resources:
+{{ include "common.resources" . }}
       volumes:
       - name: localtime
         hostPath:
index 32a3482..6084ca3 100644 (file)
@@ -17,6 +17,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
index 9b83224..fbc7abd 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAI elasticsearch
 name: aai-elasticsearch
-version: 3.0.0
+version: 4.0.0
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/bin/init_sg.sh b/kubernetes/aai/charts/aai-elasticsearch/resources/bin/init_sg.sh
new file mode 100644 (file)
index 0000000..e859365
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+/usr/share/elasticsearch/plugins/search-guard-6/tools/sgadmin.sh \
+  -cd /usr/share/elasticsearch/config/sg \
+  -ks /usr/share/elasticsearch/config/sg/auth/{{ .Values.config.adminKeyStore }} \
+  -ts /usr/share/elasticsearch/config/sg/auth/{{ .Values.config.trustStore }} \
+  -kspass {{ .Values.config.adminKeyStorePassword }} \
+  -tspass {{ .Values.config.trustStorePassword}} \
+  -nhnv \
+  -icl \
+  -p {{ .Values.service.internalPort2 }}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/bin/run.sh b/kubernetes/aai/charts/aai-elasticsearch/resources/bin/run.sh
new file mode 100644 (file)
index 0000000..a612c74
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# Wait for ES to start then initialize SearchGuard
+/usr/local/bin/docker-entrypoint.sh eswrapper &
+/usr/share/elasticsearch/bin/wait_until_started.sh
+/usr/share/elasticsearch/bin/init_sg.sh
+
+wait
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/bin/wait_until_started.sh b/kubernetes/aai/charts/aai-elasticsearch/resources/bin/wait_until_started.sh
new file mode 100644 (file)
index 0000000..279253b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+RET=1
+
+while [[ RET -ne 0 ]]; do
+    echo "Waiting for Elasticsearch to become ready before running sgadmin..."
+    curl -XGET -k "https://localhost:{{ .Values.service.internalPort }}/" >/dev/null 2>&1
+    RET=$?
+    sleep 5
+done
\ No newline at end of file
index 24b3c5a..87536e3 100644 (file)
@@ -192,7 +192,7 @@ network.bind_host: 0.0.0.0
 
 
 # Set a custom port for the node to node communication (9300 by default):
-transport.tcp.port: {{ .Values.config.tcpPort }}
+transport.tcp.port: {{ .Values.service.internalPort2 }}
 
 # Enable compression for all communication between nodes (disabled by default):
 transport.tcp.compress: false
@@ -368,77 +368,29 @@ discovery.zen.ping.unicast.hosts: ["0.0.0.0"]
 ###                                     SEARCH GUARD SSL                                      #
 ###                                       Configuration                                       #
 ###############################################################################################
-##  Uncomment all lines below prefixed with #X#  (globally remove #X#) for searchguard
-##
-###############################################################################################
-### Transport layer SSL                                                                       #
-###                                                                                           #
-###############################################################################################
-### Enable or disable node-to-node ssl encryption (default: true)
-#X#searchguard.ssl.transport.enable_openssl_if_available: true
-#X#searchguard.ssl.transport.enabled: true
-### JKS or PKCS12 (default: JKS)
-#X#searchguard.ssl.transport.keystore_type: JKS
-### Relative path to the keystore file (mandatory, this stores the server certificates), must be placed under the config/ dir
-#X#searchguard.ssl.transport.keystore_filepath: /some/path 
-### Alias name (default: first alias which could be found)
-###searchguard.ssl.transport.keystore_alias: localhost
-### Keystore password (default: changeit)
-#X#searchguard.ssl.transport.keystore_password: changeit
-##
-### JKS or PKCS12 (default: JKS)
-#X#searchguard.ssl.transport.truststore_type: JKS
-### Relative path to the truststore file (mandatory, this stores the client/root certificates), must be placed under the config/ dir
-#X#searchguard.ssl.transport.truststore_filepath: truststore.jks
-### Alias name (default: first alias which could be found)
-###searchguard.ssl.transport.truststore_alias: my_alias
-### Truststore password (default: changeit)
-#X#searchguard.ssl.transport.truststore_password: changeit
-### Enforce hostname verification (default: true)
-###searchguard.ssl.transport.enforce_hostname_verification: true
-### If hostname verification specify if hostname should be resolved (default: true)
-###searchguard.ssl.transport.resolve_hostname: true
-### Use native Open SSL instead of JDK SSL if available (default: true)
-###searchguard.ssl.transport.enable_openssl_if_available: false
-##
-###############################################################################################
-### HTTP/REST layer SSL                                                                       #
-###                                                                                           #
-###############################################################################################
-### Enable or disable rest layer security - https, (default: false)
-#X#searchguard.ssl.http.enable_openssl_if_available: true
-#X#searchguard.ssl.http.enabled: true
-### JKS or PKCS12 (default: JKS)
-#X#searchguard.ssl.http.keystore_type: JKS
-### Relative path to the keystore file (this stores the server certificates), must be placed under the config/ dir
-#X#searchguard.ssl.http.keystore_filepath: /keystore/path
-### Alias name (default: first alias which could be found)
-###searchguard.ssl.http.keystore_alias: my_alias
-### Keystore password (default: changeit)
-#X#searchguard.ssl.http.keystore_password: changeit
-### Do the clients (typically the browser or the proxy) have to authenticate themself to the http server, default is OPTIONAL
-### To enforce authentication use REQUIRE, to completely disable client certificates use NONE
-###searchguard.ssl.http.clientauth_mode: REQUIRE
-### JKS or PKCS12 (default: JKS)
-#X#searchguard.ssl.http.truststore_type: JKS
-### Relative path to the truststore file (this stores the client certificates), must be placed under the config/ dir
-#X#searchguard.ssl.http.truststore_filepath: truststore.jks
-### Alias name (default: first alias which could be found)
-###searchguard.ssl.http.truststore_alias: my_alias
-### Truststore password (default: changeit)
-#X#searchguard.ssl.http.truststore_password: changeit
-### Use native Open SSL instead of JDK SSL if available (default: true)
-###searchguard.ssl.http.enable_openssl_if_available: false
-
-#####################################################
-##### Security manager - Searchguard Configuration
-#####################################################
-#X#security.manager.enabled: false
-#X#searchguard.authcz.admin_dn:
-
-#####################################################
-##### X-Pack Configuration
-#####################################################
+######## Start Search Guard Demo Configuration ########
+
+searchguard.enterprise_modules_enabled: false
+
+searchguard.ssl.transport.keystore_filepath: sg/auth/{{ .Values.config.nodeKeyStore }}
+searchguard.ssl.transport.keystore_password: {{ .Values.config.nodeKeyStorePassword }}
+searchguard.ssl.transport.truststore_filepath: sg/auth/{{ .Values.config.trustStore }}
+searchguard.ssl.transport.truststore_password: {{ .Values.config.trustStorePassword }}
+searchguard.ssl.transport.enforce_hostname_verification: false
+
+searchguard.ssl.http.enabled: true
+searchguard.ssl.http.keystore_filepath: sg/auth/{{ .Values.config.nodeKeyStore }}
+searchguard.ssl.http.keystore_password: {{ .Values.config.nodeKeyStorePassword }}
+searchguard.ssl.http.truststore_filepath: sg/auth/{{ .Values.config.trustStore }}
+searchguard.ssl.http.truststore_password: {{ .Values.config.trustStorePassword }}
+
+searchguard.nodes_dn:
+  - CN=esaai
+
+searchguard.authcz.admin_dn:
+  - CN=sgadmin
+
+# x-pack security conflicts with searchguard
 xpack.security.enabled: false
 xpack.ml.enabled: false
 xpack.monitoring.enabled: false
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/esaai-keystore.jks b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/esaai-keystore.jks
new file mode 100644 (file)
index 0000000..21ec9bb
Binary files /dev/null and b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/esaai-keystore.jks differ
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/sgadmin-keystore.p12 b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/sgadmin-keystore.p12
new file mode 100644 (file)
index 0000000..db7cbf4
Binary files /dev/null and b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/sgadmin-keystore.p12 differ
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/truststore.jks b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/truststore.jks
new file mode 100644 (file)
index 0000000..b3bd666
Binary files /dev/null and b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/auth/truststore.jks differ
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_action_groups.yml b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_action_groups.yml
new file mode 100644 (file)
index 0000000..be5901a
--- /dev/null
@@ -0,0 +1,137 @@
+UNLIMITED:
+  readonly: true
+  permissions:
+    - "*"
+
+###### INDEX LEVEL ######
+
+INDICES_ALL:
+  readonly: true
+  permissions:
+    - "indices:*"
+
+# for backward compatibility
+ALL:
+  readonly: true
+  permissions:
+    - INDICES_ALL
+
+MANAGE:
+  readonly: true
+  permissions:
+    - "indices:monitor/*"
+    - "indices:admin/*"
+
+CREATE_INDEX:
+  readonly: true
+  permissions:
+    - "indices:admin/create"
+    - "indices:admin/mapping/put"
+
+MANAGE_ALIASES:
+  readonly: true
+  permissions:
+    - "indices:admin/aliases*"
+
+# for backward compatibility
+MONITOR:
+  readonly: true
+  permissions:
+    - INDICES_MONITOR
+
+INDICES_MONITOR:
+  readonly: true
+  permissions:
+    - "indices:monitor/*"
+
+DATA_ACCESS:
+  readonly: true
+  permissions:
+    - "indices:data/*"
+    - CRUD
+
+WRITE:
+  readonly: true
+  permissions:
+    - "indices:data/write*"
+    - "indices:admin/mapping/put"
+
+READ:
+  readonly: true
+  permissions:
+    - "indices:data/read*"
+    - "indices:admin/mappings/fields/get*"
+
+DELETE:
+  readonly: true
+  permissions:
+    - "indices:data/write/delete*"
+
+CRUD:
+  readonly: true
+  permissions:
+    - READ
+    - WRITE
+
+SEARCH:
+  readonly: true
+  permissions:
+    - "indices:data/read/search*"
+    - "indices:data/read/msearch*"
+    - SUGGEST
+
+SUGGEST:
+  readonly: true
+  permissions:
+    - "indices:data/read/suggest*"
+
+INDEX:
+  readonly: true
+  permissions:
+    - "indices:data/write/index*"
+    - "indices:data/write/update*"
+    - "indices:admin/mapping/put"
+    - "indices:data/write/bulk*"
+
+GET:
+  readonly: true
+  permissions:
+    - "indices:data/read/get*"
+    - "indices:data/read/mget*"
+
+###### CLUSTER LEVEL ######
+
+CLUSTER_ALL:
+  readonly: true
+  permissions:
+    - "cluster:*"
+
+CLUSTER_MONITOR:
+  readonly: true
+  permissions:
+    - "cluster:monitor/*"
+
+CLUSTER_COMPOSITE_OPS_RO:
+  readonly: true
+  permissions:
+    - "indices:data/read/mget"
+    - "indices:data/read/msearch"
+    - "indices:data/read/mtv"
+    - "indices:data/read/coordinate-msearch*"
+    - "indices:admin/aliases/exists*"
+    - "indices:admin/aliases/get*"
+    - "indices:data/read/scroll"
+
+CLUSTER_COMPOSITE_OPS:
+  readonly: true
+  permissions:
+    - "indices:data/write/bulk"
+    - "indices:admin/aliases*"
+    - "indices:data/write/reindex"
+    - CLUSTER_COMPOSITE_OPS_RO
+
+MANAGE_SNAPSHOTS:
+  readonly: true
+  permissions:
+    - "cluster:admin/snapshot/*"
+    - "cluster:admin/repository/*"
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_config.yml b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_config.yml
new file mode 100644 (file)
index 0000000..3fefe16
--- /dev/null
@@ -0,0 +1,221 @@
+# This is the main Search Guard configuration file where authentication 
+# and authorization is defined.
+# 
+# You need to configure at least one authentication domain in the authc of this file.
+# An authentication domain is responsible for extracting the user credentials from 
+# the request and for validating them against an authentication backend like Active Directory for example. 
+#
+# If more than one authentication domain is configured the first one which succeeds wins. 
+# If all authentication domains fail then the request is unauthenticated.
+# In this case an exception is thrown and/or the HTTP status is set to 401.
+# 
+# After authentication authorization (authz) will be applied. There can be zero or more authorizers which collect
+# the roles from a given backend for the authenticated user.
+#
+# Both, authc and auth can be enabled/disabled separately for REST and TRANSPORT layer. Default is true for both.
+#        http_enabled: true
+#        transport_enabled: true
+#
+# 5.x Migration: "enabled: true/false" will also be respected currently but only to provide backward compatibility.
+#
+# For HTTP it is possible to allow anonymous authentication. If that is the case then the HTTP authenticators try to
+# find user credentials in the HTTP request. If credentials are found then the user gets regularly authenticated.
+# If none can be found the user will be authenticated as an "anonymous" user. This user has always the username "sg_anonymous"
+# and one role named "sg_anonymous_backendrole". 
+# If you enable anonymous authentication all HTTP authenticators will not challenge.
+# 
+#
+# Note: If you define more than one HTTP authenticators make sure to put non-challenging authenticators like "proxy" or "clientcert"
+# first and the challenging one last. 
+# Because it's not possible to challenge a client with two different authentication methods (for example
+# Kerberos and Basic) only one can have the challenge flag set to true. You can cope with this situation
+# by using pre-authentication, e.g. sending a HTTP Basic authentication header in the request.
+#
+# Default value of the challenge flag is true.
+# 
+#
+# HTTP
+#   basic (challenging)
+#   proxy (not challenging, needs xff)
+#   kerberos (challenging) NOT FREE FOR COMMERCIAL
+#   clientcert (not challenging, needs https)
+#   jwt (not challenging) NOT FREE FOR COMMERCIAL
+#   host (not challenging) #DEPRECATED, will be removed in a future version.
+#                           host based authentication is configurable in sg_roles_mapping
+
+# Authc
+#   internal
+#   noop
+#   ldap  NOT FREE FOR COMMERCIAL USE
+
+# Authz
+#   ldap  NOT FREE FOR COMMERCIAL USE
+#   noop
+
+searchguard:
+  dynamic:
+    # Set filtered_alias_mode to 'disallow' to forbid more than 2 filtered aliases per index
+    # Set filtered_alias_mode to 'warn' to allow more than 2 filtered aliases per index but warns about it (default)
+    # Set filtered_alias_mode to 'nowarn' to allow more than 2 filtered aliases per index silently
+    #filtered_alias_mode: warn
+    #kibana:
+      # Kibana multitenancy - NOT FREE FOR COMMERCIAL USE
+      # see https://github.com/floragunncom/search-guard-docs/blob/master/multitenancy.md
+      # To make this work you need to install https://github.com/floragunncom/search-guard-module-kibana-multitenancy/wiki
+      #multitenancy_enabled: true
+      #server_username: kibanaserver
+      #index: '.kibana'
+      #do_not_fail_on_forbidden: false
+    http:
+      anonymous_auth_enabled: false
+      xff:
+        enabled: false
+        internalProxies: '192\.168\.0\.10|192\.168\.0\.11' # regex pattern
+        #internalProxies: '.*' # trust all internal proxies, regex pattern
+        remoteIpHeader:  'x-forwarded-for'
+        proxiesHeader:   'x-forwarded-by'
+        #trustedProxies: '.*' # trust all external proxies, regex pattern
+        ###### see https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html for regex help
+        ###### more information about XFF https://en.wikipedia.org/wiki/X-Forwarded-For
+        ###### and here https://tools.ietf.org/html/rfc7239
+        ###### and https://tomcat.apache.org/tomcat-8.0-doc/config/valve.html#Remote_IP_Valve
+    authc:
+      kerberos_auth_domain: 
+        http_enabled: false
+        transport_enabled: false
+        order: 6
+        http_authenticator:
+          type: kerberos # NOT FREE FOR COMMERCIAL USE
+          challenge: true
+          config:
+            # If true a lot of kerberos/security related debugging output will be logged to standard out
+            krb_debug: false
+            # If true then the realm will be stripped from the user name
+            strip_realm_from_principal: true
+        authentication_backend:
+          type: noop
+      basic_internal_auth_domain:
+        http_enabled: true
+        transport_enabled: true
+        order: 2
+        http_authenticator:
+          type: basic
+          challenge: true
+        authentication_backend:
+          type: intern
+      proxy_auth_domain:
+        http_enabled: false
+        transport_enabled: false
+        order: 3
+        http_authenticator:
+          type: proxy
+          challenge: false
+          config:
+            user_header: "x-proxy-user"
+            roles_header: "x-proxy-roles"
+        authentication_backend:
+          type: noop
+      jwt_auth_domain:
+        http_enabled: false
+        transport_enabled: false
+        order: 0
+        http_authenticator:
+          type: jwt
+          challenge: false
+          config:
+            signing_key: "base64 encoded HMAC key or public RSA/ECDSA pem key"
+            jwt_header: "Authorization"
+            jwt_url_parameter: null
+            roles_key: null
+            subject_key: null
+        authentication_backend:
+          type: noop
+      clientcert_auth_domain:
+        http_enabled: true
+        transport_enabled: true
+        order: 1
+        http_authenticator:
+          type: clientcert
+          config:
+            username_attribute: cn #optional, if omitted DN becomes username
+          challenge: false
+        authentication_backend:
+          type: noop
+      ldap:
+        http_enabled: false
+        transport_enabled: false
+        order: 5
+        http_authenticator:
+          type: basic
+          challenge: false
+        authentication_backend:
+          # LDAP authentication backend (authenticate users against a LDAP or Active Directory)
+          type: ldap # NOT FREE FOR COMMERCIAL USE
+          config:
+            # enable ldaps
+            enable_ssl: false
+            # enable start tls, enable_ssl should be false
+            enable_start_tls: false
+            # send client certificate
+            enable_ssl_client_auth: false
+            # verify ldap hostname
+            verify_hostnames: true
+            hosts:
+              - localhost:8389
+            bind_dn: null
+            password: null
+            userbase: 'ou=people,dc=example,dc=com'
+            # Filter to search for users (currently in the whole subtree beneath userbase)
+            # {0} is substituted with the username 
+            usersearch: '(sAMAccountName={0})'
+            # Use this attribute from the user as username (if not set then DN is used)
+            username_attribute: null
+    authz:    
+      roles_from_myldap:
+        http_enabled: false
+        transport_enabled: false
+        authorization_backend:
+          # LDAP authorization backend (gather roles from a LDAP or Active Directory, you have to configure the above LDAP authentication backend settings too)
+          type: ldap # NOT FREE FOR COMMERCIAL USE
+          config:
+            # enable ldaps
+            enable_ssl: false
+            # enable start tls, enable_ssl should be false
+            enable_start_tls: false
+            # send client certificate
+            enable_ssl_client_auth: false
+            # verify ldap hostname
+            verify_hostnames: true
+            hosts:
+              - localhost:8389
+            bind_dn: null
+            password: null
+            rolebase: 'ou=groups,dc=example,dc=com'
+            # Filter to search for roles (currently in the whole subtree beneath rolebase)
+            # {0} is substituted with the DN of the user
+            # {1} is substituted with the username 
+            # {2} is substituted with an attribute value from user's directory entry, of the authenticated user. Use userroleattribute to specify the name of the attribute            
+            rolesearch: '(member={0})'
+            # Specify the name of the attribute which value should be substituted with {2} above
+            userroleattribute: null
+            # Roles as an attribute of the user entry
+            userrolename: disabled
+            #userrolename: memberOf
+            # The attribute in a role entry containing the name of that role, Default is "name".
+            # Can also be "dn" to use the full DN as rolename.
+            rolename: cn
+            # Resolve nested roles transitive (roles which are members of other roles and so on ...)
+            resolve_nested_roles: true
+            userbase: 'ou=people,dc=example,dc=com'
+            # Filter to search for users (currently in the whole subtree beneath userbase)
+            # {0} is substituted with the username 
+            usersearch: '(uid={0})'
+            # Skip users matching a user name, a wildcard or a regex pattern
+            #skip_users: 
+            #  - 'cn=Michael Jackson,ou*people,o=TEST'
+            #  - '/\S*/'    
+      roles_from_another_ldap:
+        enabled: false
+        authorization_backend:
+          type: ldap # NOT FREE FOR COMMERCIAL USE
+          #config goes here ...
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_internal_users.yml b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_internal_users.yml
new file mode 100644 (file)
index 0000000..942a716
--- /dev/null
@@ -0,0 +1,45 @@
+# This is the internal user database
+# The hash value is a bcrypt hash and can be generated with plugin/tools/hash.sh
+
+#password is: admin
+admin:
+  readonly: true
+  hash: $2a$12$VcCDgh2NDk07JGN0rjGbM.Ad41qVR/YFJcgHp0UGns5JDymv..TOG
+  roles:
+    - admin
+  attributes:
+    #no dots allowed in attribute names
+    attribute1: value1
+    attribute2: value2
+    attribute3: value3
+
+#password is: logstash
+logstash:
+  hash: $2a$12$u1ShR4l4uBS3Uv59Pa2y5.1uQuZBrZtmNfqB3iM/.jL0XoV9sghS2
+  roles:
+    - logstash
+
+#password is: kibanaserver
+kibanaserver:
+  readonly: true
+  hash: $2a$12$4AcgAt3xwOWadA5s5blL6ev39OXDNhmOesEoo33eZtrq2N0YrU3H.
+
+#password is: kibanaro
+kibanaro:
+  hash: $2a$12$JJSXNfTowz7Uu5ttXfeYpeYE0arACvcwlPBStB1F.MI7f0U9Z4DGC
+  roles:
+    - kibanauser
+    - readall
+
+#password is: readall
+readall:
+  hash: $2a$12$ae4ycwzwvLtZxwZ82RmiEunBbIPiAmGZduBAjKN0TXdwQFtCwARz2
+  #password is: readall
+  roles:
+    - readall
+
+#password is: snapshotrestore
+snapshotrestore:
+  hash: $2y$12$DpwmetHKwgYnorbgdvORCenv4NAK8cPUg8AI6pxLCuWf/ALc0.v7W
+  roles:
+    - snapshotrestore
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_roles.yml b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_roles.yml
new file mode 100644 (file)
index 0000000..c918e85
--- /dev/null
@@ -0,0 +1,262 @@
+# Allows everything, but no changes to searchguard configuration index
+sg_all_access:
+  readonly: true
+  cluster:
+    - UNLIMITED
+  indices:
+    '*':
+      '*':
+        - UNLIMITED
+  tenants:
+    admin_tenant: RW
+
+# Read all, but no write permissions
+sg_readall:
+  readonly: true
+  cluster:
+    - CLUSTER_COMPOSITE_OPS_RO
+  indices:
+    '*':
+      '*':
+        - READ
+
+# Read all and monitor, but no write permissions
+sg_readall_and_monitor:
+  cluster:
+    - CLUSTER_MONITOR
+    - CLUSTER_COMPOSITE_OPS_RO
+  indices:
+    '*':
+      '*':
+        - READ
+
+# For users which use kibana, access to indices must be granted separately
+sg_kibana_user:
+  readonly: true
+  cluster:
+    - INDICES_MONITOR
+    - CLUSTER_COMPOSITE_OPS
+  indices:
+    '?kibana':
+      '*':
+        - MANAGE
+        - INDEX
+        - READ
+        - DELETE
+    '?kibana-6':
+      '*':
+        - MANAGE
+        - INDEX
+        - READ
+        - DELETE
+    '?kibana_*':
+      '*':
+        - MANAGE
+        - INDEX
+        - READ
+        - DELETE
+    '?tasks':
+      '*':
+        - INDICES_ALL
+    '?management-beats':
+      '*':
+        - INDICES_ALL
+    '*':
+      '*':
+        - indices:data/read/field_caps*
+        - indices:data/read/xpack/rollup*
+        - indices:admin/mappings/get*
+        - indices:admin/get
+
+# For the kibana server
+sg_kibana_server:
+  readonly: true
+  cluster:
+      - CLUSTER_MONITOR
+      - CLUSTER_COMPOSITE_OPS
+      - cluster:admin/xpack/monitoring*
+      - indices:admin/template*
+      - indices:data/read/scroll*
+  indices:
+    '?kibana':
+      '*':
+        - INDICES_ALL
+    '?kibana-6':
+      '*':
+        - INDICES_ALL
+    '?kibana_*':
+      '*':
+        - INDICES_ALL
+    '?reporting*':
+      '*':
+        - INDICES_ALL
+    '?monitoring*':
+      '*':
+        - INDICES_ALL
+    '?tasks':
+      '*':
+        - INDICES_ALL
+    '?management-beats*':
+      '*':
+        - INDICES_ALL
+    '*':
+      '*':
+        - "indices:admin/aliases*"
+
+# For logstash and beats
+sg_logstash:
+  cluster:
+    - CLUSTER_MONITOR
+    - CLUSTER_COMPOSITE_OPS
+    - indices:admin/template/get
+    - indices:admin/template/put
+  indices:
+    'logstash-*':
+      '*':
+        - CRUD
+        - CREATE_INDEX
+    '*beat*':
+      '*':
+        - CRUD
+        - CREATE_INDEX
+
+# Allows adding and modifying repositories and creating and restoring snapshots
+sg_manage_snapshots:
+  cluster:
+    - MANAGE_SNAPSHOTS
+  indices:
+    '*':
+      '*':
+        - "indices:data/write/index"
+        - "indices:admin/create"
+
+# Allows each user to access own named index
+sg_own_index:
+  cluster:
+    - CLUSTER_COMPOSITE_OPS
+  indices:
+    '${user_name}':
+      '*':
+        - INDICES_ALL
+
+### X-Pack COMPATIBILITY
+sg_xp_monitoring:
+  readonly: true
+  cluster:
+    - cluster:monitor/xpack/info
+    - cluster:monitor/main
+    - cluster:admin/xpack/monitoring/bulk
+  indices:
+    '?monitor*':
+      '*':
+        - INDICES_ALL
+
+sg_xp_alerting:
+  readonly: true
+  cluster:
+    - indices:data/read/scroll
+    - cluster:admin/xpack/watcher*
+    - cluster:monitor/xpack/watcher*
+  indices:
+    '?watches*':
+      '*':
+        - INDICES_ALL
+    '?watcher-history-*':
+      '*':
+        - INDICES_ALL
+    '?triggered_watches':
+      '*':
+        - INDICES_ALL
+    '*':
+      '*':
+        - READ
+        - indices:admin/aliases/get
+
+sg_xp_machine_learning:
+  readonly: true
+  cluster:
+    - cluster:admin/persistent*
+    - cluster:internal/xpack/ml*
+    - indices:data/read/scroll*
+    - cluster:admin/xpack/ml*
+    - cluster:monitor/xpack/ml*
+  indices:
+    '*':
+      '*':
+        - READ
+        - indices:admin/get*
+    '?ml-*':
+      '*':
+        - "*"
+
+### LEGACY ROLES, FOR COMPATIBILITY ONLY
+### WILL BE REMOVED IN SG7, DO NOT USE ANYMORE
+
+sg_readonly_and_monitor:
+  cluster:
+    - CLUSTER_MONITOR
+    - CLUSTER_COMPOSITE_OPS_RO
+  indices:
+    '*':
+      '*':
+        - READ
+
+# Make xpack monitoring work
+sg_monitor:
+  cluster:
+    - cluster:admin/xpack/monitoring/*
+    - cluster:admin/ingest/pipeline/put       
+    - cluster:admin/ingest/pipeline/get
+    - indices:admin/template/get
+    - indices:admin/template/put
+    - CLUSTER_MONITOR
+    - CLUSTER_COMPOSITE_OPS
+  indices:
+    '?monitor*':
+      '*':
+        - INDICES_ALL
+    '?marvel*':
+      '*':
+        - INDICES_ALL
+    '?kibana*':
+      '*':
+        - READ
+    '*':
+      '*':
+        - indices:data/read/field_caps
+
+# Make xpack alerting work
+sg_alerting:
+  cluster:
+    - indices:data/read/scroll
+    - cluster:admin/xpack/watcher/watch/put
+    - cluster:admin/xpack/watcher*
+    - CLUSTER_MONITOR
+    - CLUSTER_COMPOSITE_OPS
+  indices:
+    '?kibana*':
+      '*':
+        - READ
+    '?watches*':
+      '*':
+        - INDICES_ALL
+    '?watcher-history-*':
+      '*':
+        - INDICES_ALL
+    '?triggered_watches':
+      '*':
+        - INDICES_ALL
+    '*':
+      '*':
+        - READ
+
+
+sg_role_test:
+  cluster:
+    - indices:admin/template/get
+    - indices:admin/template/put
+    - CLUSTER_COMPOSITE_OPS
+  indices:
+    '*':
+      '*':
+        - UNLIMITED
diff --git a/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_roles_mapping.yml b/kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_roles_mapping.yml
new file mode 100644 (file)
index 0000000..970e027
--- /dev/null
@@ -0,0 +1,38 @@
+# In this file users, backendroles and hosts can be mapped to Search Guard roles.
+# Permissions for Search Guard roles are configured in sg_roles.yml
+
+sg_all_access:
+  readonly: true
+  backendroles:
+    - admin
+
+sg_logstash:
+  backendroles:
+    - logstash
+    
+sg_kibana_server:
+  readonly: true
+  users:
+    - kibanaserver
+    
+sg_kibana_user:
+  backendroles:
+    - kibanauser
+
+sg_readall:
+  readonly: true
+  backendroles:
+    - readall
+
+sg_manage_snapshots:
+  readonly: true
+  backendroles:
+    - snapshotrestore
+
+sg_own_index:
+  users:
+    - '*'
+
+sg_role_test:
+  users:
+    - test
index c60b8f2..4be124f 100644 (file)
@@ -1,5 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if not .Values.disableAaiElasticsearch }}
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.fullname" . }}-es-config
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -26,4 +24,29 @@ metadata:
     heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
-#{{ end }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-sg-scripts
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/bin/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-sg-config
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/sg/*").AsConfig . | indent 2 }}
index 586d64f..785693a 100644 (file)
@@ -34,6 +34,7 @@ spec:
         release: {{ .Release.Name }}
       name: {{ include "common.name" . }}
     spec:
+      hostname: {{ include "common.name" . }}
       initContainers:
       - command:
         - /bin/sh
@@ -53,18 +54,18 @@ spec:
         securityContext:
           privileged: true
         image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
         name: init-sysctl
         volumeMounts:
         - name: elasticsearch-data
           mountPath: /logroot/
-      hostname: {{ include "common.name" . }}
       containers:
       - name: {{ include "common.name" . }}
-        image: {{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.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 }}
@@ -92,6 +93,19 @@ spec:
           - name: elasticsearch-config
             subPath: log4j2.properties
             mountPath: /usr/share/elasticsearch/config/log4j2.properties
+          - name: searchguard-scripts
+            subPath: run.sh
+            mountPath: /usr/share/elasticsearch/bin/run.sh
+          - name: searchguard-scripts
+            subPath: wait_until_started.sh
+            mountPath: /usr/share/elasticsearch/bin/wait_until_started.sh
+          - name: searchguard-scripts
+            subPath: init_sg.sh
+            mountPath: /usr/share/elasticsearch/bin/init_sg.sh
+          - name: searchguard-config
+            mountPath: /usr/share/elasticsearch/config/sg
+          - name: searchguard-auth-config
+            mountPath: /usr/share/elasticsearch/config/sg/auth
           - name: elasticsearch-data
             mountPath: /usr/share/elasticsearch/data
         resources:
@@ -111,9 +125,20 @@ spec:
           path: /etc/localtime
       - name: elasticsearch-config
         configMap:
-          name: {{ include "common.fullname" . }}
+          name: {{ include "common.fullname" . }}-es-config
+      - name: searchguard-scripts
+        configMap:
+          name: {{ include "common.fullname" . }}-sg-scripts
+          defaultMode: 0754
+      - name: searchguard-config
+        configMap:
+          name: {{ include "common.fullname" . }}-sg-config
+      - name: searchguard-auth-config
+        secret:
+          secretName: {{ include "common.fullname" . }}-sg-auth
       - name: elasticsearch-data
         hostPath:
           path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+      restartPolicy: {{ .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # limitations under the License.
 
 apiVersion: v1
-kind: ConfigMap
+kind: Secret
 metadata:
-  name: {{ include "common.fullname" . }}-settings
+  name: {{ include "common.fullname" . }}-sg-auth
   namespace: {{ include "common.namespace" . }}
+type: Opaque
 data:
-{{ tpl (.Files.Glob "resources/config/em/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/sg/auth/*").AsSecrets . | indent 2 }}
\ No newline at end of file
index b1de5a7..d119912 100644 (file)
@@ -25,14 +25,19 @@ metadata:
 spec:
   type: {{ .Values.service.type }}
   ports:
-    {{if eq .Values.service.type "NodePort" -}}
-    - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
-      name: {{ .Values.service.portName }}
-    {{- else -}}
-    - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName }}
-    {{- end}}
+  {{if eq .Values.service.type "NodePort" -}}
+  - port: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+    name: {{ .Values.service.portName }}
+  - port: {{ .Values.service.internalPort2 }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+    name: {{ .Values.service.portName2 }}
+  {{- else -}}
+  - port: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.portName }}
+  - port: {{ .Values.service.internalPort2 }}
+    name: {{ .Values.service.portName2 }}
+  {{- end}}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
index 5ce8f80..ea82c99 100644 (file)
@@ -19,16 +19,21 @@ global: # global defaults
   nodePortPrefix: 302
 
 # application image
-loggingRepository: docker.elastic.co
-image: elasticsearch/elasticsearch:6.1.2
+image: onap/elasticsearch-sg:1.4-STAGING-latest
 pullPolicy: Always
+restartPolicy: Always
 
 flavor: small
 
 # application configuration
 config:
   tcpPort: 8443
-
+  nodeKeyStore: esaai-keystore.jks
+  nodeKeyStorePassword: b87b46d3da7d3d4aadfe
+  adminKeyStore: sgadmin-keystore.p12
+  adminKeyStorePassword: 341274302a70ad691e12
+  trustStore: truststore.jks
+  trustStorePassword: b200926e9da205487f63
 
 # default number of instances
 replicaCount: 1
@@ -54,6 +59,8 @@ service:
   name: aai-elasticsearch
   portName: aai-elasticsearch
   internalPort: 9200
+  portName2: aai-elasticsearch-tcp
+  internalPort2: 8443
 
 ingress:
   enabled: false
index 19ba3f6..98dba95 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Gizmo service
 name: aai-gizmo
-version: 3.0.0
+version: 4.0.0
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/tomcat_keystore
deleted file mode 100644 (file)
index 9eec841..0000000
Binary files a/kubernetes/aai/charts/aai-gizmo/resources/fproxy/config/auth/tomcat_keystore and /dev/null differ
index 3a35b76..2e62379 100644 (file)
         <appender-ref ref="Console" />
     </root>
 
-    <!-- LOG "com.baeldung*" at TRACE level -->
-    <logger name="org.onap.aaf.fproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <!-- LOG "org.onap.aaf.fproxy*" at INFO level  -->
+    <logger name="org.onap.aaf.fproxy" level="info" />
 
 </configuration>
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/client-cert.p12 b/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/client-cert.p12
deleted file mode 100644 (file)
index dbf4fca..0000000
Binary files a/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/client-cert.p12 and /dev/null differ
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/tomcat_keystore
deleted file mode 100644 (file)
index 99129c1..0000000
Binary files a/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/auth/tomcat_keystore and /dev/null differ
index e468b3d..54d5de2 100644 (file)
     "permissions": [
       "test\\.auth\\.access\\|services\\|GET,PUT",
       "\\|services\\|GET"
-     ]
+    ]
   },
   {
     "uri": "\/services\/inventory\/.*",
     "permissions": [
-      "org\\.access\\|\\*\\|\\*"
-     ]
+      "org\\.onap\\.aai\\.resources\\|\\*\\|.*"
+    ]
   },
   {
     "uri": "\/services\/gizmo\/.*",
     "permissions": [
-      "org\\.access\\|\\*\\|\\*"
-     ]
+      "org\\.onap\\.aai\\.resources\\|\\*\\|.*"
+    ]
   }
 ]
index a82e38c..51ac56a 100644 (file)
@@ -9,17 +9,31 @@
 #hostname=test.aic.cip.att.com
 
 cadi_loglevel=DEBUG
-cadi_keyfile=/opt/app/rproxy/config/security/keyfile
 
+# OAuth2
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
+
+cadi_latitude=37.78187
+cadi_longitude=-122.26147
+
+# Locate URL (which AAF Env)
+aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095
+
+# AAF URL
+aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0
+
+cadi_keyfile=/opt/app/rproxy/config/security/keyfile
+cadi_keystore=/opt/app/rproxy/config/auth/org.onap.aai.p12
+cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5INQjrea7GTV
+cadi_alias=aai@aai.onap.org
 cadi_truststore=/opt/app/rproxy/config/auth/tomcat_keystore
 cadi_truststore_password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 
-# Configure AAF
-aaf_url=https://{{.Values.global.aaf.serverHostname}}:{{.Values.global.aaf.serverPort}}
 aaf_env=DEV
 
 aaf_id=demo@people.osaaf.org
 aaf_password=enc:92w4px0y_rrm265LXLpw58QnNPgDXykyA1YTrflbAKz
 
 # This is a colon separated list of client cert issuers
-cadi_x509_issuers=CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA
+cadi_x509_issuers=CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA
\ No newline at end of file
index 289fe75..7659e28 100644 (file)
     </appender>
 
     <!-- LOG everything at INFO level -->
-    <root level="debug">
+    <root level="info">
         <appender-ref ref="RollingFile" />
         <appender-ref ref="Console" />
     </root>
 
-    <!-- LOG "com.baeldung*" at TRACE level  -->
-    <logger name="org.onap.aaf.rproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <!-- LOG "org.onap.aaf.rproxy*" at INFO level  -->
+    <logger name="org.onap.aaf.rproxy" level="info" />
 
 </configuration>
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/security/keyfile b/kubernetes/aai/charts/aai-gizmo/resources/rproxy/config/security/keyfile
deleted file mode 100644 (file)
index 6cd12fc..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-bZNOXiGDJ2_eiKBKWYLIFx27URvb-SWfmOl2d-QKetcVKIupOrsG-ScS_VXOtKN3Yxfb2cR6t7oM
-1RNpDnhsKAxDLM6A62IkS_h_Rp3Q9c2JeyomVmyiuHR7a2ARbelaMrX8WDrxXI_t9ce4pIHDVE29
-xiQm3Bdp7d7IiKkgg-ipvOU7Y6NEzeQbvHlHvRTJ3ZZMSwHxBOA5M8DhKN-AF1sqwozEVaNAuJxK
-BVdh72A6KTW7ieb_GvVQQp8h32BuOz8oJhZV7KaGXsWTEvXg9ImboY0h7Sl9hufgn1ZtDK1jxzGm
-6O6LBg1qezzZaFGTXRmHvaeYmEeYSu0bGsU4x-JCU0RyhNTzFhkhjNoccaqPXBdcJymLf096mD99
-QLS8nyji_KtLQJL1fqr500c8p6SOURLPgG6Gzkn4ghgFYlfgve92xs1R3ggHKhNTLV4HJ4O6iSDm
-zCoHeRbsZR1JER9yxT-v8NtcHOMAZe1oDQeY6jVyxb-bhaonN6eZPI4nyF6MHJQtWKhGARC_kOs6
-x9E0ZdAEp5TrX7F7J5PwkXzbCOuSiTVftOBum43iUB4q9He8tn2tJ0X4LtLHT3bPl16wWnZm9RPf
-8wBtTJh4QP_cTStPq1ftSaLIAuqVFpbiC2DxGemXZn3QvykuYqa-rKeYPoIJ5dtWd5rNb_hhcSIz
-FakKTELb0HWYGji98TBF6PaStea2f2m-wGX_uQGD7_Dijl6AgnV9koKVs1bN1XljLtNMPbLdD8sz
-UCvc5lwvCFyyeunljI7os1fgwBmaMyckflq5VfZv9kFxom6jFLbcozylQ_uBg4j7oCP79IXVUI-r
-banZltOSmm8zHGc2R9UlUyxJWBi01yxwi1hUtn9g1H4RtncQpu3BY0Qvu5YLAmS5imivUnGVZWbv
-6wcqnJt5HwaVatE9NHONSLNTViQPsUOutWZBZxhJtAncdZuWOYZSh4TPzUJWvt6zT0E3YMBc_UuG
-yPmdLyqo7qGHR8YWRqq_vq6ISJqENMnVD6X9-BeI6KM4GPEAlDWyhgENXxQFjG45ufg3UpP8LBTB
-xDntlfkphRumsd13-8IlvwVtlpgnbuCMbwP_-lNVeNJcdA1InPt79oY-SEVZ-RVM1881ZASCnFeB
-lh3BTc_bGQ8YoC9s6iHtcCK_1SdbwzBfQBJUqqcYsa8hJLe-j8di7KCaFzI3a-UXWKuuWljpbKbq
-ibd48UFJt_34_GxkD6bmLxycuNH-og2Sd2VcYU0o5UarcrY4-2sgFPE7Mzxovrl98uayfgNF9DqE
-fJ4MwFGqLRtEHlm4zfuMxQ5Rh_giMUHDJApc1DYRkxdGbNUd4bC4aRBln2IhN-rNKbSVtiW_uT6v
-1KTMGmElvktjPWybJd2SvhT5qOLUM81-cmZzAsNa04jxZLBlQn_1fel3IroVos4Ohbdhar2NG6T5
-liten9RZ9P4Cg9RWhgeQonAD5kqLWXAHnCfffb5CVcAU5PHqkCgCbdThvD0-zIGETLO9AE0jKISc
-0o67CUZn3MzJ9pP_3gh-ALr2w-KAwqasqCf0igf1wmEDijv9wEDcgDm39ERIElTpGKgfyuVl4F8u
-PrpK5ZfpUYySUB6CZFQVVz0MvH6E7orQk4dCKFIimV_XwEtGijBttrTvyV6xYNScAEw_olt-0mdm
-8UEKSsuqSyDMxUWLjKJT19rNedahYJNtI87WR9Fhhjsrai9Or3a-srOYa56wcvSj2ZHbkevbO9Xv
-dQ2wzWCGEAMQSpSr83n0XEpR2pZT19Z19Svbhr08mnt2JNykCk60FLCeDTUOylJtYw6YOjqBizQZ
--85B51BCbSEaAKJkgT9-8n_-LGW5aPBrBB_9FT7UIYczNEt3B1Lqr2s4ipPI_36JecEfqaS2cNLn
-c0ObAtNGAONkhO5LYLneMR3fZPMFuOX1-rMObPgE0i9dYqWDZ_30w9rpRsmiWyxYi5lvWDxU5L1J
-uJxwREz3oa_VgpSC3Y2oxCufdQwzBk57iVLDOb1qs_Hwj1SWd1nukWyAo2-g5sR1folAEcao
\ No newline at end of file
index 0a30388..04428d9 100644 (file)
@@ -32,11 +32,6 @@ spec:
         release: {{ .Release.Name }}
     spec:
     {{ if .Values.global.installSidecarSecurity }}
-      hostAliases:
-      - ip: {{ .Values.global.aaf.serverIp }}
-        hostnames:
-        - {{ .Values.global.aaf.serverHostname }}
-
       initContainers:
         - name: {{ .Values.global.tproxyConfig.name }}
           image: "{{ include "common.repository" . }}/{{ .Values.global.tproxyConfig.image }}"
@@ -57,12 +52,14 @@ spec:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end }}
           readinessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
             - name: CONFIG_HOME
@@ -105,15 +102,15 @@ spec:
             name: {{ include "common.fullname" . }}-logback-config
             subPath: logback.xml
           resources:
-{{ include "common.resources" . | indent 12 }}
-        {{- if .Values.nodeSelector }}
-        nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-        {{- end -}}
-        {{- if .Values.affinity }}
-        affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-        {{- end }}
+{{ include "common.resources" . }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
 
         - name: filebeat-onap
           image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
@@ -154,18 +151,18 @@ spec:
           - name: {{ include "common.fullname" . }}-rproxy-log-config
             mountPath: /opt/app/rproxy/config/logback-spring.xml
             subPath: logback-spring.xml
-          - name: {{ include "common.fullname" . }}-rproxy-auth-config
+          - name: {{ include "common.fullname" . }}-rproxy-auth-certs
             mountPath: /opt/app/rproxy/config/auth/tomcat_keystore
             subPath: tomcat_keystore
-          - name: {{ include "common.fullname" . }}-rproxy-auth-config
+          - name: {{ include "common.fullname" . }}-rproxy-auth-certs
             mountPath: /opt/app/rproxy/config/auth/client-cert.p12
             subPath: client-cert.p12
+          - name: {{ include "common.fullname" . }}-rproxy-auth-certs
+            mountPath: /opt/app/rproxy/config/auth/org.onap.aai.p12
+            subPath: org.onap.aai.p12
           - name: {{ include "common.fullname" . }}-rproxy-auth-config
             mountPath: /opt/app/rproxy/config/auth/uri-authorization.json
             subPath: uri-authorization.json
-          - name: {{ include "common.fullname" . }}-rproxy-auth-config
-            mountPath: /opt/app/rproxy/config/auth/aaf_truststore.jks
-            subPath: aaf_truststore.jks
           - name: {{ include "common.fullname" . }}-rproxy-security-config
             mountPath: /opt/app/rproxy/config/security/keyfile
             subPath: keyfile
@@ -181,6 +178,8 @@ spec:
             value: "/opt/app/fproxy/config"
           - name: KEY_STORE_PASSWORD
             value: {{ .Values.config.keyStorePassword }}
+          - name: TRUST_STORE_PASSWORD
+            value: {{ .Values.config.trustStorePassword }}
           - name: spring_profiles_active
             value: {{ .Values.global.fproxy.activeSpringProfiles }}
           volumeMounts:
@@ -190,10 +189,13 @@ spec:
           - name: {{ include "common.fullname" . }}-fproxy-log-config
             mountPath: /opt/app/fproxy/config/logback-spring.xml
             subPath: logback-spring.xml
-          - name: {{ include "common.fullname" . }}-fproxy-auth-config
+          - name: {{ include "common.fullname" . }}-fproxy-auth-certs
             mountPath: /opt/app/fproxy/config/auth/tomcat_keystore
             subPath: tomcat_keystore
-          - name: {{ include "common.fullname" . }}-fproxy-auth-config
+          - name: {{ include "common.fullname" . }}-fproxy-auth-certs
+            mountPath: /opt/app/fproxy/config/auth/fproxy_truststore
+            subPath: fproxy_truststore
+          - name: {{ include "common.fullname" . }}-fproxy-auth-certs
             mountPath: /opt/app/fproxy/config/auth/client-cert.p12
             subPath: client-cert.p12
           ports:
@@ -245,18 +247,21 @@ spec:
         - name: {{ include "common.fullname" . }}-rproxy-auth-config
           secret:
             secretName: {{ include "common.fullname" . }}-rproxy-auth-config
+        - name: {{ include "common.fullname" . }}-rproxy-auth-certs
+          secret:
+            secretName: aai-rproxy-auth-certs
         - name: {{ include "common.fullname" . }}-rproxy-security-config
           secret:
-            secretName: {{ include "common.fullname" . }}-rproxy-security-config
+            secretName: aai-rproxy-security-config
         - name: {{ include "common.fullname" . }}-fproxy-config
           configMap:
             name: {{ include "common.fullname" . }}-fproxy-config
         - name: {{ include "common.fullname" . }}-fproxy-log-config
           configMap:
             name: {{ include "common.fullname" . }}-fproxy-log-config
-        - name: {{ include "common.fullname" . }}-fproxy-auth-config
+        - name: {{ include "common.fullname" . }}-fproxy-auth-certs
           secret:
-            secretName: {{ include "common.fullname" . }}-fproxy-auth-config
+            secretName: aai-fproxy-auth-certs
     {{ end }}
 
       imagePullSecrets:
index 7db7605..96c3424 100644 (file)
@@ -45,28 +45,10 @@ data:
 ---
 apiVersion: v1
 kind: Secret
-metadata:
-  name: {{ include "common.fullname" . }}-fproxy-auth-config
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/fproxy/config/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-rproxy-auth-config
   namespace: {{ include "common.namespace" . }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/rproxy/config/auth/*").AsSecrets . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.fullname" . }}-rproxy-security-config
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-{{ tpl (.Files.Glob "resources/rproxy/config/security/*").AsSecrets . | indent 2 }}
 {{ end }}
index 9d93663..9fbe852 100644 (file)
@@ -23,12 +23,13 @@ global:
 #################################################################
 
 # application image
-image: onap/gizmo:1.3.0
+image: onap/gizmo:1.4-STAGING-latest
 flavor: small
 # application configuration
 config:
   keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
   keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+  trustStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 
 # default number of instances
 replicaCount: 1
@@ -39,14 +40,16 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 60
+  timeoutSeconds: 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
+  initialDelaySeconds: 60
+  timeoutSeconds: 10
   periodSeconds: 10
 
 service:
index a052da8..7772ab0 100644 (file)
@@ -20,4 +20,4 @@
 apiVersion: v1
 description: ONAP AAI GraphAdmin
 name: aai-graphadmin
-version: 3.0.0
+version: 4.0.0
index 81a9c7b..c23c5fa 100644 (file)
@@ -45,9 +45,9 @@ server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
 
 server.port=8449
 server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
-server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }}
+server.ssl.key-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.keystore.filename }}
 server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
-server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }}
+server.ssl.trust-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.truststore.filename }}
 server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
 server.ssl.client-auth=want
 server.ssl.key-store-type=JKS
@@ -86,3 +86,14 @@ schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.lab
 # Specifies the version that the application should default to
 schema.version.api.default={{ .Values.global.config.schema.version.api.default }}
 
+schema.translator.list={{ .Values.global.config.schema.translator.list }}
+schema.service.base.url=https://aai-schema-service.{{ include "common.namespace" . }}:8452/aai/schema-service/v1/
+schema.service.nodes.endpoint=nodes?version=
+schema.service.edges.endpoint=edgerules?version=
+schema.service.versions.endpoint=versions
+schema.service.client={{ .Values.global.config.schema.service.client }}
+
+schema.service.ssl.key-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.keystore.filename }}
+schema.service.ssl.trust-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.truststore.filename }}
+schema.service.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
+schema.service.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
index 787fc64..e5e6ab5 100644 (file)
@@ -3,7 +3,7 @@
     ============LICENSE_START=======================================================
     org.onap.aai
     ================================================================================
-    Copyright 2018 AT&T Intellectual Property. All rights reserved.
+    Copyright 2019 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.
 
 -->
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
-       <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+  <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
 
-       <property resource="application.properties" />
+  <property resource="application.properties" />
 
-       <property name="namespace" value="graph-admin"/>
+  <property name="namespace" value="graph-admin"/>
 
-       <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
-       
-       <property name="logDirectory" value="${AJSC_HOME}/logs" />
-       <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-       <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-       <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-       <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
-       <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+  
+  <property name="logDirectory" value="${AJSC_HOME}/logs" />
+  <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
     <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
-       
+  
     <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
     <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
     <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-               <encoder>
-                       <pattern>
-                               %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
-                       </pattern>
-               </encoder>
-       </appender>
-
-       <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDirectory}/rest/sane.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder>
-                       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
-                       </pattern>
-               </encoder>
-       </appender>
-
-       <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>1000</queueSize>
-               <includeCallerData>true</includeCallerData>
-               <appender-ref ref="SANE" />
-       </appender>
-
-       <appender name="METRIC"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <file>${logDirectory}/rest/metrics.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>1000</queueSize>
-               <includeCallerData>true</includeCallerData>
-               <appender-ref ref="METRIC" />
-       </appender>
-
-       <appender name="DEBUG"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <file>${logDirectory}/rest/debug.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>1000</queueSize>
-               <includeCallerData>true</includeCallerData>
-               <appender-ref ref="DEBUG" />
-       </appender>
-
-       <appender name="ERROR"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <file>${logDirectory}/rest/error.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${"eelfErrorLogPattern"}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>1000</queueSize>
-               <includeCallerData>true</includeCallerData>
-               <appender-ref ref="ERROR" />
-       </appender>
-
-       <appender name="AUDIT"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDirectory}/rest/audit.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfAuditLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>1000</queueSize>
-               <includeCallerData>true</includeCallerData>
-               <appender-ref ref="AUDIT" />
-       </appender>
-
-       <appender name="translog"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <file>${logDirectory}/rest/translog.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfTransLogPattern}</pattern>
-               </encoder>
-       </appender>
-       
-       <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>1000</queueSize>
-               <includeCallerData>true</includeCallerData>
-               <appender-ref ref="translog" />
-       </appender>
-
-       <appender name="dmaapAAIEventConsumer"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${"eelfErrorLogPattern"}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dmaapAAIEventConsumerDebug"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-       <appender name="dmaapAAIEventConsumerMetric"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       <appender name="external"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <file>${logDirectory}/external/external.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
-                       </fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-       
-       <!-- DataGrooming logs started -->
-       <appender name="dataGrooming" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <File>${logDirectory}/dataGrooming/error.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataGrooming/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfErrorLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataGroomingdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dataGrooming/debug.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataGrooming/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataGroomingmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dataGrooming/metrics.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataGrooming/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       
-       <!-- DataGrooming logs ended -->
-       
-       <!-- DataSnapshot logs started -->
-       <appender name="dataSnapshot" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <File>${logDirectory}/dataSnapshot/error.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataSnapshot/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfErrorLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataSnapshotdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dataSnapshot/debug.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataSnapshot/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataSnapshotmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dataSnapshot/metrics.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataSnapshot/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       
-       <!-- DataSnapshot logs ended -->
-       
-       <!-- CreateDBSchema logs started  -->
-       <appender name="createDBSchema" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <File>${logDirectory}/createDBSchema/error.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/createDBSchema/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${"eelfErrorLogPattern"}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="createDBSchemadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/createDBSchema/debug.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/createDBSchema/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="createDBSchemametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/createDBSchema/metrics.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/createDBSchema/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       <!-- CreateDBSchema logs ended  -->     
-       
-       <!-- DataCleanupTasks logs started  -->
-       <appender name="dataCleanuperror" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <File>${logDirectory}/misc/error.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/misc/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${"eelfErrorLogPattern"}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataCleanupdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/misc/debug.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/misc/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataCleanupmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/misc/metrics.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/misc/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       <!-- DataCleanupTasks logs ended  -->   
-                       
-       <!-- pullInvData logs started -->
-       <appender name="pullInvData" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <File>${logDirectory}/pullInvData/error.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/pullInvData/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${"eelfErrorLogPattern"}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="pullInvDatadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/pullInvData/debug.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/pullInvData/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="pullInvDatametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/pullInvData/metrics.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/pullInvData/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       <!-- pullInvData logs ended -->
-                               <!-- DataGrooming logs started -->
-       <appender name="dataExportError" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <File>${logDirectory}/dataExport/error.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataExport/error.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfErrorLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataExportDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>DEBUG</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dataExport/debug.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataExport/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="dataExportMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.LevelFilter">
-                       <level>INFO</level>
-                       <onMatch>ACCEPT</onMatch>
-                       <onMismatch>DENY</onMismatch>
-               </filter>
-               <File>${logDirectory}/dataExport/metrics.log</File>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/dataExport/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
-               </rollingPolicy>
-               <encoder class="org.onap.aai.logging.EcompEncoder">
-                       <pattern>${eelfMetricLogPattern}</pattern>
-               </encoder>
-       </appender>
-       
-       <logger name="org.onap.aai" level="DEBUG" additivity="false">
-               <appender-ref ref="asyncDEBUG" />
-               <appender-ref ref="asyncERROR" />
-               <appender-ref ref="asyncMETRIC" />
-               <appender-ref ref="asyncSANE" />
-       </logger>
-
-       <!-- Spring related loggers -->
-       <logger name="org.springframework" level="WARN" />
-       <logger name="org.springframework.beans" level="WARN" />
-       <logger name="org.springframework.web" level="WARN" />
-       <logger name="com.blog.spring.jms" level="WARN" />
-       <logger name="com.jayway.jsonpath" level="WARN" />
-
-       <!-- AJSC Services (bootstrap services) -->
-       <logger name="ajsc" level="WARN" />
-       <logger name="ajsc.RouteMgmtService" level="WARN" />
-       <logger name="ajsc.ComputeService" level="WARN" />
-       <logger name="ajsc.VandelayService" level="WARN" />
-       <logger name="ajsc.FilePersistenceService" level="WARN" />
-       <logger name="ajsc.UserDefinedJarService" level="WARN" />
-       <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
-       <logger name="ajsc.LoggingConfigurationService" level="WARN" />
-
-       <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet 
-               logging) -->
-       <logger name="org.codehaus.groovy" level="WARN" />
-       <logger name="com.att.scamper" level="WARN" />
-       <logger name="ajsc.utils" level="WARN" />
-       <logger name="ajsc.utils.DME2Helper" level="WARN" />
-       <logger name="ajsc.filters" level="WARN" />
-       <logger name="ajsc.beans.interceptors" level="WARN" />
-       <logger name="ajsc.restlet" level="WARN" />
-       <logger name="ajsc.servlet" level="WARN" />
-       <logger name="com.att.ajsc" level="WARN" />
-       <logger name="com.att.ajsc.csi.logging" level="WARN" />
-       <logger name="com.att.ajsc.filemonitor" level="WARN" />
-       <logger name="com.netflix.loadbalancer" level="WARN" />
-
-       <logger name="org.apache.zookeeper" level="WARN" />
-
-       <!-- Other Loggers that may help troubleshoot -->
-       <logger name="net.sf" level="WARN" />
-       <logger name="org.apache.commons.httpclient" level="WARN" />
-       <logger name="org.apache.commons" level="WARN" />
-       <logger name="org.apache.coyote" level="WARN" />
-       <logger name="org.apache.jasper" level="WARN" />
-
-       <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
-               May aid in troubleshooting) -->
-       <logger name="org.apache.camel" level="WARN" />
-       <logger name="org.apache.cxf" level="WARN" />
-       <logger name="org.apache.camel.processor.interceptor" level="WARN" />
-       <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
-       <logger name="org.apache.cxf.service" level="WARN" />
-       <logger name="org.restlet" level="WARN" />
-       <logger name="org.apache.camel.component.restlet" level="WARN" />
-
-       <logger name="org.hibernate.validator" level="WARN" />
-       <logger name="org.hibernate" level="WARN" />
-       <logger name="org.hibernate.ejb" level="OFF" />
-
-       <!-- logback internals logging -->
-       <logger name="ch.qos.logback.classic" level="WARN" />
-       <logger name="ch.qos.logback.core" level="WARN" />
-
-       <logger name="org.eclipse.jetty" level="WARN" />
-
-       <!-- logback jms appenders & loggers definition starts here -->
-       <appender name="auditLogs"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-               <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
-               </file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                       <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
-                       </fileNamePattern>
-                       <minIndex>1</minIndex>
-                       <maxIndex>9</maxIndex>
-               </rollingPolicy>
-               <triggeringPolicy
-                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                       <maxFileSize>5MB</maxFileSize>
-               </triggeringPolicy>
-               <encoder>
-                       <pattern>eelfAuditLogPattern</pattern>
-               </encoder>
-       </appender>
-       <appender name="perfLogs"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-               <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
-               </file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                       <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
-                       </fileNamePattern>
-                       <minIndex>1</minIndex>
-                       <maxIndex>9</maxIndex>
-               </rollingPolicy>
-               <triggeringPolicy
-                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                       <maxFileSize>5MB</maxFileSize>
-               </triggeringPolicy>
-               <encoder>
-                       <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-               </encoder>
-       </appender>
-       <logger name="AuditRecord" level="INFO" additivity="false">
-               <appender-ref ref="auditLogs" />
-       </logger>
-       <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
-               <appender-ref ref="auditLogs" />
-       </logger>
-       <logger name="PerfTrackerRecord" level="INFO" additivity="false">
-               <appender-ref ref="perfLogs" />
-       </logger>
-       <!-- logback jms appenders & loggers definition ends here -->
-
-       <logger name="org.onap.aai.interceptors.post" level="DEBUG"
-                       additivity="false">
-               <appender-ref ref="asynctranslog" />
-       </logger>
-
-       <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
-               <appender-ref ref="asyncAUDIT"/>
-       </logger>
-
-       <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
-               <appender-ref ref="asyncAUDIT"/>
-       </logger>
-
-       <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
-               <appender-ref ref="dmaapAAIEventConsumer" />
-               <appender-ref ref="dmaapAAIEventConsumerDebug" />
-               <appender-ref ref="dmaapAAIEventConsumerMetric" />
-       </logger>
-
-       <logger name="org.onap.aai.datasnapshot" level="DEBUG" additivity="false">
-               <appender-ref ref="dataSnapshot"/>
-               <appender-ref ref="dataSnapshotdebug"/>
-               <appender-ref ref="dataSnapshotmetric"/>
-               <appender-ref ref="STDOUT"/>
-       </logger>
-
-       <logger name="org.onap.aai.datagrooming" level="DEBUG" additivity="false">
-               <appender-ref ref="dataGrooming"/>
-               <appender-ref ref="dataGroomingdebug"/>
-               <appender-ref ref="dataGroomingmetric"/>
-               <appender-ref ref="STDOUT"/>
-       </logger>
-
-       <logger name="org.onap.aai.schema" level="DEBUG" additivity="false">
-               <appender-ref ref="createDBSchema"/>
-               <appender-ref ref="createDBSchemadebug"/>
-               <appender-ref ref="createDBSchemametric"/>
-       </logger>
-
-       <logger name="org.onap.aai.dbgen" level="DEBUG" additivity="false">
-               <appender-ref ref="createDBSchema"/>
-               <appender-ref ref="createDBSchemadebug"/>
-               <appender-ref ref="createDBSchemametric"/>
-       </logger>
-
-       <logger name="org.onap.aai.dbgen.PullInvData" level="DEBUG" additivity="false">
-               <appender-ref ref="pullInvData"/>
-               <appender-ref ref="pullInvDatadebug"/>
-               <appender-ref ref="pullInvDatametric"/>
-       </logger>
-       
-       <logger name="org.onap.aai.datacleanup" level="INFO" additivity="false">
-       <appender-ref ref="dataCleanuperror" />
-       <appender-ref ref="dataCleanupdebug" />
-       <appender-ref ref="dataCleanupmetric" />
-       <appender-ref ref="STDOUT"/>
-       </logger>
-       <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false">
-               <appender-ref ref="dataExportError"/>
-               <appender-ref ref="dataExportDebug"/>
-               <appender-ref ref="dataExportMetric"/>
-               <appender-ref ref="STDOUT"/>
-       </logger>
-       <logger name="org.apache" level="WARN" />
-       <logger name="org.zookeeper" level="WARN" />
-       <logger name="com.netflix" level="WARN" />
-       <logger name="org.janusgraph" level="WARN" />
-       <logger name="com.att.aft.dme2" level="WARN" />
-
-       <!-- ============================================================================ -->
-       <!-- General EELF logger -->
-       <!-- ============================================================================ -->
-       <logger name="com.att.eelf" level="WARN" additivity="false">
-               <appender-ref ref="asyncDEBUG" />
-               <appender-ref ref="asyncERROR" />
-               <appender-ref ref="asyncMETRIC" />
-       </logger>
-
-       <root level="DEBUG">
-               <appender-ref ref="external" />
-               {{ if .Values.global.config.logback.console.enabled }}
-               <appender-ref ref="STDOUT" />
-               {{ end }}
-       </root>
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>
+        %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+      </pattern>
+    </encoder>
+  </appender>
+
+  <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/sane.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+      </pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="SANE" />
+  </appender>
+
+  <appender name="METRIC"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/metrics.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="METRIC" />
+  </appender>
+
+  <appender name="DEBUG"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/debug.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="DEBUG" />
+  </appender>
+
+  <appender name="ERROR"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/rest/error.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${"eelfErrorLogPattern"}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="ERROR" />
+  </appender>
+
+  <appender name="AUDIT"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/audit.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfAuditLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="AUDIT" />
+  </appender>
+
+  <appender name="translog"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/translog.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfTransLogPattern}</pattern>
+    </encoder>
+  </appender>
+  
+  <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="translog" />
+  </appender>
+
+  <appender name="dmaapAAIEventConsumer"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${"eelfErrorLogPattern"}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dmaapAAIEventConsumerDebug"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="dmaapAAIEventConsumerMetric"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="external"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/external/external.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  
+  <!-- DataGrooming logs started -->
+  <appender name="dataGrooming" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/dataGrooming/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataGrooming/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfErrorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataGroomingdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dataGrooming/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataGrooming/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataGroomingmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dataGrooming/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataGrooming/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  
+  <!-- DataGrooming logs ended -->
+  
+  <!-- DataSnapshot logs started -->
+  <appender name="dataSnapshot" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/dataSnapshot/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataSnapshot/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfErrorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataSnapshotdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dataSnapshot/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataSnapshot/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataSnapshotmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dataSnapshot/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataSnapshot/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  
+  <!-- DataSnapshot logs ended -->
+  
+  <!-- CreateDBSchema logs started  -->
+  <appender name="createDBSchema" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/createDBSchema/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/createDBSchema/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${"eelfErrorLogPattern"}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="createDBSchemadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/createDBSchema/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/createDBSchema/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="createDBSchemametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/createDBSchema/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/createDBSchema/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <!-- CreateDBSchema logs ended  -->  
+  
+  <!-- DataCleanupTasks logs started  -->
+  <appender name="dataCleanuperror" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/misc/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/misc/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${"eelfErrorLogPattern"}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataCleanupdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/misc/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/misc/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataCleanupmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/misc/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/misc/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <!-- DataCleanupTasks logs ended  -->  
+      
+  <!-- pullInvData logs started -->
+  <appender name="pullInvData" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/pullInvData/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/pullInvData/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${"eelfErrorLogPattern"}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="pullInvDatadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/pullInvData/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/pullInvData/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="pullInvDatametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/pullInvData/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/pullInvData/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <!-- pullInvData logs ended -->
+        <!-- DataGrooming logs started -->
+  <appender name="dataExportError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/dataExport/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataExport/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfErrorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataExportDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dataExport/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataExport/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="dataExportMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dataExport/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dataExport/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  
+  <logger name="org.onap.aai" level="DEBUG" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+    <appender-ref ref="asyncSANE" />
+    <appender-ref ref="STDOUT"/>
+  </logger>
+
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" />
+  <logger name="org.springframework.beans" level="WARN" />
+  <logger name="org.springframework.web" level="WARN" />
+  <logger name="com.blog.spring.jms" level="WARN" />
+  <logger name="com.jayway.jsonpath" level="WARN" />
+
+
+  <!-- logback internals logging -->
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+
+  <logger name="org.eclipse.jetty" level="WARN" />
+
+  <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+      additivity="false">
+    <appender-ref ref="asynctranslog" />
+  </logger>
+
+  <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+
+  <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+
+  <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+    <appender-ref ref="dmaapAAIEventConsumer" />
+    <appender-ref ref="dmaapAAIEventConsumerDebug" />
+    <appender-ref ref="dmaapAAIEventConsumerMetric" />
+  </logger>
+
+  <logger name="org.onap.aai.datasnapshot" level="DEBUG" additivity="false">
+    <appender-ref ref="dataSnapshot"/>
+    <appender-ref ref="dataSnapshotdebug"/>
+    <appender-ref ref="dataSnapshotmetric"/>
+    <appender-ref ref="STDOUT"/>
+  </logger>
+
+  <logger name="org.onap.aai.datagrooming" level="DEBUG" additivity="false">
+    <appender-ref ref="dataGrooming"/>
+    <appender-ref ref="dataGroomingdebug"/>
+    <appender-ref ref="dataGroomingmetric"/>
+    <appender-ref ref="STDOUT"/>
+  </logger>
+
+  <logger name="org.onap.aai.schema" level="DEBUG" additivity="false">
+    <appender-ref ref="createDBSchema"/>
+    <appender-ref ref="createDBSchemadebug"/>
+    <appender-ref ref="createDBSchemametric"/>
+    <appender-ref ref="STDOUT" />
+  </logger>
+
+  <logger name="org.onap.aai.dbgen" level="DEBUG" additivity="false">
+    <appender-ref ref="createDBSchema"/>
+    <appender-ref ref="createDBSchemadebug"/>
+    <appender-ref ref="createDBSchemametric"/>
+    <appender-ref ref="STDOUT" />
+  </logger>
+
+  <logger name="org.onap.aai.dbgen.PullInvData" level="DEBUG" additivity="false">
+    <appender-ref ref="pullInvData"/>
+    <appender-ref ref="pullInvDatadebug"/>
+    <appender-ref ref="pullInvDatametric"/>
+  </logger>
+  
+  <logger name="org.onap.aai.datacleanup" level="INFO" additivity="false">
+  <appender-ref ref="dataCleanuperror" />
+  <appender-ref ref="dataCleanupdebug" />
+  <appender-ref ref="dataCleanupmetric" />
+  <appender-ref ref="STDOUT"/>
+  </logger>
+  <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false">
+    <appender-ref ref="dataExportError"/>
+    <appender-ref ref="dataExportDebug"/>
+    <appender-ref ref="dataExportMetric"/>
+    <appender-ref ref="STDOUT"/>
+  </logger>
+  <logger name="org.apache" level="WARN" />
+  <logger name="org.zookeeper" level="WARN" />
+  <logger name="com.netflix" level="WARN" />
+  <logger name="org.janusgraph" level="WARN" />
+  <logger name="com.att.aft.dme2" level="WARN" />
+
+  <!-- ============================================================================ -->
+  <!-- General EELF logger -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="WARN" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+  </logger>
+
+  <root level="DEBUG">
+    <appender-ref ref="external" />
+    {{ if .Values.global.config.logback.console.enabled }}
+    <appender-ref ref="STDOUT" />
+    {{ end }}
+  </root>
 </configuration>
index 869eac0..b595ac8 100644 (file)
@@ -55,6 +55,8 @@ spec:
         args:
         - --container-name
         - aai-cassandra
+        - --container-name
+        - aai-schema-service
       {{  end  }}
         env:
         - name: NAMESPACE
@@ -72,9 +74,9 @@ spec:
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: LOCAL_USER_ID
-          value: {{ .Values.config.userId | quote }}
+          value: {{ .Values.global.config.userId | quote }}
         - name: LOCAL_GROUP_ID
-          value: {{ .Values.config.groupId | quote }}
+          value: {{ .Values.global.config.groupId | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -126,7 +128,7 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 8 }}
@@ -183,7 +185,7 @@ spec:
          name: {{ include "common.fullname" . }}-realm-configmap
       - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-truststore-secret
+         secretName: aai-common-truststore
          items:
           {{ range $job := .Values.global.config.auth.files }}
            - key: {{ . }}
index cdcf2b1..a62202b 100644 (file)
@@ -49,8 +49,6 @@ spec:
         app: {{ include "common.name" . }}-job
         release: {{ .Release.Name }}
       name: {{ include "common.name" . }}
-      annotations:
-        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
     spec:
       initContainers:
       - command:
@@ -58,6 +56,8 @@ spec:
         args:
         - --container-name
         - aai-cassandra
+        - --container-name
+        - aai-schema-service
         env:
         - name: NAMESPACE
           valueFrom:
@@ -93,7 +93,7 @@ spec:
         - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/aaiconfig.properties
           name: {{ include "common.fullname" . }}-aaiconfig-conf
           subPath: aaiconfig.properties
-        - mountPath: /opt/aai/logroot/AAI-RES
+        - mountPath: /opt/aai/logroot/AAI-GA
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /opt/app/aai-graphadmin/resources/logback.xml
           name: {{ include "common.fullname" . }}-log-conf
@@ -111,7 +111,7 @@ spec:
           subPath: {{ . }}
           {{ end }}
         resources:
-{{ include "common.resources" . | indent 10 }}
+{{ include "common.resources" . }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 8 }}
@@ -128,7 +128,8 @@ spec:
         configMap:
           name: aai-filebeat
       - name: {{ include "common.fullname" . }}-logs
-        emptyDir: {}
+        hostPath:
+          path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}-create-db-schema
       - name: {{ include "common.fullname" . }}-filebeat
         emptyDir: {}
       - name: {{ include "common.fullname" . }}-log-conf
@@ -154,7 +155,7 @@ spec:
          name: {{ include "common.fullname" . }}-realm-configmap
       - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-truststore-secret
+         secretName: aai-common-truststore
          items:
           {{ range $job := .Values.global.config.auth.files }}
            - key: {{ . }}
index b6192c3..bdcb82c 100644 (file)
@@ -28,7 +28,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aai-graphadmin:1.0.1
+image: onap/aai-graphadmin:1.1-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
@@ -107,6 +107,10 @@ service:
 ingress:
   enabled: false
 
+persistence:
+  mountPath: /dockerdata-nfs
+  mountSubPath: aai/aai-graphadmin
+
 resources:
   small:
     limits:
index e2b0027..908e11b 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAI modelloader
 name: aai-modelloader
-version: 3.0.0
+version: 4.0.0
index 3a81168..f34693f 100644 (file)
@@ -35,6 +35,14 @@ spec:
         release: {{ .Release.Name }}
       name: {{ include "common.name" . }}
     spec:
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -60,7 +68,7 @@ spec:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
 
       # side car containers
       - name: filebeat-onap
@@ -74,6 +82,8 @@ spec:
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
           name: aai-filebeat
+        resources:
+{{ include "common.resources" . }}
       volumes:
       - name: localtime
         hostPath:
index 32a3482..6084ca3 100644 (file)
@@ -17,6 +17,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
index 2954c7f..12464b5 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP AAI resources
 name: aai-resources
-version: 3.0.0
+version: 4.0.0
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks b/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks
deleted file mode 100644 (file)
index 2da1dcc..0000000
Binary files a/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks and /dev/null differ
index 4b5ab07..f2e7caa 100644 (file)
@@ -69,7 +69,7 @@ aai.logging.trace.logresponse=false
 
 aai.transaction.logging=true
 aai.transaction.logging.get=false
-aai.transaction.logging.post=false
+aai.transaction.logging.post=true
 
 aai.realtime.clients={{ .Values.global.config.realtime.clients }}
 
index c8648e4..7237c56 100644 (file)
@@ -40,9 +40,9 @@ server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
 
 server.port=8447
 server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
-server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }}
+server.ssl.key-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.keystore.filename }}
 server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
-server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }}
+server.ssl.trust-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.truststore.filename }}
 server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
 server.ssl.client-auth=want
 server.ssl.key-store-type=JKS
@@ -81,3 +81,14 @@ schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.lab
 # Specifies the version that the application should default to
 schema.version.api.default={{ .Values.global.config.schema.version.api.default }}
 
+schema.translator.list={{ .Values.global.config.schema.translator.list }}
+schema.service.base.url=https://aai-schema-service.{{ include "common.namespace" . }}:8452/aai/schema-service/v1/
+schema.service.nodes.endpoint=nodes?version=
+schema.service.edges.endpoint=edgerules?version=
+schema.service.versions.endpoint=versions
+schema.service.client={{ .Values.global.config.schema.service.client }}
+
+schema.service.ssl.key-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.keystore.filename }}
+schema.service.ssl.trust-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.truststore.filename }}
+schema.service.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
+schema.service.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
index 9a7216c..0afc6f9 100644 (file)
 <!--
-    ============LICENSE_START=======================================================
-    org.onap.aai
-    ================================================================================
-    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-    Modifications Copyright © 2018 Amdocs, Bell Canada
-    ================================================================================
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-       http://www.apache.org/licenses/LICENSE-2.0
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-    ============LICENSE_END=========================================================
-    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  ============LICENSE_START=======================================================
+  org.onap.aai
+  ================================================================================
+  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright © 2018 Amdocs, Bell Canada
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  ============LICENSE_END=========================================================
+  ECOMP is a trademark and service mark of AT&T Intellectual Property.
 -->
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
-    <property resource="application.properties" />
-    <property name="namespace" value="aai-resources"/>
-    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
-    <jmxConfigurator />
-    <property name="logDirectory" value="${AJSC_HOME}/logs" />
-    <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
-    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>
-                %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
-            </pattern>
-        </encoder>
-    </appender>
-    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${logDirectory}/rest/sane.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
-        </rollingPolicy>
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
-            </pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="SANE" />
-    </appender>
-    <appender name="METRIC"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${logDirectory}/rest/metrics.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfMetricLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="METRIC" />
-    </appender>
-    <appender name="DEBUG"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${logDirectory}/rest/debug.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="DEBUG" />
-    </appender>
-    <appender name="ERROR"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <file>${logDirectory}/rest/error.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfErrorLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="ERROR" />
-    </appender>
-    <appender name="AUDIT"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${logDirectory}/rest/audit.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfAuditLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="AUDIT" />
-    </appender>
-    <appender name="translog"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${logDirectory}/rest/translog.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfTransLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="translog" />
-    </appender>
-    <appender name="dmaapAAIEventConsumer"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="dmaapAAIEventConsumerDebug"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="dmaapAAIEventConsumerMetric"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfMetricLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="external"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <file>${logDirectory}/external/external.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <logger name="org.onap.aai" level="DEBUG" additivity="false">
-        <appender-ref ref="asyncDEBUG" />
-        <appender-ref ref="asyncERROR" />
-        <appender-ref ref="asyncMETRIC" />
-        <appender-ref ref="asyncSANE" />
-    </logger>
-    <!-- Spring related loggers -->
-    <logger name="org.springframework" level="WARN" />
-    <logger name="org.springframework.beans" level="WARN" />
-    <logger name="org.springframework.web" level="WARN" />
-    <logger name="com.blog.spring.jms" level="WARN" />
-    <logger name="com.jayway.jsonpath" level="WARN" />
-    <!-- AJSC Services (bootstrap services) -->
-    <logger name="ajsc" level="WARN" />
-    <logger name="ajsc.RouteMgmtService" level="WARN" />
-    <logger name="ajsc.ComputeService" level="WARN" />
-    <logger name="ajsc.VandelayService" level="WARN" />
-    <logger name="ajsc.FilePersistenceService" level="WARN" />
-    <logger name="ajsc.UserDefinedJarService" level="WARN" />
-    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
-    <logger name="ajsc.LoggingConfigurationService" level="WARN" />
-    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
-        logging) -->
-    <logger name="org.codehaus.groovy" level="WARN" />
-    <logger name="com.att.scamper" level="WARN" />
-    <logger name="ajsc.utils" level="WARN" />
-    <logger name="ajsc.utils.DME2Helper" level="WARN" />
-    <logger name="ajsc.filters" level="WARN" />
-    <logger name="ajsc.beans.interceptors" level="WARN" />
-    <logger name="ajsc.restlet" level="WARN" />
-    <logger name="ajsc.servlet" level="WARN" />
-    <logger name="com.att.ajsc" level="WARN" />
-    <logger name="com.att.ajsc.csi.logging" level="WARN" />
-    <logger name="com.att.ajsc.filemonitor" level="WARN" />
-    <logger name="com.netflix.loadbalancer" level="WARN" />
-    <logger name="org.apache.zookeeper" level="OFF" />
-    <!-- Other Loggers that may help troubleshoot -->
-    <logger name="net.sf" level="WARN" />
-    <logger name="org.apache.commons.httpclient" level="WARN" />
-    <logger name="org.apache.commons" level="WARN" />
-    <logger name="org.apache.coyote" level="WARN" />
-    <logger name="org.apache.jasper" level="WARN" />
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
-        May aid in troubleshooting) -->
-    <logger name="org.apache.camel" level="WARN" />
-    <logger name="org.apache.cxf" level="WARN" />
-    <logger name="org.apache.camel.processor.interceptor" level="WARN" />
-    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
-    <logger name="org.apache.cxf.service" level="WARN" />
-    <logger name="org.restlet" level="WARN" />
-    <logger name="org.apache.camel.component.restlet" level="WARN" />
-    <logger name="org.hibernate.validator" level="WARN" />
-    <logger name="org.hibernate" level="WARN" />
-    <logger name="org.hibernate.ejb" level="OFF" />
-    <!-- logback internals logging -->
-    <logger name="ch.qos.logback.classic" level="WARN" />
-    <logger name="ch.qos.logback.core" level="WARN" />
-    <logger name="org.eclipse.jetty" level="WARN" />
-    <!-- logback jms appenders & loggers definition starts here -->
-    <appender name="auditLogs"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
-        </file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
-            </fileNamePattern>
-            <minIndex>1</minIndex>
-            <maxIndex>9</maxIndex>
-        </rollingPolicy>
-        <triggeringPolicy
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-            <maxFileSize>5MB</maxFileSize>
-        </triggeringPolicy>
-        <encoder>
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-        </encoder>
-    </appender>
-    <appender name="perfLogs"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
-        </file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
-            </fileNamePattern>
-            <minIndex>1</minIndex>
-            <maxIndex>9</maxIndex>
-        </rollingPolicy>
-        <triggeringPolicy
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-            <maxFileSize>5MB</maxFileSize>
-        </triggeringPolicy>
-        <encoder>
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-        </encoder>
-    </appender>
-    <logger name="AuditRecord" level="INFO" additivity="false">
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger name="PerfTrackerRecord" level="INFO" additivity="false">
-        <appender-ref ref="perfLogs" />
-    </logger>
-    <!-- logback jms appenders & loggers definition ends here -->
-    <logger name="org.onap.aai.interceptors.post" level="DEBUG"
-            additivity="false">
-        <appender-ref ref="asynctranslog" />
-    </logger>
-    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
-        <appender-ref ref="asyncAUDIT"/>
-    </logger>
-    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
-        <appender-ref ref="asyncAUDIT"/>
-    </logger>
-    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
-        <appender-ref ref="dmaapAAIEventConsumer" />
-        <appender-ref ref="dmaapAAIEventConsumerDebug" />
-        <appender-ref ref="dmaapAAIEventConsumerMetric" />
-    </logger>
-    <logger name="org.apache" level="OFF" />
-    <logger name="org.zookeeper" level="OFF" />
-    <logger name="com.thinkaurelius" level="WARN" />
-    <logger name="com.att.aft.dme2" level="WARN" />
-    <!-- ============================================================================ -->
-    <!-- General EELF logger -->
-    <!-- ============================================================================ -->
-    <logger name="com.att.eelf" level="WARN" additivity="false">
-        <appender-ref ref="asyncDEBUG" />
-        <appender-ref ref="asyncERROR" />
-        <appender-ref ref="asyncMETRIC" />
-    </logger>
-    <root level="DEBUG">
-        <appender-ref ref="external" />
-        {{ if .Values.global.config.logback.console.enabled }}
-        <appender-ref ref="STDOUT" />
-        {{ end }}
-    </root>
+  <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+  <property resource="application.properties" />
+  <property name="namespace" value="aai-resources"/>
+  <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+  <jmxConfigurator />
+  <property name="logDirectory" value="${AJSC_HOME}/logs" />
+  <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+  <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+  <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+  <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>
+        %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+      </pattern>
+    </encoder>
+  </appender>
+  <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/sane.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+      </pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="SANE" />
+  </appender>
+  <appender name="METRIC"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/metrics.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="METRIC" />
+  </appender>
+  <appender name="DEBUG"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/debug.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="DEBUG" />
+  </appender>
+  <appender name="ERROR"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/rest/error.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfErrorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="ERROR" />
+  </appender>
+  <appender name="AUDIT"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/audit.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfAuditLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="AUDIT" />
+  </appender>
+  <appender name="translog"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/translog.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfTransLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="translog" />
+  </appender>
+  <appender name="dmaapAAIEventConsumer"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="dmaapAAIEventConsumerDebug"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="dmaapAAIEventConsumerMetric"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="external"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/external/external.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <logger name="org.onap.aai" level="DEBUG" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+    <appender-ref ref="asyncSANE" />
+    <appender-ref ref="STDOUT" />
+  </logger>
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" />
+  <logger name="org.springframework.beans" level="WARN" />
+  <logger name="org.springframework.web" level="WARN" />
+  <logger name="com.blog.spring.jms" level="WARN" />
+  <logger name="com.jayway.jsonpath" level="WARN" />
+
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+  <logger name="org.eclipse.jetty" level="WARN" />
+
+  <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+      additivity="false">
+    <appender-ref ref="asynctranslog" />
+  </logger>
+  <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+  <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+  <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+    <appender-ref ref="dmaapAAIEventConsumer" />
+    <appender-ref ref="dmaapAAIEventConsumerDebug" />
+    <appender-ref ref="dmaapAAIEventConsumerMetric" />
+  </logger>
+  <logger name="org.apache" level="OFF" />
+  <logger name="org.zookeeper" level="OFF" />
+  <logger name="com.thinkaurelius" level="WARN" />
+  <logger name="com.att.aft.dme2" level="WARN" />
+  <!-- ============================================================================ -->
+  <!-- General EELF logger -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="WARN" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+  </logger>
+  <root level="DEBUG">
+    <appender-ref ref="external" />
+    {{ if .Values.global.config.logback.console.enabled }}
+    <appender-ref ref="STDOUT" />
+    {{ end }}
+  </root>
 </configuration>
index 4fae434..9a08348 100644 (file)
@@ -40,9 +40,6 @@
     </root>
  
     <!-- LOG "com.baeldung*" at TRACE level -->
-    <logger name="org.onap.aaf.fproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <logger name="org.onap.aaf.fproxy" level="info" />
  
 </configuration>
\ No newline at end of file
index 57bc4e2..799fd86 100644 (file)
     </appender>
      
     <!-- LOG everything at INFO level -->
-    <root level="debug">
+    <root level="info">
         <appender-ref ref="RollingFile" />
         <appender-ref ref="Console" />
     </root>
  
     <!-- LOG "com.baeldung*" at TRACE level  -->
-    <logger name="org.onap.aaf.rproxy" level="trace" additivity="false">
-        <appender-ref ref="RollingFile" />
-        <appender-ref ref="Console" />
-    </logger>
+    <logger name="org.onap.aaf.rproxy" level="info" />
  
 </configuration>
index 4fd939d..b5a7fc5 100644 (file)
@@ -134,7 +134,6 @@ type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }}
-{{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/aaf/bath_config.csv").AsSecrets . | indent 2 }}
 
 {{ if .Values.global.installSidecarSecurity }}
index d93ab5a..d4f0111 100644 (file)
@@ -563,6 +563,8 @@ spec:
         args:
         - --container-name
         - aai-cassandra
+        - --container-name
+        - aai-schema-service
       {{  end  }}
         env:
         - name: NAMESPACE
@@ -641,7 +643,7 @@ spec:
           name: {{ include "common.fullname" . }}-aaf-certs
           subPath: org.onap.aai.p12
         - mountPath: /opt/app/aai-resources/resources/aaf/truststoreONAPall.jks
-          name: {{ include "common.fullname" . }}-aaf-certs
+          name: aai-common-aai-auth-mount
           subPath: truststoreONAPall.jks
         - mountPath: /opt/app/aai-resources/resources/application.properties
           name: {{ include "common.fullname" . }}-springapp-conf
@@ -670,7 +672,7 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 8 }}
@@ -692,6 +694,8 @@ spec:
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
           name: {{ include "common.fullname" . }}-filebeat
+        resources:
+{{ include "common.resources" . }}
     {{ if .Values.global.installSidecarSecurity }}
       - name: {{ .Values.global.rproxy.name }}
         image: "{{ include "common.repository" . }}/{{ .Values.global.rproxy.image }}"
@@ -773,6 +777,9 @@ spec:
     {{ end }}
 
       volumes:
+      - name: aai-common-aai-auth-mount
+        secret:
+          secretName: aai-common-aai-auth
       - name: localtime
         hostPath:
           path: /etc/localtime
@@ -812,7 +819,7 @@ spec:
          name: {{ include "common.fullname" . }}-realm-configmap
       - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-truststore-secret
+         secretName: aai-common-truststore
          items:
           {{ range $job := .Values.global.config.auth.files }}
            - key: {{ . }}
index e0a1156..ea40973 100644 (file)
@@ -22,7 +22,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aai-resources:1.3.4
+image: onap/aai-resources:1.4-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
diff --git a/kubernetes/aai/charts/aai-schema-service/.helmignore b/kubernetes/aai/charts/aai-schema-service/.helmignore
new file mode 100644 (file)
index 0000000..daebc7d
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.\r
+# This supports shell glob matching, relative path matching, and\r
+# negation (prefixed with !). Only one pattern per line.\r
+.DS_Store\r
+# Common VCS dirs\r
+.git/\r
+.gitignore\r
+.bzr/\r
+.bzrignore\r
+.hg/\r
+.hgignore\r
+.svn/\r
+# Common backup files\r
+*.swp\r
+*.bak\r
+*.tmp\r
+*~\r
+# Various IDEs\r
+.project\r
+.idea/\r
+*.tmproj\r
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -12,7 +12,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+
 apiVersion: v1
-description: ONAP DMaaP Data Router
-name: dmaap-data-router
-version: 1.0
+description: ONAP AAI Schema Service
+name: aai-schema-service
+version: 4.0.0
diff --git a/kubernetes/aai/charts/aai-schema-service/config/aaiconfig.properties b/kubernetes/aai/charts/aai-schema-service/config/aaiconfig.properties
new file mode 100644 (file)
index 0000000..2172d71
--- /dev/null
@@ -0,0 +1,43 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/
+aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/{{ .Values.global.config.schema.version.api.default }}/
+aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/
+
+{{ if .Values.global.config.basic.auth.enabled }}
+aai.tools.enableBasicAuth=true
+aai.tools.username={{ .Values.global.config.basic.auth.username }}
+aai.tools.password={{ .Values.global.config.basic.auth.passwd }}
+{{ end }}
+
+aai.truststore.filename={{ .Values.global.config.truststore.filename }}
+aai.truststore.passwd.x={{ .Values.global.config.truststore.passwd }}
+aai.keystore.filename={{ .Values.global.config.keystore.filename }}
+aai.keystore.passwd.x={{ .Values.global.config.keystore.passwd }}
+
+aai.default.api.version={{ .Values.global.config.schema.version.api.default }}
+
+aai.logging.trace.enabled=true
+aai.logging.trace.logrequest=false
+aai.logging.trace.logresponse=false
+
+aai.transaction.logging=true
+aai.transaction.logging.get=false
+aai.transaction.logging.post=false
diff --git a/kubernetes/aai/charts/aai-schema-service/config/application.properties b/kubernetes/aai/charts/aai-schema-service/config/application.properties
new file mode 100644 (file)
index 0000000..7b9312f
--- /dev/null
@@ -0,0 +1,70 @@
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# The following info parameters are being referenced by ajsc6
+info.build.artifact=aai-schema-service
+info.build.name=schema-service
+info.build.description=Schema Service Microservice
+info.build.version=1.1.0
+
+spring.application.name=aai-schema-service
+spring.jersey.type=filter
+
+server.contextPath=/
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
+
+spring.profiles.active={{ .Values.global.config.profiles.active }}
+spring.jersey.application-path=${schema.uri.base.path}
+server.tomcat.max-threads=200
+server.tomcat.min-Spare-Threads=25
+server.tomcat.max-idle-time=60000
+
+server.local.startpath=aai-schema-service/src/main/resources/
+server.basic.auth.location=${server.local.startpath}/etc/auth/realm.properties
+
+server.port=8452
+server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
+server.ssl.key-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.keystore.filename }}
+server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
+server.ssl.trust-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.truststore.filename }}
+server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
+server.ssl.client-auth=want
+server.ssl.key-store-type=JKS
+
+schema.configuration.location=N/A
+schema.source.name={{ .Values.global.config.schema.source.name }}
+schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/
+schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/
+schema.query.location=${server.local.startpath}/schema/${schema.source.name}/query/
+
+schema.ingest.file=${server.local.startpath}/application.properties
+
+# Schema Version Related Attributes
+schema.uri.base.path={{ .Values.global.config.schema.uri.base.path }}/schema-service
+# Lists all of the versions in the schema
+schema.version.list={{ .Values.global.config.schema.version.list }}
+# Specifies from which version should the depth parameter to default to zero
+schema.version.depth.start={{ .Values.global.config.schema.version.depth }}
+# Specifies from which version should the related link be displayed in response payload
+schema.version.related.link.start={{ .Values.global.config.schema.version.related.link }}
+
+# Specifies from which version should the client see only the uri excluding host info
+# Before this version server base will also be included
+schema.version.app.root.start={{ .Values.global.config.schema.version.app.root }}
+# Specifies from which version should the namespace be changed
+schema.version.namespace.change.start={{ .Values.global.config.schema.version.namespace.change }}
+# Specifies from which version should the client start seeing the edge label in payload
+schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.label }}
+# Specifies the version that the application should default to
+schema.version.api.default={{ .Values.global.config.schema.version.api.default }}
diff --git a/kubernetes/aai/charts/aai-schema-service/config/localhost-access-logback.xml b/kubernetes/aai/charts/aai-schema-service/config/localhost-access-logback.xml
new file mode 100644 (file)
index 0000000..447f239
--- /dev/null
@@ -0,0 +1,58 @@
+<!--
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+-->
+<configuration>
+       <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+       <appender name="ACCESS"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
+                       <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>
+               </encoder>
+       </appender>
+       <appender-ref ref="ACCESS" />
+</configuration>
+
+<!-- 
+%a - Remote IP address
+%A - Local IP address
+%b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
+%B - Bytes sent, excluding HTTP headers
+%h - Remote host name
+%H - Request protocol
+%l - Remote logical username from identd (always returns '-')
+%m - Request method
+%p - Local port
+%q - Query string (prepended with a '?' if it exists, otherwise an empty string
+%r - First line of the request
+%s - HTTP status code of the response
+%S - User session ID
+%t - Date and time, in Common Log Format format
+%u - Remote user that was authenticated
+%U - Requested URL path
+%v - Local server name
+%I - current request thread name (can compare later with stacktraces)
+
+%z - Custom pattern that parses the cert for the subject
+%y - Custom pattern determines rest or dme2
+ -->
diff --git a/kubernetes/aai/charts/aai-schema-service/config/logback.xml b/kubernetes/aai/charts/aai-schema-service/config/logback.xml
new file mode 100644 (file)
index 0000000..f10546a
--- /dev/null
@@ -0,0 +1,237 @@
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+  <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+  <property resource="application.properties" />
+  <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+  <jmxConfigurator />
+  <property name="logDirectory" value="${AJSC_HOME}/logs" />
+  <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+  <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+  <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+  <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>
+        %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+      </pattern>
+    </encoder>
+  </appender>
+  <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/sane.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+      </pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="SANE" />
+  </appender>
+  <appender name="METRIC"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/metrics.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="METRIC" />
+  </appender>
+  <appender name="DEBUG"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/debug.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="DEBUG" />
+  </appender>
+  <appender name="ERROR"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/rest/error.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfErrorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="ERROR" />
+  </appender>
+  <appender name="AUDIT"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/audit.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfAuditLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="AUDIT" />
+  </appender>
+  <appender name="translog"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/translog.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfTransLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="translog" />
+  </appender>
+  <appender name="dmaapAAIEventConsumer"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="dmaapAAIEventConsumerDebug"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="dmaapAAIEventConsumerMetric"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="external"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/external/external.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <logger name="org.onap.aai.schemaservice" level="DEBUG" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+    <appender-ref ref="asyncSANE" />
+    <appender-ref ref="STDOUT" />
+  </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" />
+  <!-- logback internals logging -->
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+  <logger name="org.eclipse.jetty" level="WARN" />
+
+  <logger name="org.onap.aai.schemaservice.interceptors.post" level="DEBUG"
+      additivity="false">
+    <appender-ref ref="asynctranslog" />
+  </logger>
+  <logger name="org.onap.aai.schemaservice.interceptors.pre.SetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+  <logger name="org.onap.aai.schemaservice.interceptors.post.ResetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+  <!-- ============================================================================ -->
+  <!-- General EELF logger -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="WARN" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+  </logger>
+  <root level="DEBUG">
+    <appender-ref ref="external" />
+    {{ if .Values.global.config.logback.console.enabled }}
+    <appender-ref ref="STDOUT" />
+    {{ end }}
+  </root>
+</configuration>
diff --git a/kubernetes/aai/charts/aai-schema-service/config/realm.properties b/kubernetes/aai/charts/aai-schema-service/config/realm.properties
new file mode 100644 (file)
index 0000000..988bb24
--- /dev/null
@@ -0,0 +1,22 @@
+AAI:OBF:1gfr1ev31gg7,admin
+MSO:OBF:1jzx1lz31k01,admin
+SDNC:OBF:1itr1i0l1i151isv,admin
+DCAE:OBF:1g8u1f9d1f991g8w,admin
+POLICY:OBF:1mk61i171ima1im41i0j1mko,admin
+ASDC:OBF:1f991j0u1j001f9d,admin
+VID:OBF:1jm91i0v1jl9,admin
+APPC:OBF:1f991ksf1ksf1f9d,admin
+ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin
+AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin
+OOF:OBF:1img1ke71ily,admin
+aai@aai.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+so@so.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdnc@sdnc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+dcae@dcae.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+policy@policy.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+sdc@sdc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+vid@vid.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+appc@appc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+oof@oof.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+pomba@pomba.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
+vfc@vfc.onap.org:OBF:1fia1ju61l871lfe18xp18xr18xt1lc41l531jrk1fek,admin
diff --git a/kubernetes/aai/charts/aai-schema-service/templates/configmap.yaml b/kubernetes/aai/charts/aai-schema-service/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..91a831a
--- /dev/null
@@ -0,0 +1,78 @@
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "config/logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "config/localhost-access-logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaiconfig-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "config/aaiconfig.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-springapp-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "config/application.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-realm-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "config/realm.properties").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-schema-service/templates/deployment.yaml b/kubernetes/aai/charts/aai-schema-service/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..bd9a85f
--- /dev/null
@@ -0,0 +1,155 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+      annotations:
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+    spec:
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: LOCAL_USER_ID
+          value: {{ .Values.global.config.userId | quote }}
+        - name: LOCAL_GROUP_ID
+          value: {{ .Values.global.config.groupId | quote }}
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /opt/app/aai-schema-service/resources/etc/appprops/aaiconfig.properties
+          name: aaiconfig-conf
+          subPath: aaiconfig.properties
+        - mountPath: /opt/aai/logroot/AAI-SCHEMA-SERVICE
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-schema-service/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
+          subPath: logback.xml
+        - mountPath: /opt/app/aai-schema-service/resources/localhost-access-logback.xml
+          name: localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-schema-service/resources/etc/auth/realm.properties
+          name: realm-conf
+          subPath: realm.properties
+        - mountPath: /opt/app/aai-schema-service/resources/application.properties
+          name: springapp-conf
+          subPath: application.properties
+          {{ $global := . }}
+          {{ range $job := .Values.global.config.auth.files }}
+        - mountPath: /opt/app/aai-schema-service/resources/etc/auth/{{ . }}
+          name: auth-truststore-sec
+          subPath: {{ . }}
+          {{ end }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        - containerPort: {{ .Values.service.internalPort2 }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{ if .Values.liveness.enabled }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end }}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        resources:
+{{ include "common.resources" . | indent 12 }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
+
+      # side car containers
+      - name: filebeat-onap
+        image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - mountPath: /usr/share/filebeat/filebeat.yml
+          subPath: filebeat.yml
+          name: filebeat-conf
+        - mountPath: /var/log/onap
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /usr/share/filebeat/data
+          name: {{ include "common.fullname" . }}-filebeat
+      volumes:
+      - name: aai-common-aai-auth-mount
+        secret:
+          secretName: aai-common-aai-auth
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: filebeat-conf
+        configMap:
+          name: aai-filebeat
+      - name: {{ include "common.fullname" . }}-logs
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-log
+      - name: localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: realm-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: auth-truststore-sec
+        secret:
+         secretName: aai-common-truststore
+         items:
+          {{ range $job := .Values.global.config.auth.files }}
+           - key: {{ . }}
+             path: {{ . }}
+          {{ end }}
+      restartPolicy: {{ .Values.restartPolicy }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{.Values.global.config.mariadb.name}}
+  name: {{ include "common.servicename" . }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -23,16 +23,22 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
-  type: {{.Values.global.config.mariadb.servicetype}}
+  type: {{ .Values.service.type }}
   ports:
-    {{if eq .Values.global.config.mariadb.servicetype "NodePort" -}}
-    - port: {{.Values.global.config.mariadb.internalPort}}
-      nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
-    {{- else -}}
-    - port: {{.Values.global.config.mariadb.externalPort}}
-      targetPort: {{.Values.global.config.mariadb.internalPort}}
-    {{- end}}
-      name: {{.Values.global.config.mariadb.name}}
+  {{if eq .Values.service.type "NodePort" -}}
+  - port: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+    name: {{ .Values.service.portName }}
+  - port: {{ .Values.service.internalPort2 }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+    name: {{ .Values.service.portName2 }}
+  {{- else -}}
+  - port: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.portName }}
+  - port: {{ .Values.service.internalPort2 }}
+    name: {{ .Values.service.portName2 }}
+  {{- end}}
   selector:
     app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
No newline at end of file
+    release: {{ .Release.Name }}
 clusterIP: None
diff --git a/kubernetes/aai/charts/aai-schema-service/values.yaml b/kubernetes/aai/charts/aai-schema-service/values.yaml
new file mode 100644 (file)
index 0000000..18b11b8
--- /dev/null
@@ -0,0 +1,90 @@
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Default values for resources.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/aai-schema-service:1.0-STAGING-latest
+pullPolicy: Always
+restartPolicy: Always
+flavor: small
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 60
+  periodSeconds: 60
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  portName: aai-schema-service-8452
+  internalPort: 8452
+  portName2: aai-schema-service-5005
+  internalPort2: 5005
+
+ingress:
+  enabled: false
+
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 1
+      memory: 3Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 8Gi
+    requests:
+      cpu: 2
+      memory: 4Gi
+  unlimited: {}
index f0f24db..9cf3523 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAI search-data
 name: aai-search-data
-version: 3.0.0
+version: 4.0.0
index 9eec841..842afeb 100644 (file)
Binary files a/kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore and b/kubernetes/aai/charts/aai-search-data/resources/config/auth/tomcat_keystore differ
index 809b22b..6232c14 100644 (file)
@@ -17,3 +17,9 @@
 es.cluster-name=ES_AAI
 es.ip-address=aai-elasticsearch.{{.Release.Namespace}}
 es.http-port={{ .Values.config.elasticsearchHttpPort }}
+es.uri-scheme=https
+es.auth-user=admin
+es.auth-password=OBF:1u2a1toa1w8v1tok1u30
+es.trust-store=auth/tomcat_keystore
+es.trust-store-password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+
index e68a205..1d39d4e 100644 (file)
@@ -93,7 +93,7 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 8 }}
index 77b3ce2..ee32e19 100644 (file)
@@ -17,6 +17,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-keystone
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/auth/tomcat_keystore").AsSecrets . | indent 2 }}
@@ -26,5 +31,10 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-policy
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/auth/search_policy.json").AsSecrets . | indent 2 }}
index 5ba96af..e10a0b9 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAI sparky-be
 name: aai-sparky-be
-version: 3.0.0
+version: 4.0.0
index 98c7abd..c7f6bbc 100644 (file)
 # limitations under the License.
 
 oxm.schemaNodeDir=/opt/app/sparky/onap/oxm
+#schemaServiceTranslator is used to define whether to retreive the oxm from schema service microservice or read from the disk, possible values are schema-service/config 
+oxm.schemaServiceTranslatorList=config
+# The end point for onap is https://<hostname>:<port>/onap/schema-service/v1/
+oxm.schemaServiceBaseUrl=https://<schema-service/config>/aai/schema-service/v1/
+oxm.schemaServiceKeystore=file:${CONFIG_HOME}/auth/aai-client-cert.p12
+oxm.schemaServiceTruststore=file:${CONFIG_HOME}/auth/tomcat_keystore
+oxm.schemaServiceKeystorePassword=OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+oxm.schemaServiceTruststorePassword=OBF:1i9a1u2a1unz1lr61wn51wn11lss1unz1u301i6o
+
+
+
+# Schema Service need this variable for the time being
+spring.applicationName=sparky
index da4812c..108f9ef 100644 (file)
@@ -24,8 +24,12 @@ spring.mvc.favicon.enabled=false
 
 spring.profiles.active=camel,ssl,fe-prod,oxm-schema-prod,oxm-default,resources,sync,portal
 
+portal.cadiFileLocation={{.Values.config.cadiFileLocation}}
+portal.cadiFileLocation={{.Values.config.cadiFileLocation}}
 searchservice.hostname={{.Values.global.searchData.serviceName}}
 searchservice.port=9509
 searchservice.client-cert=client-cert-onap.p12
 searchservice.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 searchservice.truststore=tomcat_keystore
+
+schema.ingest.file=${CONFIG_HOME}/schemaIngest.properties
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/BOOT-INF/classes/key.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/BOOT-INF/classes/key.properties
new file mode 100644 (file)
index 0000000..67268e3
--- /dev/null
@@ -0,0 +1 @@
+cipher.enc.key=AGLDdG4D04BKm2IxIWEr8o==!
index aa16b1b..546955f 100644 (file)
@@ -18,7 +18,7 @@
 ################################################################################
 
 # Java class that implements the ECOMP role and user mgt API
-portal.api.impl.class = org.onap.aai.sparky.security.portal.PortalRestAPIServiceImpl
+portal.api.impl.class = org.onap.aai.sparky.security.portal.PortalRestAPICentralServiceImpl
 
 # Instance of ECOMP Portal where the app has been on-boarded
 # use insecure http for dev purposes to avoid self-signed certificate
@@ -35,4 +35,13 @@ 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 = ueb_key_7
+# Use this tag if the app is centralized
+role_access_centralized=remote
+
+# Connection and Read timeout values
+ext_req_connection_timeout=15000
+ext_req_read_timeout=20000
+
+#Add AAF namespace if the app is centralized
+auth_namespace={{.Values.config.aafNamespace}}
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/cadi.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/cadi.properties
new file mode 100644 (file)
index 0000000..41a49a0
--- /dev/null
@@ -0,0 +1,45 @@
+# Configure AAF
+aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095
+aaf_url=<%=https://AAF_LOCATE_URL/AAF_NS.service:2.0
+
+#aaf_url=https://DME2RESOLVE/service=com.att.authz.AuthorizationService/version=2.0/envContext=TEST/routeOffer=BAU_SE
+# AAF Environment Designation
+
+#if you are running aaf service from a docker image you have to use aaf service IP and port number
+aaf_id={{.Values.config.aafUsername}}
+#Encrypt the password using AAF Jar
+aaf_password={{.Values.config.aafPassword}}
+# Sample CADI Properties, from CADI 1.4.2
+#hostname=org.onap.aai.orr
+csp_domain=PROD
+# Add Absolute path to Keyfile
+cadi_keyfile={{.Values.config.cadiKeyFile}}
+
+# This is required to accept Certificate Authentication from Certman certificates.
+# can be TEST, IST or PROD
+aaf_env=DEV
+
+# DEBUG prints off all the properties.  Use to get started.
+cadi_loglevel=DEBUG
+
+# Add Absolute path to truststore2018.jks
+cadi_truststore={{.Values.config.cadiTrustStore}}
+# Note: This is the ONLY password that doesn't have to be encrypted. All Java's TrustStores are this passcode by default, because they are public certs
+cadi_truststore_password={{.Values.config.cadiTrustStorePassword}}
+
+# how to turn on SSL Logging
+#javax.net.debug=ssl
+
+# Use "maps.bing.com" to get Lat and Long for an Address
+AFT_LATITUDE=32.780140
+AFT_LONGITUDE=-96.800451
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_CLIENT_IGNORE_SSL_CONFIG=true
+DME2.DEBUG=true
+AFT_DME2_HTTP_EXCHANGE_TRACE_ON=true
+
+cadi_latitude=32.780140
+cadi_longitude=-96.800451
+
+aaf_root_ns=com.att.aaf
+aaf_api_version=2.0
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/keyFile b/kubernetes/aai/charts/aai-sparky-be/resources/config/portal/keyFile
new file mode 100644 (file)
index 0000000..921ce67
--- /dev/null
@@ -0,0 +1,27 @@
+77E_fh-8gTjeg8egAo-JgNkXYm1FGEBPMo44vKPgKyGCJj9Dn0xJqIBct2Ko35X4_HSU3wPq3I2q
+YHIvJCjmzXTVu2zvu4rIGTlwycTtLGDkgPyhOYFytv4GgazbpSs9331MPUeVVrdpkDCQmjtHSB4m
+DThhfEe2lkbZ35ljX3sVSf3JDy4ngRot0ktQwnnY4vxFdgVUl7LzVinXWgFLoqMyXmKh_bGw9aUH
+VMgqFsF_YmqLZY5ZARAraeywktvrU5kXYh5SnfXoJy7XIk0TBjHKqO-1mW-TcIgS3_v6GIGkZnpq
+e1FyE8cS21gTPFlc1KDoWUZE2yoEsQKJc4RFWfjid_mE6nckxym1TOsEn3G2_TlkZvliN_QMDB_c
+RuFLDB9HCChm4YYHpSn-RBqtJFz29bMTHQX8VNVfZ_Zhh-4dWOlEfpSzJvAqm_boo-8y8YDGIusx
+mvKyPXEKVCuBOljHaKhYg0d43nAXIFsssKpjmtQizA2L_TP1Mo_lDFIlCsPcRlHKTvzkTstEAhRj
+JnepzA--olBMwBkPxjm1Y5XQBGZH72i_o4Hr7_NqHb9sP486I2Nd1-owjHkhacGrLO1oORnuBUxp
+_SnaXYywe9tTz3BcfFupXSoDv4Sj7g9B53yPIWmjGggigidql3SNJsui6qOtwDHOejzEDFm23Lj7
+fXD6sb52U_ul9ahi4CoLTzpvMsPRYOqyRCk8K8FVBauZbG5D42oaFPn0S0rCSHOCU1TXbRdTF-Cs
+I2R0pEHNgb33yx6vtInaTSYIQ5cxa3XDA_50AQearV5SuYSlp8dK0BkpVCKgvSQdTn-2WiaV_hvO
+KzG7D2adT1kYY6TjYMXIaUiJ33y1XSNDG0s6r4NG5dNE6Jj7thdpnV-AAZoi0uZh1_bsHKLVmHRr
+NCXAc6DZm1D4N9y5lOJwUprUlJisZXLFTQThGMRY5dtiY_eK9Xjj4FQygXXhuhFXHz2-e4YApORv
+lXDcT29IZuuI1j26bxdNdhNr1wZsqqievBN6l6OQMiP21eIrxAUu1BEmiVOrfOzaEjxldDN2gFum
+4-zf9gsQT9UT8KEuOje64wVeHr09JpWuddV9HOAMvqc6mKTWmvUv_QiLgtK_b39QccMrOfOA1usM
+biRJ9wuTYIr584Q9CjHEcm5e2YufcbF-IDZ4IDui8gNXyYJuusTYdspeKzrtiLKfgI56ZWA3it9G
+SOkN18YyUmhk7HFkx9qEifb4UEbUQPb0dyXBRotf-91c5CPkct-36uV4sZBA_AR1tX3-aRKKB_SQ
+B0zaG-eaEdEqKv-ZYHqk23ZxiEsCX3ZdY7VSMWztE3_D5n8UgEl4et5LVfnjvU-arVVO93WUbXk0
+zi2QrOwytOZ0StAvFdF1nVwWllPg4EYcn8qLJIaaBRvLMlpHixtwRhltwJeMmJl3ExImOxNhVbhF
+6LxVXW6JK8JfMIwb_TE4EShDBjemq76BojQOwrO4OAyPG7B5iUtefdY-Zu1EtjXPhrUgljI_A1tg
+5_2WNjNTCT7Bvig3saFsIRi3cvgIcMAF2H7kJYw3UDvCFnx4LIom2u6vSeyatPxEOhRfpP0KvgEU
+koM9DFJW7VWQ11mB_DcU2NoYHdFKFy_cM62kIvoRwZTADGryEtkLSWEDT8MLpVrGXP2RjSZ3HHqC
+vVpVqQHC2VIqNKi2uHtYCiTEfj81Z0rCrnH3hYIRoOSe5W6m17xyb0RloG0G44uK0oNCfDYLwK0L
+TJaBdWSIBYI__ISsKx8o8r-3XLtbwQPPhv4-LpGwJYd7sIcqnpTYAyNGSrbEM4ECzHCH9Hwf9Duy
+cAQGWqXIbTV9i8ryw8OhcCZPTf3noPZyhzzdegiv6KNT-BBbxsgtDehtP-jvpd9eAhjlfUV_hoFJ
+rBUVMFrIOEDnnItVqBDmnavRdhn6N9ObVjVMv_4inhkvtpBCEVxtVQT2kFuBmZvPu_uHHbXi7_g8
+SVs3AjJ2ya3pZraK6gH3IOYoGtTAH3rKl7XdTMjqWnUCbhepuJqeEOF-DhpsEW7Oo0Lqzbjg
\ No newline at end of file
index ac09f9b..97b5399 100644 (file)
@@ -26,3 +26,6 @@ password={{.Values.config.portalPassword}}
 # 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
+onap.user_id_cookie_name={{.Values.config.portalCookieName}}\r
+cookie_decryptor_classname={{.Values.config.cookieDecryptorClass}}\r
+app_roles={{.Values.config.portalAppRoles}}\r
index a596a6b..ee18d9b 100644 (file)
@@ -63,8 +63,21 @@ spec:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /opt/app/sparky/config/auth/
+        - mountPath: /opt/app/sparky/config/auth/client-cert-onap.p12
           name: {{ include "common.fullname" . }}-auth-config
+          subPath: client-cert-onap.p12
+
+        - mountPath: /opt/app/sparky/config/auth/csp-cookie-filter.properties
+          name: {{ include "common.fullname" . }}-auth-config
+          subPath: csp-cookie-filter.properties
+
+        - mountPath: /opt/app/sparky/config/auth/org.onap.aai.p12
+          name: {{ include "common.fullname" . }}-auth-config
+          subPath: org.onap.aai.p12
+
+        - mountPath: /opt/app/sparky/config/auth/truststoreONAPall.jks
+          name: aai-common-aai-auth-mount
+          subPath: truststoreONAPall.jks
 
         - mountPath: /opt/app/sparky/config/portal/
           name: {{ include "common.fullname" . }}-portal-config
@@ -124,7 +137,7 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 8 }}
@@ -146,6 +159,8 @@ spec:
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
           name: aai-sparky-filebeat
+        resources:
+{{ include "common.resources" . }}
 
       volumes:
       - name: localtime
@@ -171,6 +186,11 @@ spec:
       - name: {{ include "common.fullname" . }}-auth-config
         secret:
           secretName: {{ include "common.fullname" . }}
+      
+      - name: aai-common-aai-auth-mount
+        secret:
+          secretName: aai-common-aai-auth
+      
       - name: filebeat-conf
         configMap:
           name: aai-filebeat
index 32a3482..6084ca3 100644 (file)
@@ -17,6 +17,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
index c60ce29..9755c8b 100644 (file)
@@ -28,7 +28,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sparky-be:1.3.0
+image: onap/sparky-be:1.4-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
@@ -40,7 +40,17 @@ config:
   gerritBranch: 3.0.0-ONAP
   gerritProject: http://gerrit.onap.org/r/aai/test-config
   portalUsername: aaiui
-  portalPassword: 1t2v1vfv1unz1vgz1t3b
+  portalPassword: OBF:1t2v1vfv1unz1vgz1t3b
+  portalCookieName: UserId
+  portalAppRoles: ui_view
+  aafUsername: aai@aai.onap.org
+  aafNamespace: org.onap.aai.aaiui
+  aafPassword: enc:xxYw1FqXU5UpianbPeH5Rezg0YfjzuwQrSiLcCmJGfz
+  cadiKeyFile: /opt/app/sparky/config/portal/keyFile
+  cadiTrustStore: /opt/app/sparky/config/auth/truststoreONAPall.jks
+  cadiFileLocation: /opt/app/sparky/config/portal/cadi.properties
+  cadiTrustStorePassword: changeit
+  cookieDecryptorClass: org.onap.aai.sparky.security.BaseCookieDecryptor
 
 # ONAP Cookie Processing - During initial development, the following flag, if true, will
 # prevent the portal interface's login processing from searching for a user
index 4f43b24..587b84c 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAI Spike microservice
 name: aai-spike
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index ebeafff..8915b75 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index a3ff068..c962f1d 100644 (file)
@@ -106,15 +106,15 @@ spec:
           - mountPath: /var/log/onap
             name: {{ include "common.fullname" . }}-logs
           resources:
-{{ include "common.resources" . | indent 12 }}
-        {{- if .Values.nodeSelector }}
-        nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-        {{- end -}}
-        {{- if .Values.affinity }}
-        affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-        {{- end }}
+{{ include "common.resources" . }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
 
         # side car containers
         - name: filebeat-onap
@@ -128,6 +128,8 @@ spec:
             name: {{ include "common.fullname" . }}-logs
           - mountPath: /usr/share/filebeat/data
             name: aai-filebeat
+          resources:
+{{ include "common.resources" . }}
 
       volumes:
         - name: localtime
index 6a9810b..510805d 100644 (file)
@@ -17,6 +17,11 @@ kind: Secret
 metadata:
   name: {{ include "common.fullname" . }}-spike-secrets
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
index 0a6850b..40bfbea 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 
 # application image
-image: onap/spike:1.3.1
+image: onap/spike:1.4-STAGING-latest
 flavor: small
 # application configuration
 config:
index f7e6a12..0470d0a 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP AAI traversal
 name: aai-traversal
-version: 3.0.0
+version: 4.0.0
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks
deleted file mode 100644 (file)
index 2da1dcc..0000000
Binary files a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks and /dev/null differ
index 8d35e2f..a7c86b6 100644 (file)
@@ -40,9 +40,9 @@ server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
 
 server.port=8446
 server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
-server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }}
+server.ssl.key-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.keystore.filename }}
 server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
-server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }}
+server.ssl.trust-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.truststore.filename }}
 server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
 server.ssl.client-auth=want
 server.ssl.key-store-type=JKS
@@ -83,3 +83,15 @@ schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.lab
 # Specifies the version that the application should default to
 schema.version.api.default={{ .Values.global.config.schema.version.api.default }}
 
+schema.translator.list={{ .Values.global.config.schema.translator.list }}
+schema.service.base.url=https://aai-schema-service.{{ include "common.namespace" . }}:8452/aai/schema-service/v1/
+schema.service.nodes.endpoint=nodes?version=
+schema.service.edges.endpoint=edgerules?version=
+schema.service.versions.endpoint=versions
+schema.service.custom.queries.endpoint=stored-queries
+schema.service.client={{ .Values.global.config.schema.service.client }}
+
+schema.service.ssl.key-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.keystore.filename }}
+schema.service.ssl.trust-store=${server.local.startpath}/etc/auth/{{ .Values.global.config.truststore.filename }}
+schema.service.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
+schema.service.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
index 96fe005..d466ccf 100644 (file)
 <!--
-    ============LICENSE_START=======================================================
-    org.onap.aai
-    ================================================================================
-    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-    Modifications Copyright © 2018 Amdocs, Bell Canada
-    ================================================================================
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-       http://www.apache.org/licenses/LICENSE-2.0
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-    ============LICENSE_END=========================================================
-    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  ============LICENSE_START=======================================================
+  org.onap.aai
+  ================================================================================
+  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright © 2018 Amdocs, Bell Canada
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+     http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  ============LICENSE_END=========================================================
+  ECOMP is a trademark and service mark of AT&T Intellectual Property.
 -->
 <configuration scan="true" scanPeriod="60 seconds" debug="false">
-    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
-    <property resource="application.properties" />
-    <property name="namespace" value="aai-traversal"/>
-    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
-    <jmxConfigurator />
-    <property name="logDirectory" value="${AJSC_HOME}/logs" />
-    <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
-    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
-    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
-            <pattern>
-                %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
-            </pattern>
-        </encoder>
-    </appender>
-    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${logDirectory}/rest/sane.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
-        </rollingPolicy>
-        <encoder>
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
-            </pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="SANE" />
-    </appender>
-    <appender name="METRIC"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${logDirectory}/rest/metrics.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfMetricLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="METRIC" />
-    </appender>
-    <appender name="DEBUG"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${logDirectory}/rest/debug.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="DEBUG" />
-    </appender>
-    <appender name="ERROR"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <file>${logDirectory}/rest/error.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfErrorLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="ERROR" />
-    </appender>
-    <appender name="AUDIT"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${logDirectory}/rest/audit.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfAuditLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="AUDIT" />
-    </appender>
-    <appender name="translog"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <file>${logDirectory}/rest/translog.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfTransLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
-        <queueSize>1000</queueSize>
-        <includeCallerData>true</includeCallerData>
-        <appender-ref ref="translog" />
-    </appender>
-    <appender name="dmaapAAIEventConsumer"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="dmaapAAIEventConsumerDebug"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>DEBUG</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="dmaapAAIEventConsumerMetric"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
-        </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfMetricLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <appender name="external"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-            <level>WARN</level>
-        </filter>
-        <file>${logDirectory}/external/external.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
-            </fileNamePattern>
-        </rollingPolicy>
-        <encoder class="org.onap.aai.logging.EcompEncoder">
-            <pattern>${eelfLogPattern}</pattern>
-        </encoder>
-    </appender>
-    <logger name="org.onap.aai" level="DEBUG" additivity="false">
-        <appender-ref ref="asyncDEBUG" />
-        <appender-ref ref="asyncERROR" />
-        <appender-ref ref="asyncMETRIC" />
-        <appender-ref ref="asyncSANE" />
-    </logger>
-    <!-- Spring related loggers -->
-    <logger name="org.springframework" level="WARN" />
-    <logger name="org.springframework.beans" level="WARN" />
-    <logger name="org.springframework.web" level="WARN" />
-    <logger name="com.blog.spring.jms" level="WARN" />
-    <logger name="com.jayway.jsonpath" level="WARN" />
-    <!-- AJSC Services (bootstrap services) -->
-    <logger name="ajsc" level="WARN" />
-    <logger name="ajsc.RouteMgmtService" level="WARN" />
-    <logger name="ajsc.ComputeService" level="WARN" />
-    <logger name="ajsc.VandelayService" level="WARN" />
-    <logger name="ajsc.FilePersistenceService" level="WARN" />
-    <logger name="ajsc.UserDefinedJarService" level="WARN" />
-    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
-    <logger name="ajsc.LoggingConfigurationService" level="WARN" />
-    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
-        logging) -->
-    <logger name="org.codehaus.groovy" level="WARN" />
-    <logger name="com.att.scamper" level="WARN" />
-    <logger name="ajsc.utils" level="WARN" />
-    <logger name="ajsc.utils.DME2Helper" level="WARN" />
-    <logger name="ajsc.filters" level="WARN" />
-    <logger name="ajsc.beans.interceptors" level="WARN" />
-    <logger name="ajsc.restlet" level="WARN" />
-    <logger name="ajsc.servlet" level="WARN" />
-    <logger name="com.att.ajsc" level="WARN" />
-    <logger name="com.att.ajsc.csi.logging" level="WARN" />
-    <logger name="com.att.ajsc.filemonitor" level="WARN" />
-    <logger name="com.netflix.loadbalancer" level="WARN" />
-    <logger name="org.apache.zookeeper" level="OFF" />
-    <!-- Other Loggers that may help troubleshoot -->
-    <logger name="net.sf" level="WARN" />
-    <logger name="org.apache.commons.httpclient" level="WARN" />
-    <logger name="org.apache.commons" level="WARN" />
-    <logger name="org.apache.coyote" level="WARN" />
-    <logger name="org.apache.jasper" level="WARN" />
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
-        May aid in troubleshooting) -->
-    <logger name="org.apache.camel" level="WARN" />
-    <logger name="org.apache.cxf" level="WARN" />
-    <logger name="org.apache.camel.processor.interceptor" level="WARN" />
-    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
-    <logger name="org.apache.cxf.service" level="WARN" />
-    <logger name="org.restlet" level="WARN" />
-    <logger name="org.apache.camel.component.restlet" level="WARN" />
-    <logger name="org.hibernate.validator" level="WARN" />
-    <logger name="org.hibernate" level="WARN" />
-    <logger name="org.hibernate.ejb" level="OFF" />
-    <!-- logback internals logging -->
-    <logger name="ch.qos.logback.classic" level="WARN" />
-    <logger name="ch.qos.logback.core" level="WARN" />
-    <logger name="org.eclipse.jetty" level="WARN" />
-    <!-- logback jms appenders & loggers definition starts here -->
-    <appender name="auditLogs"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
-        </file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
-            </fileNamePattern>
-            <minIndex>1</minIndex>
-            <maxIndex>9</maxIndex>
-        </rollingPolicy>
-        <triggeringPolicy
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-            <maxFileSize>5MB</maxFileSize>
-        </triggeringPolicy>
-        <encoder>
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-        </encoder>
-    </appender>
-    <appender name="perfLogs"
-        class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
-        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
-        </file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
-            </fileNamePattern>
-            <minIndex>1</minIndex>
-            <maxIndex>9</maxIndex>
-        </rollingPolicy>
-        <triggeringPolicy
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-            <maxFileSize>5MB</maxFileSize>
-        </triggeringPolicy>
-        <encoder>
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-        </encoder>
-    </appender>
-    <appender name="miscLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
-                <file>${logDirectory}/misc/misc.log</file>
-                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                        <fileNamePattern>${logDirectory}/misc/misc.log.%d{yyyy-MM-dd}</fileNamePattern>
-                </rollingPolicy>
-                <encoder>
-                        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n                                                              
-                        </pattern>
-        </encoder>
-        </appender>
-    <logger name="AuditRecord" level="INFO" additivity="false">
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
-        <appender-ref ref="auditLogs" />
-    </logger>
-    <logger name="PerfTrackerRecord" level="INFO" additivity="false">
-        <appender-ref ref="perfLogs" />
-    </logger>
-    <logger name="MiscRecord" level="INFO" additivity="false">
-                <appender-ref ref="miscLogs" />
-        </logger>
-    <!-- logback jms appenders & loggers definition ends here -->
-    <logger name="org.onap.aai.interceptors.post" level="DEBUG"
-            additivity="false">
-        <appender-ref ref="asynctranslog" />
-    </logger>
-    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
-        <appender-ref ref="asyncAUDIT"/>
-    </logger>
-    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
-        <appender-ref ref="asyncAUDIT"/>
-    </logger>
-    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
-        <appender-ref ref="dmaapAAIEventConsumer" />
-        <appender-ref ref="dmaapAAIEventConsumerDebug" />
-        <appender-ref ref="dmaapAAIEventConsumerMetric" />
-    </logger>
-    <logger name="org.apache" level="OFF" />
-    <logger name="org.zookeeper" level="OFF" />
-    <logger name="com.thinkaurelius" level="WARN" />
-    <logger name="com.att.aft.dme2" level="WARN" />
-    <!-- ============================================================================ -->
-    <!-- General EELF logger -->
-    <!-- ============================================================================ -->
-    <logger name="com.att.eelf" level="WARN" additivity="false">
-        <appender-ref ref="asyncDEBUG" />
-        <appender-ref ref="asyncERROR" />
-        <appender-ref ref="asyncMETRIC" />
-    </logger>
-    <root level="DEBUG">
-        <appender-ref ref="external" />
-        {{if .Values.global.config.logback.console.enabled}}
-        <appender-ref ref="STDOUT" />
-        {{ end }}
-    </root>
+  <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+  <property resource="application.properties" />
+  <property name="namespace" value="aai-traversal"/>
+  <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+  <jmxConfigurator />
+  <property name="logDirectory" value="${AJSC_HOME}/logs" />
+  <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+  <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+  <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+  <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+  <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>
+        %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+      </pattern>
+    </encoder>
+  </appender>
+  <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/sane.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+    </rollingPolicy>
+    <encoder>
+      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+      </pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="SANE" />
+  </appender>
+  <appender name="METRIC"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/metrics.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="METRIC" />
+  </appender>
+  <appender name="DEBUG"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/debug.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="DEBUG" />
+  </appender>
+  <appender name="ERROR"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/rest/error.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfErrorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="ERROR" />
+  </appender>
+  <appender name="AUDIT"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/rest/audit.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfAuditLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="AUDIT" />
+  </appender>
+  <appender name="translog"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <file>${logDirectory}/rest/translog.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfTransLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>1000</queueSize>
+    <includeCallerData>true</includeCallerData>
+    <appender-ref ref="translog" />
+  </appender>
+  <appender name="dmaapAAIEventConsumer"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="dmaapAAIEventConsumerDebug"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>DEBUG</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="dmaapAAIEventConsumerMetric"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>INFO</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfMetricLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="external"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>WARN</level>
+    </filter>
+    <file>${logDirectory}/external/external.log</file>
+    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+      </fileNamePattern>
+    </rollingPolicy>
+    <encoder class="org.onap.aai.logging.EcompEncoder">
+      <pattern>${eelfLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <logger name="org.onap.aai" level="DEBUG" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+    <appender-ref ref="asyncSANE" />
+    <appender-ref ref="STDOUT" />
+  </logger>
+
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" />
+  <logger name="org.springframework.beans" level="WARN" />
+  <logger name="org.springframework.web" level="WARN" />
+  <logger name="com.blog.spring.jms" level="WARN" />
+  <logger name="com.jayway.jsonpath" level="WARN" />
+
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+  <logger name="org.eclipse.jetty" level="WARN" />
+
+  <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+      additivity="false">
+    <appender-ref ref="asynctranslog" />
+  </logger>
+  <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+  <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+    <appender-ref ref="asyncAUDIT"/>
+  </logger>
+  <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+    <appender-ref ref="dmaapAAIEventConsumer" />
+    <appender-ref ref="dmaapAAIEventConsumerDebug" />
+    <appender-ref ref="dmaapAAIEventConsumerMetric" />
+  </logger>
+  <logger name="org.apache" level="OFF" />
+  <logger name="org.zookeeper" level="OFF" />
+  <logger name="com.thinkaurelius" level="WARN" />
+  <logger name="com.att.aft.dme2" level="WARN" />
+  <!-- ============================================================================ -->
+  <!-- General EELF logger -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="WARN" additivity="false">
+    <appender-ref ref="asyncDEBUG" />
+    <appender-ref ref="asyncERROR" />
+    <appender-ref ref="asyncMETRIC" />
+  </logger>
+  <root level="DEBUG">
+    <appender-ref ref="external" />
+    {{if .Values.global.config.logback.console.enabled}}
+    <appender-ref ref="STDOUT" />
+    {{ end }}
+  </root>
 </configuration>
index 79d6abd..106031e 100644 (file)
@@ -133,5 +133,4 @@ type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }}
-{{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }}
 {{ tpl (.Files.Glob "resources/config/aaf/bath_config.csv").AsSecrets . | indent 2 }}
index 84dd900..4f97f4a 100644 (file)
@@ -324,6 +324,8 @@ spec:
         args:
         - --container-name
         - aai-cassandra
+        - --container-name
+        - aai-schema-service
       {{  end  }}
         env:
         - name: NAMESPACE
@@ -392,7 +394,7 @@ spec:
           name: {{ include "common.fullname" . }}-aaf-certs
           subPath: org.onap.aai.p12
         - mountPath: /opt/app/aai-traversal/resources/aaf/truststoreONAPall.jks
-          name: {{ include "common.fullname" . }}-aaf-certs
+          name: aai-common-aai-auth-mount
           subPath: truststoreONAPall.jks
         - mountPath: /opt/app/aai-traversal/resources/application.properties
           name: {{ include "common.fullname" . }}-springapp-conf
@@ -421,7 +423,7 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 8 }}
@@ -443,6 +445,8 @@ spec:
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /usr/share/filebeat/data
           name: {{ include "common.fullname" . }}-filebeat
+        resources:
+{{ include "common.resources" . }}
       volumes:
       - name: localtime
         hostPath:
@@ -475,6 +479,9 @@ spec:
       - name: {{ include "common.fullname" . }}-aaf-certs
         secret:
          secretName: {{ include "common.fullname" . }}-aaf-keys
+      - name: aai-common-aai-auth-mount
+        secret:
+          secretName: aai-common-aai-auth
       - name: {{ include "common.fullname" . }}-springapp-conf
         configMap:
          name: {{ include "common.fullname" . }}-springapp-configmap
@@ -483,7 +490,7 @@ spec:
          name: {{ include "common.fullname" . }}-realm-configmap
       - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-truststore-secret
+         secretName: aai-common-truststore
          items:
           {{ range $job := .Values.global.config.auth.files }}
            - key: {{ . }}
index e2fe395..a746f54 100644 (file)
@@ -136,7 +136,7 @@ spec:
          name: {{ include "common.fullname" . }}-realm-configmap
       - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-truststore-secret
+         secretName: aai-common-truststore
          items:
           {{ range $job := .Values.global.config.auth.files }}
            - key: {{ . }}
index 92c60a2..0ec1448 100644 (file)
@@ -23,7 +23,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aai-traversal:1.3.3
+image: onap/aai-traversal:1.4-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
index 8ac927b..01f6f1a 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
diff --git a/kubernetes/aai/resources/config/fproxy/auth/fproxy_truststore b/kubernetes/aai/resources/config/fproxy/auth/fproxy_truststore
new file mode 100644 (file)
index 0000000..f6ebc75
Binary files /dev/null and b/kubernetes/aai/resources/config/fproxy/auth/fproxy_truststore differ
diff --git a/kubernetes/aai/resources/config/fproxy/auth/tomcat_keystore b/kubernetes/aai/resources/config/fproxy/auth/tomcat_keystore
new file mode 100644 (file)
index 0000000..d68bf73
Binary files /dev/null and b/kubernetes/aai/resources/config/fproxy/auth/tomcat_keystore differ
diff --git a/kubernetes/aai/resources/config/rproxy/auth/org.onap.aai.p12 b/kubernetes/aai/resources/config/rproxy/auth/org.onap.aai.p12
new file mode 100644 (file)
index 0000000..023e2ea
Binary files /dev/null and b/kubernetes/aai/resources/config/rproxy/auth/org.onap.aai.p12 differ
diff --git a/kubernetes/aai/resources/config/rproxy/security/keyfile b/kubernetes/aai/resources/config/rproxy/security/keyfile
new file mode 100644 (file)
index 0000000..3416d4a
--- /dev/null
@@ -0,0 +1,27 @@
+2otP92kNFHdexroZxvgYY7ffslFiwCD3CiVYMIfUF2edqZK7972NwkvE_mbaBo6jh8lByLIqrWAf
+jyzoiVsvQ_kCa0cS1xaRLpcxv3bx1b7o3hGPBqpd6vmSG4y2JLzNlCBZWuTJz827wr8p_fWrYuUm
+4L1WoaEe8W5PRnXjl4hDqbJBAlEoRIBXugUDt_7O5wgx2Rl3HVoOczZtf0RzONZ1F0BmKf3QlAUe
+moSbARitYRgIPt5sLbT7qPyoEpGDhQ1XBowR744-wsjBc-14yO62Ajp5xWKTp15uWn3_HHuw1SAf
+GWSBRGlSlEVkXQqi9Hw5jDttKVzHX1ckwR0SQOirbtHPHplxPX3WKjKhSdSeMzw6LOAHIQYRMKBT
+74oGnULAfPtV7TaGwOKriT3P49CoPdt9On89-LGyCZSxDWKH0K-rgB6I2_hPT2Uzr3jmXiMa-sfh
+iMvyQ7ABBVx0OFsUuNb5mcU2O6dWiQreL5RerrloV_X3ZtnNjxENXKjQ5KBR1A5ISPjFFK-kf4Rb
+p6FSII8LcsiqgdWuZ4GX_C6x8HX4A-vD0x3Uc9CfoXY-k23cNIy-R-W-oB-P2OgdWDNgZ7VaOLNt
+3L-NwWpNblfYvs93cNmkbVAwCZ3r0OP7RFeuON84TRaynK_Fh2S3rypRyJcUmM1pvpZqJ5_-umSW
+hUs1OqkdLv3xjlVzzK-3nMr0q3Zcyp4XdyLYtcX5I3Xqk9ZcsyAT7ghmHhV8KjUjue7OcfAWg0m7
+RJLGq6VC8HeK4HEMa4lF677Qh7DRufghIDEmQSIDfGA790WGSA8HqcOvAL4hURCHyCWiPa5i8ksX
+xX4HyqF8PCVCLJ_ZhzcuIlc0jStAexWbJU_vcyX7XgUaHCkF-M-zv1FP6Z3DHBMD2QqSWjmyNCCk
+8sIuwzs62P_j2o9jG33kssedCrUWOwZancU107-5H0Zw-UWvtCqUfmRZ7TsEbWY7lk_SKfLfAN5q
+ncOQgU_VxDXUFDST4LN_WVECRafK3UtwWomxWSji25Lbf6NVni3ok-yLMDZR-wrE-54jLPES9j0i
+5N0xrk9CfsvGUpUZ1_XQcgaxI6m27DtCCJXb5ywenPBiUIJCMCTq88CqNZxGpju2i4BJcUH2hUHe
+GKhO8pgslwhtEVot9EDwdzSrJkWFCfb6ud4zMxrqdi7-mLWMOydg6lhpEFEX5wu2BLIujGsZlEGE
+_K9jGfBypjXuJCKDZIuPfEnf_7idjKis_JcFB7x4Hx2HHDcBjlWWFZN_VIEnPkQSyZEC26RTFP3k
+zkY3GwUfA36a4XW2pu3gE9wz-W6fkONfzOZ6YiyCm_dRFUVuGSdJG02Hh5iXYlMOGJltPzWH2jVf
+S-QTOmXQTKSOheXoJO6O-9uQbsRf-kq-6w1pvIOp4ms35w4_0Xj0Xr2a9y-L9PdBZvrUsa-jxsZU
+LyA-YY4Ej6QwDBDTD2MGjF1E5_ekYgjoNlltM9rJjofruM4ym0n7LPHC7YXXQSEFOZYeTKi6wUDw
+hQ1DoWHgu4PQ2lexada8sxQdConbPe2iW16h-PrO5D12E4XbT00fqaMlBmjQwzdNRdCC2NRPIQ5W
+nwaO8dZ9yjxsjT7ZVHb9-DRblb3XDocponzxVXqUGtJAie4WXQnerX0ApTWGaHEr5y56JJVS_3LP
+bKrbXBXcs4jTUX4ECXRrOs8JQDQNysXhvTPCu0XUxNZpjx6KLxDs93k2OcESHjl5J6n6OKKJqqoN
+JEyFO5LGXpnmUJbn0-CaHHPRI1mHwEu4brY8wDZd9A0PD1KGXDoCHMfEk1lGblQdyOcVrXZ6uSBk
+Z6zHDnwSCHO1mPYqtelJQehZoFuPSv9PIgKLxs_qJOtZFnXII5YO1mGXgiIBWBjUFDR5HG4ENS6y
+J4MCF-JLMp-PVMAkOaCIQRRDpRnMm_fT1sc_P562Diu_pcdt-r55pMFQYGoGfjRmxQBKk0-SsdnP
+mlZIiis9DfQEN0q3QQdNRYBJD7tmhUwhAPZdLgXqJA8sZf8UyFQhhpsky79NT343YL9smUlF
\ No newline at end of file
index a23ed5f..651bf8d 100644 (file)
@@ -72,4 +72,32 @@ type: Opaque
 data:
 {{ tpl (.Files.Glob "resources/config/aai/*").AsSecrets . | indent 2 }}
 
-
+{{ if .Values.global.installSidecarSecurity }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: aai-fproxy-auth-certs
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/fproxy/auth/*").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: aai-rproxy-auth-certs
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/rproxy/auth/*").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: aai-rproxy-security-config
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/rproxy/security/*").AsSecrets . | indent 2 }}
+{{ end }}
\ No newline at end of file
index 1f337e4..17680a0 100644 (file)
@@ -101,14 +101,14 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources:
-{{ include "common.resources" . | indent 12 }}
+{{ include "common.resources" . }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
+{{ toYaml .Values.nodeSelector | indent 8 }}
       {{- end -}}
       {{- if .Values.affinity }}
       affinity:
-{{ toYaml .Values.affinity | indent 10 }}
+{{ toYaml .Values.affinity | indent 8 }}
       {{- end }}
 
       volumes:
diff --git a/kubernetes/aai/templates/secret.yaml b/kubernetes/aai/templates/secret.yaml
new file mode 100644 (file)
index 0000000..f01f11d
--- /dev/null
@@ -0,0 +1,36 @@
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: aai-common-aai-auth
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: aai-common-truststore
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/aai/*").AsSecrets . | indent 2 }}
index d5a5db0..e86c416 100644 (file)
@@ -160,6 +160,12 @@ global: # global defaults
 
     # Schema specific properties that include supported versions of api
     schema:
+      # Specifies if the connection should be one way ssl, two way ssl or no auth
+      service:
+        client: one-way-ssl
+      # Specifies which translator to use if it has schema-service, then it will make a rest request to schema service
+      translator:
+        list: schema-service
       source:
         # Specifies which folder to take a look at
         name: onap
@@ -170,14 +176,14 @@ global: # global defaults
       version:
         # Current version of the REST API
         api:
-          default: v14
+          default: v16
         # Specifies which version the depth parameter is configurable
-        depth: v9
+        depth: v11
         # List of all the supported versions of the API
-        list: v8,v9,v10,v11,v12,v13,v14
+        list: v11,v12,v13,v14,v15,v16
         # Specifies from which version related link should appear
         related:
-          link: v10
+          link: v11
         # Specifies from which version the app root change happened
         app:
           root: v11
index dd79ae0..b7a0755 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Application Controller
 name: appc
-version: 3.0.0
+version: 4.0.0
index d2760b3..de5213f 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP APPC Ansible Server
 name: appc-ansible-server
-version: 3.0.0
+version: 4.0.0
index 9e5715e..3944441 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 93d4c56..66f39ec 100644 (file)
@@ -29,7 +29,7 @@ flavor: small
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/ccsdk-ansible-server-image:0.3.2
+image: onap/ccsdk-ansible-server-image:0.3.3
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 4d981a8..7680f7f 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP APPC Self Service Controller Design Tool
 name: appc-cdt
-version: 3.0.0
+version: 4.0.0
index 220dc46..fae2fe2 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index cc912b5..e48d857 100644 (file)
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: mariadb-galera
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: dgbuilder
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
diff --git a/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installFeatures.sh b/kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installFeatures.sh
new file mode 100755 (executable)
index 0000000..724f4e7
--- /dev/null
@@ -0,0 +1,184 @@
+#!/bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# APPC
+# ================================================================================
+# 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=========================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+###
+
+ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
+APPC_HOME=${APPC_HOME:-/opt/onap/appc}
+ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
+APPC_FEATURE_DIR=${APPC_FEATURE_DIR:-${APPC_HOME}/features}
+
+function featureInstall {
+COUNT=0
+while [ $COUNT -lt 10 ]; do
+  ${ODL_HOME}/bin/client feature:install $1 2> /tmp/installErr
+  cat /tmp/installErr
+  if grep -q 'Failed to get the session' /tmp/installErr; then
+    sleep 10
+  else
+    let COUNT=10
+  fi
+  let COUNT=COUNT+1
+done
+}
+
+ APPC_FEATURES=" \
+ appc-metric \
+ appc-dmaap-adapter \
+ appc-chef-adapter \
+ appc-netconf-adapter \
+ appc-rest-adapter \
+ appc-lifecycle-management \
+ appc-dispatcher \
+ appc-provider \
+ appc-dg-util \
+ appc-dg-shared \
+ appc-sdc-listener \
+ appc-oam \
+ appc-iaas-adapter \
+ appc-ansible-adapter \
+ appc-sequence-generator \
+ appc-artifact-handler \
+ appc-aai-client"
+
+APPC_FEATURES_1=" \
+ onap-appc-core \
+ onap-appc-metric \
+ onap-appc-dmaap-adapter \
+ onap-appc-chef-adapter \
+ onap-appc-netconf-adapter \
+ onap-appc-rest-adapter \
+ onap-appc-lifecycle-management \
+ onap-appc-license-manager"
+
+ APPC_FEATURES_2=" \
+ onap-appc-dg-util \
+ onap-appc-dg-shared \
+ onap-appc-sdc-listener \
+ onap-appc-oam \
+ onap-appc-iaas-adapter \
+ onap-appc-ansible-adapter \
+ onap-appc-sequence-generator \
+ onap-appc-config-generator \
+ onap-appc-config-data-services \
+ onap-appc-config-adaptor \
+ onap-appc-config-audit \
+ onap-appc-config-encryption-tool \
+ onap-appc-config-flow-controller \
+ onap-appc-config-params \
+ onap-appc-artifact-handler
+ onap-appc-aai-client \
+ onap-appc-event-listener \
+ onap-appc-network-inventory-client \
+ onap-appc-design-services \
+ onap-appc-interfaces-service"
+
+ APPC_FEATURES_UNZIP=" \
+ appc-core \
+ appc-metric \
+ appc-dmaap-adapter \
+ appc-event-listener \
+ appc-chef-adapter \
+ appc-netconf-adapter \
+ appc-rest-adapter \
+ appc-lifecycle-management \
+ appc-dispatcher \
+ appc-provider \
+ appc-dg-util \
+ appc-dg-shared \
+ appc-sdc-listener \
+ appc-oam \
+ appc-iaas-adapter \
+ appc-ansible-adapter \
+ appc-sequence-generator \
+ appc-config-generator \
+ appc-config-data-services \
+ appc-config-adaptor \
+ appc-config-audit \
+ appc-config-encryption-tool \
+ appc-config-flow-controller \
+ appc-config-params \
+ appc-artifact-handler \
+ appc-aai-client \
+ appc-network-inventory-client \
+ appc-design-services \
+ appc-interfaces-service"
+
+
+if $ENABLE_ODL_CLUSTER
+  then
+    echo "Enabling core APP-C features with clustering enabled"
+    featureInstall odl-netconf-connector-all
+    featureInstall odl-restconf-noauth
+    featureInstall odl-netconf-clustered-topology
+  else
+    echo "Enabling core APP-C features with clustering disabled"
+    featureInstall odl-netconf-connector-all
+    featureInstall odl-restconf-noauth
+    featureInstall odl-netconf-topology
+fi
+
+sleep 7s
+echo "Installing APP-C Features"
+echo ""
+
+for feature in ${APPC_FEATURES_UNZIP}
+do
+  if [ -f ${APPC_FEATURE_DIR}/${feature}/install-feature.sh ]
+  then
+    ${APPC_FEATURE_DIR}/${feature}/install-feature.sh
+  else
+    echo "No installer found for feature ${feature}"
+  fi
+done
+
+#${ODL_HOME}/bin/client feature:install appc-metric appc-dmaap-adapter appc-event-listener appc-chef-adapter appc-netconf-adapter appc-rest-adapter appc-lifecycle-management appc-dispatcher appc-provider appc-dg-util appc-dg-shared appc-sdc-listener appc-oam appc-iaas-adapter appc-ansible-adapter appc-sequence-generator appc-config-generator appc-config-data-services appc-config-adaptor appc-config-audit appc-config-encryption-tool appc-config-flow-controller appc-config-params appc-artifact-handler appc-aai-client
+
+for feature in ${APPC_FEATURES_1}
+do
+  echo "Installing ${feature}"
+  start=$(date +%s)
+  ${ODL_HOME}/bin/client "feature:install -r ${feature}"
+  end=$(date +%s)
+  echo "Install of ${feature} took $(expr $end - $start) seconds"
+  sleep 7s
+  echo "Sleep Finished"
+done
+
+  echo "Installing dispatcher features"
+  start=$(date +%s)
+  ${ODL_HOME}/bin/client "feature:install -r onap-appc-request-handler onap-appc-command-executor onap-appc-lifecycle-management onap-appc-workflow-management lock-manager onap-appc-provider"
+  end=$(date +%s)
+  echo "Install of dispatcher features took $(expr $end - $start) seconds"
+  sleep 7s
+  echo "Sleep Finished"
+
+for feature in ${APPC_FEATURES_2}
+do
+  echo "Installing ${feature}"
+  start=$(date +%s)
+  ${ODL_HOME}/bin/client "feature:install -r ${feature}"
+  end=$(date +%s)
+  echo "Install of ${feature} took $(expr $end - $start) seconds"
+  sleep 7s
+  echo "Sleep Finished"
+done
+
index 6a36fdf..ed35de8 100755 (executable)
@@ -4,7 +4,7 @@
 # ============LICENSE_START=======================================================
 # APPC
 # ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
 # Modifications Copyright © 2018 Amdocs,Bell Canada
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,6 +26,7 @@
 # This script takes care of installing the SDNC & APPC platform components
 #  if not already installed, and starts the APPC Docker Container
 #
+#set -x
 
 function enable_odl_cluster(){
   if [ -z $APPC_REPLICAS ]; then
@@ -58,8 +59,6 @@ ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
 ENABLE_AAF=${ENABLE_AAF:-true}
 DBINIT_DIR=${DBINIT_DIR:-/opt/opendaylight/current/daexim}
 
-appcInstallStartTime=$(date +%s)
-
 #
 # Wait for database to init properly
 #
@@ -86,16 +85,18 @@ END
         then
             echo "Installing SDNC database"
             ${SDNC_HOME}/bin/installSdncDb.sh
-        fi
 
-        appc_db_exists=$(mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql <<-END
+            appc_db_exists=$(mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql <<-END
 show databases like 'appcctl';
 END
 )
-        if [ "x${appc_db_exists}" == "x" ]
-        then
-            echo "Installing APPC database"
-            ${APPC_HOME}/bin/installAppcDb.sh
+            if [ "x${appc_db_exists}" == "x" ]
+            then
+              echo "Installing APPC database"
+              ${APPC_HOME}/bin/installAppcDb.sh
+            fi
+        else
+            sleep 30
         fi
 
         echo "Installed at `date`" > ${DBINIT_DIR}/.installed
@@ -107,19 +108,15 @@ then
         echo "Installing ODL Host Key"
         ${SDNC_HOME}/bin/installOdlHostKey.sh
 
+#        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 "Starting OpenDaylight"
         ${ODL_HOME}/bin/start
 
         echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
         sleep ${SLEEP_TIME}
 
-        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-shiro-aafrealm-osgi-bundle.jar ${ODL_HOME}/deploy/aaf-shiro-aafrealm-osgi-bundle.jar
-
-        echo "Installing SDNC platform features"
-        ${SDNC_HOME}/bin/installFeatures.sh
 
         if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ]
         then
@@ -127,29 +124,18 @@ 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
-
-        if [ -x ${APPC_HOME}/svclogic/bin/install.sh ]
-        then
-                echo "Installing APPC DGs using platform-logic"
-                ${APPC_HOME}/svclogic/bin/install.sh
-        fi
-
         if [ -x ${APPC_HOME}/svclogic/bin/install-converted-dgs.sh ]
         then
                 echo "Installing APPC JSON DGs converted to XML using dg-loader"
                 ${APPC_HOME}/svclogic/bin/install-converted-dgs.sh
         fi
 
-        if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi
-
-        echo "Adding a property system.properties for AAF cadi.properties location"
-        echo "" >> ${ODL_HOME}/etc/system.properties
-        echo "cadi_prop_files=${APPC_HOME}/data/properties/cadi.properties" >> ${ODL_HOME}/etc/system.properties
-        echo "" >> ${ODL_HOME}/etc/system.properties
+        if $ENABLE_ODL_CLUSTER
+        then
+                echo "Installing Opendaylight cluster features"
+                ${ODL_HOME}/bin/client feature:install odl-mdsal-clustering
+                enable_odl_cluster
+        fi
 
         echo "Copying the aaa shiro configuration into opendaylight"
         if $ENABLE_AAF
@@ -180,11 +166,32 @@ then
         done
         echo "Karaf process has stopped"
         sleep 10s
+
         echo "Installed at `date`" > ${SDNC_HOME}/.installed
 fi
 
-        appcInstallEndTime=$(date +%s)
-        echo "Total Appc install took $(expr $appcInstallEndTime - $appcInstallStartTime) seconds"
+# Move journal and snapshots directory to persistent storage
+
+hostdir=${ODL_HOME}/daexim/$(hostname -s)
+if [ ! -d $hostdir ]
+then
+    mkdir -p $hostdir
+    if [ -d ${ODL_HOME}/journal ]
+    then
+        mv ${ODL_HOME}/journal ${hostdir}
+    else
+        mkdir ${hostdir}/journal
+    fi
+    if [ -d ${ODL_HOME}/snapshots ]
+    then
+        mv ${ODL_HOME}/snapshots ${hostdir}
+    else
+        mkdir ${hostdir}/snapshots
+    fi
+fi
+
+ln -s ${hostdir}/journal ${ODL_HOME}/journal
+ln -s ${hostdir}/snapshots ${ODL_HOME}/snapshots
 
 echo "Starting cdt-proxy-service jar, logging to ${APPC_HOME}/cdt-proxy-service/jar.log"
 java -jar ${APPC_HOME}/cdt-proxy-service/cdt-proxy-service.jar > ${APPC_HOME}/cdt-proxy-service/jar.log &
index 6b0373f..6677516 100644 (file)
@@ -116,6 +116,9 @@ spec:
           - mountPath: /opt/onap/appc/bin/installAppcDb.sh
             name: onap-appc-bin
             subPath: installAppcDb.sh
+          - mountPath: /opt/onap/appc/bin/installFeatures.sh
+            name: onap-appc-bin
+            subPath: installFeatures.sh
           - mountPath: /opt/onap/appc/bin/health_check.sh
             name: onap-appc-bin
             subPath: health_check.sh
index d885616..f3d20bc 100644 (file)
@@ -31,7 +31,7 @@ global:
 flavor: small
 # application image
 repository: nexus3.onap.org:10001
-image: onap/appc-image:1.4.3
+image: onap/appc-image:1.5.0-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -1,4 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018  Orange
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +14,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: DMaaP Data Router MariaDB Instance
-name: dmaap-dr-db
-version: 1.0
+description: ONAP Common Design Studio
+name: cds
+version: 4.0.0
diff --git a/kubernetes/cds/README.md b/kubernetes/cds/README.md
new file mode 100644 (file)
index 0000000..6619b8f
--- /dev/null
@@ -0,0 +1,20 @@
+# CDS
+
+## Introduction
+
+CDS stands for Common Design Studio. It helps developping service specific
+artifacts for pre instanciation and post configuration.
+
+Full description is on [ONAP Read the Doc](https://docs.onap.org/en/latest/submodules/ccsdk/cds.git/docs/index.html).
+
+Charts has an UI and blueprints processort and controllers.
+Trigger to enable it is on SDNC chart has of today.
+
+## Requirements
+
+CDS needs the following ONAP projects to work:
+
+- AAI
+- SO
+- SDC
+- SDNC
old mode 100644 (file)
new mode 100755 (executable)
similarity index 81%
rename from kubernetes/vvp/Chart.yaml
rename to kubernetes/cds/charts/blueprints-processor/Chart.yaml
index 61b8ed1..3890974
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# Copyright (c) 2019 IBM, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: ONAP VNF Validation Platform
-name: vvp
-version: 3.0.0
+description: Blueprints Processor Micro Service
+name: blueprints-processor
+version: 4.0.0
\ No newline at end of file
diff --git a/kubernetes/cds/charts/blueprints-processor/requirements.yaml b/kubernetes/cds/charts/blueprints-processor/requirements.yaml
new file mode 100755 (executable)
index 0000000..1d06a38
--- /dev/null
@@ -0,0 +1,21 @@
+# Copyright (c) 2019 IBM, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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: mariadb-galera
+    version: ~4.x-0
+    repository: file://../mariadb-galera/
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/cds/charts/blueprints-processor/resources/config/application.properties b/kubernetes/cds/charts/blueprints-processor/resources/config/application.properties
new file mode 100755 (executable)
index 0000000..9d1c957
--- /dev/null
@@ -0,0 +1,34 @@
+#  Copyright (c) 2019 IBM, Bell Canada.\r
+#\r
+#  Licensed under the Apache License, Version 2.0 (the "License");\r
+#  you may not use this file except in compliance with the License.\r
+#  You may obtain a copy of the License at\r
+#\r
+#      http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+#  Unless required by applicable law or agreed to in writing, software\r
+#  distributed under the License is distributed on an "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+#  See the License for the specific language governing permissions and\r
+#  limitations under the License.\r
+#logging.level.web=DEBUG\r
+appName={{.Values.config.applicationName}}\r
+ms_name={{.Values.config.msName}}\r
+appVersion={{.Values.config.bundleVersion}}\r
+blueprintsprocessor.grpcEnable={{.Values.config.grpcEnabled}}\r
+blueprintsprocessor.httpPort={{.Values.service.http.internalPort}}\r
+blueprintsprocessor.grpcPort={{.Values.service.grpc.internalPort}}\r
+#Blueprint Processor File Execution and Handling Properties\r
+blueprintsprocessor.blueprintDeployPath=/opt/app/onap/blueprints/deploy\r
+blueprintsprocessor.blueprintArchivePath=/opt/app/onap/blueprints/archive\r
+#Primary Database Configuration\r
+blueprintsprocessor.db.primary.url=jdbc:mysql://blueprints-processor-db:3306/sdnctl\r
+blueprintsprocessor.db.primary.username=sdnctl\r
+blueprintsprocessor.db.primary.password=sdnctl\r
+blueprintsprocessor.db.primary.driverClassName=org.mariadb.jdbc.Driver\r
+blueprintsprocessor.db.primary.hibernateHbm2ddlAuto=update\r
+blueprintsprocessor.db.primary.hibernateDDLAuto=update\r
+blueprintsprocessor.db.primary.hibernateNamingStrategy=org.hibernate.cfg.ImprovedNamingStrategy\r
+blueprintsprocessor.db.primary.hibernateDialect=org.hibernate.dialect.MySQL5InnoDBDialect\r
+# Web server config\r
+server.port=8080
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
similarity index 89%
rename from kubernetes/common/controller-blueprints/templates/configmap.yaml
rename to kubernetes/cds/charts/blueprints-processor/templates/configmap.yaml
index 1f194b6..873acee
@@ -1,5 +1,4 @@
-# Copyright (c) 2018 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T, ZTE
+# Copyright (c) 2019 IBM, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/kubernetes/cds/charts/blueprints-processor/templates/deployment.yaml b/kubernetes/cds/charts/blueprints-processor/templates/deployment.yaml
new file mode 100755 (executable)
index 0000000..5629913
--- /dev/null
@@ -0,0 +1,109 @@
+# Copyright (c) 2019 IBM, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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
+        - {{ index .Values "mariadb-galera" "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: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          env:
+          - name: APP_CONFIG_HOME
+            value: {{ .Values.config.appConfigDir }}
+          ports:
+          - containerPort: {{ .Values.service.http.internalPort }}
+          {{ if .Values.config.grpcEnabled }}
+          - containerPort: {{ .Values.service.grpc.internalPort }}
+          {{ end }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            httpGet:
+              path: /api/v1/execution-service/ping
+              port: {{ .Values.service.http.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            httpGet:
+              path: /api/v1/execution-service/ping
+              port: {{ .Values.service.http.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: {{ .Values.config.appConfigDir }}/application.properties
+            name: {{ include "common.fullname" . }}-config
+            subPath: application.properties
+          - mountPath: {{ .Values.config.appConfigDir }}/logback.xml
+            name: {{ include "common.fullname" . }}-config
+            subPath: logback.xml
+          resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+            items:
+            - key: application.properties
+              path: application.properties
+            - key: logback.xml
+              path: logback.xml
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/cds/charts/blueprints-processor/templates/secrets.yaml b/kubernetes/cds/charts/blueprints-processor/templates/secrets.yaml
new file mode 100755 (executable)
index 0000000..f21363d
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright (c) 2019 IBM, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+type: Opaque
+data:
+  db-root-password: {{ index .Values "mariadb-galera" "config" "mariadbRootPassword" | b64enc | quote }}
diff --git a/kubernetes/cds/charts/blueprints-processor/templates/service.yaml b/kubernetes/cds/charts/blueprints-processor/templates/service.yaml
new file mode 100755 (executable)
index 0000000..4c1c32c
--- /dev/null
@@ -0,0 +1,45 @@
+# Copyright (c) 2019 IBM, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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 }}
+  annotations:
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    - port: {{ .Values.service.http.externalPort }}
+      targetPort: {{ .Values.service.http.internalPort }}
+      {{- if eq .Values.service.type "NodePort"}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      {{- end}}
+      name: {{ .Values.service.portName | default "http" }}
+    {{- if .Values.config.grpcEnabled}}
+    - port: {{ .Values.service.grpc.externalPort }}
+      targetPort: {{ .Values.service.grpc.internalPort }}
+      {{- if eq .Values.service.type "NodePort"}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      {{- end}}
+      name: {{ .Values.service.portName | default "http" }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
\ No newline at end of file
diff --git a/kubernetes/cds/charts/blueprints-processor/values.yaml b/kubernetes/cds/charts/blueprints-processor/values.yaml
new file mode 100755 (executable)
index 0000000..2edcc8a
--- /dev/null
@@ -0,0 +1,126 @@
+# Copyright (c) 2019 IBM, Bell Canada
+#
+#  Modifications Copyright (c) 2019 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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:
+  # Change to an unused port prefix range to prevent port conflicts
+  # with other instances running within the same k8s cluster
+  nodePortPrefix: 302
+
+  # image repositories
+  repository: nexus3.onap.org:10001
+
+  # readiness check
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+
+  # image pull policy
+  pullPolicy: Always
+
+  persistence:
+    mountPath: /dockerdata-nfs
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/ccsdk-blueprintsprocessor:0.4.1
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+config:
+  applicationName: BlueprintsProcessor
+  msName: "org.onap.ccsdk.apps.blueprintsprocessor"
+  bundleVersion: "1.0.0"
+  appConfigDir: /opt/app/onap/config
+  grpcEnabled: false
+  stickySelectorKey:
+  envContext: DEV
+
+mariadb-galera:
+  config:
+    userName: sdnctl
+    userPassword: sdnctl
+    mariadbRootPassword: sdnctl
+    mysqlDatabase: sdnctl
+  nameOverride: blueprints-processor-db
+  service:
+    name: blueprints-processor-db
+    portName: bp-db
+  replicaCount: 1
+  persistence:
+    enabled: true
+    mountSubPath: blueprints-processor/data
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  portName: blueprints-processor
+  http:
+    internalPort: 8080
+    externalPort: 8080
+  grpc:
+    internalPort: 9111
+    externalPort: 9111
+
+persistence:
+  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
+  # 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
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: Controller Blueprints Micro Service
 name: controller-blueprints
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
@@ -14,8 +14,8 @@
 
 dependencies:
   - name: mariadb-galera
-    version: ~3.0.0
+    version: ~4.x-0
     repository: file://../mariadb-galera/
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
@@ -1,6 +1,6 @@
-#
-# Copyright (c) 2017-2018 AT&T Intellectual Property.
-# Modifications Copyright (c) 2018 IBM.
+# Copyright © 2017-2018 AT&T Intellectual Property.
+# Modifications Copyright © 2018 IBM.
+# Modifications Copyright © 2019 Bell Canada.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@ appVersion=1.0.0
 
 # Basic Authentication
 basic-auth.user-name=ccsdkapps
-basic-auth.hashed-pwd=$2a$10$MJxhNiOAffxbyrV9.rrOUewP9Q/ASg5Nit2cmP.yBaXGsVXo8BW3y
+basic-auth.hashed-pwd={bcrypt}$2a$10$MJxhNiOAffxbyrV9.rrOUewP9Q/ASg5Nit2cmP.yBaXGsVXo8BW3y
 
 logging.level.org.springframework.web=INFO
 logging.level.org.hibernate.SQL=warn
@@ -43,19 +43,30 @@ spring.datasource.url=jdbc:mysql://controller-blueprints-db:3306/sdnctl
 spring.datasource.username=sdnctl
 spring.datasource.password=sdnctl
 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
-spring.jpa.show-sql = true
-spring.jpa.hibernate.ddl-auto = none
-spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
-spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
+spring.jpa.show-sql=true
+spring.jpa.hibernate.ddl-auto=none
+spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.ImprovedNamingStrategy
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
+
+# Load Resource Source Mappings
+resourceSourceMappings=primary-db=source-primary-db,input=source-input,default=source-default,primary-config-data=source-rest,capability=source-capability
 
-#Load Blueprints
+# Controller Blueprints Core Configuration
+controllerblueprints.blueprintDeployPath=/etc/blueprints/deploy
+controllerblueprints.blueprintArchivePath=/etc/blueprints/archive
+controllerblueprints.blueprintEnrichmentPath=/etc/blueprints/enrichment
+# Controller Blueprint Load Configurations
 # blueprints.load.initial-data may be overridden by ENV variables
-blueprints.load.initial-data=true
-load.dataTypePath=load/model_type/data_type
-load.nodeTypePath=load/model_type/node_type
-load.artifactTypePath=load/model_type/artifact_type
-load.resourceDictionaryPath=load/resource_dictionary
-load.blueprintsPath=load/blueprints
+controllerblueprints.loadInitialData={{ .Values.config.initDataLoad }}
+controllerblueprints.loadBluePrint=true
+controllerblueprints.loadBluePrintPaths=/opt/app/onap/model-catalog/blueprint-model/service-blueprint
+controllerblueprints.loadModelType=true
+controllerblueprints.loadModeTypePaths=/opt/app/onap/model-catalog/definition-type/starter-type
+controllerblueprints.loadResourceDictionary=true
+controllerblueprints.loadResourceDictionaryPaths=/opt/app/onap/model-catalog/resource-dictionary/starter-dictionary
 
-# Load Resource Source Mappings
-resourceSourceMappings=db=source-db,input=source-input,default=source-default,mdsal=source-rest
+# CBA file extension
+controllerblueprints.loadCbaExtension=zip
+
+# Web server config
+server.port=8080
\ No newline at end of file
diff --git a/kubernetes/cds/charts/controller-blueprints/resources/config/logback.xml b/kubernetes/cds/charts/controller-blueprints/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..b73db71
--- /dev/null
@@ -0,0 +1,44 @@
+<!--
+  ~ Copyright (c) 2017-2018 AT&T Intellectual Property.
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<configuration>
+
+    <property name="localPattern" value="%d{HH:mm:ss.SSS} %-5level %logger{100} - %msg%n" />
+
+    <property name="defaultPattern" value="%date{ISO8601,UTC}|%X{RequestID}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" />
+
+    <property name="debugLoggerPattern" value="%date{ISO8601,UTC}|%X{RequestID}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}|[%caller{3}]| %msg%n" />
+
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <!-- encoders are assigned the type
+             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
+        <encoder>
+            <pattern>${defaultPattern}</pattern>
+        </encoder>
+    </appender>
+
+
+    <logger name="org.springframework" level="info"/>
+    <logger name="org.springframework.web" level="info"/>
+    <logger name="org.springframework.security.web.authentication" level="warn"/>
+    <logger name="org.hibernate" level="error"/>
+    <logger name="org.onap.ccsdk.apps" level="info"/>
+
+    <root level="warn">
+        <appender-ref ref="STDOUT"/>
+    </root>
+
+</configuration>
diff --git a/kubernetes/cds/charts/controller-blueprints/templates/configmap.yaml b/kubernetes/cds/charts/controller-blueprints/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..a848968
--- /dev/null
@@ -0,0 +1,27 @@
+# Copyright (c) 2018 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T, ZTE
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
old mode 100644 (file)
new mode 100755 (executable)
similarity index 77%
rename from kubernetes/common/controller-blueprints/templates/deployment.yaml
rename to kubernetes/cds/charts/controller-blueprints/templates/deployment.yaml
index 15ed32f..ef8b38f
@@ -1,5 +1,7 @@
 # Copyright (c) 2018 Amdocs, Bell Canada
 #
+# Modifications Copyright (c) 2019 IBM, Bell Canada
+#
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -49,6 +51,9 @@ spec:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          env:
+            - name: APP_CONFIG_HOME
+              value: {{ .Values.config.appConfigDir }}
           ports:
           - containerPort: {{ .Values.service.internalPort }}
           # disable liveness probe when breakpoints set in debugger
@@ -65,38 +70,6 @@ spec:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
-          env:
-            - name: APPLICATIONNAME
-              value: {{ .Values.config.applicationName }}
-            - name: BUNDLEVERSION
-              value: {{ .Values.config.bundleVersion }}
-            - name: APP_CONFIG_HOME
-              value: {{ .Values.config.appConfigDir }}
-            - name: DB_URL
-              value: {{ .Values.config.dbUrl }}
-            - name: DB_USER
-              value: {{ index .Values "mariadb-galera" "config" "userName" }}
-            - name: DB_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: {{ template "common.fullname" . }}
-                  key: db-root-password
-            - name: MS_USER
-              valueFrom:
-                secretKeyRef:
-                  name: {{ template "common.fullname" . }}
-                  key: restUser
-            - name: MS_PASSWORD
-              valueFrom:
-                secretKeyRef:
-                  name: {{ template "common.fullname" . }}
-                  key: restPassword
-            - name: INIT_DATA_LOAD
-              value: {{ .Values.config.initDataLoad | quote }}
-            - name: STICKYSELECTORKEY
-              value: {{ .Values.config.stickySelectorKey | quote }}
-            - name: ENVCONTEXT
-              value: {{ .Values.config.envContext }}
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
@@ -117,7 +90,6 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
-
       volumes:
         - name: localtime
           hostPath:
old mode 100644 (file)
new mode 100755 (executable)
similarity index 71%
rename from kubernetes/common/controller-blueprints/templates/service.yaml
rename to kubernetes/cds/charts/controller-blueprints/templates/service.yaml
index 438ca19..e0a66d2
@@ -1,5 +1,7 @@
 # Copyright (c) 2018 Amdocs, Bell Canada
 #
+# Modifications Copyright (c) 2019 IBM, Bell Canada
+#
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -37,16 +39,12 @@ metadata:
 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.portName | default "http" }}
-    {{- else -}}
-    - port: {{ .Values.service.externalPort }}
-      targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName | default "http" }}
+  - port: {{ .Values.service.externalPort }}
+    targetPort: {{ .Values.service.internalPort }}
+    {{- if eq .Values.service.type "NodePort"}}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
     {{- end}}
+    name: {{ .Values.service.portName | default "http" }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
similarity index 93%
rename from kubernetes/common/controller-blueprints/values.yaml
rename to kubernetes/cds/charts/controller-blueprints/values.yaml
index bcca317..02b5685
@@ -38,7 +38,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/ccsdk-controllerblueprints:0.3.2
+image: onap/ccsdk-controllerblueprints:0.4-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -46,13 +46,8 @@ debugEnabled: false
 
 # application configuration
 config:
-  applicationName: ControllerBluePrints
-  bundleVersion: 1.0.0
   appConfigDir: /opt/app/onap/config
-  dbUrl: jdbc:mysql://controller-blueprints-db:3306/sdnctl
   initDataLoad: true
-  stickySelectorKey:
-  envContext: DEV
   restUser: ccsdkapps
   restPassword: ccsdkapps
 
similarity index 85%
rename from kubernetes/vvp/charts/vvp-jenkins/requirements.yaml
rename to kubernetes/cds/requirements.yaml
index 9f44c6d..d7b38dc 100644 (file)
@@ -1,4 +1,5 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 Orange
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
@@ -1,4 +1,5 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Orange
+# Modifications Copyright © 2018  Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -29,53 +30,35 @@ spec:
       labels:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
+        name: {{ include "common.fullname" . }}
     spec:
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
-          - containerPort: {{.Values.global.config.mariadb.internalPort}}
+            - 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 }}
-          args:
-          - --lower-case-table-names=1
-          - --wait_timeout=28800
+          {{ if .Values.liveness.enabled }}
           livenessProbe:
             tcpSocket:
-              port: {{.Values.global.config.mariadb.internalPort}}
+              port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
+          env:
+            - name: HOST
+              value: 0.0.0.0
           readinessProbe:
             tcpSocket:
-              port: {{.Values.global.config.mariadb.internalPort}}
+              port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
-          env:
-          - name: MYSQL_ROOT_PASSWORD
-            valueFrom:
-              secretKeyRef:
-                name: {{ template "common.fullname" . }}-secret
-                key: db-root-password
-          - name: MYSQL_USER
-            value: {{.Values.global.config.mariadb.userName}}
-          - name: MYSQL_DATABASE
-            value: {{.Values.global.config.mariadb.mysqlDatabase}}
-          - name: MYSQL_PASSWORD
-            valueFrom:
-              secretKeyRef:
-                name: {{ template "common.fullname" . }}-secret
-                key: db-user-password
           volumeMounts:
-          - mountPath: /docker-entrypoint-initdb.d/sql_init_01.sql
-            name: docker-entrypoint-initdb
-            subPath: sql_init_01.sql
-          - mountPath: /etc/mysql/conf.d
-            name: mariadb-conf
-          - mountPath: /var/lib/mysql
-            name: mariadb-data
+            - mountPath: /etc/localtime
+              name: localtime
+              readOnly: true
           resources:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -86,22 +69,31 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
+      # side car containers
+        # - name: filebeat-onap
+        #   image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+        #   imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        #   volumeMounts:
+        #   - mountPath: /usr/share/filebeat/filebeat.yml
+        #     name: filebeat-conf
+        #     subPath: filebeat.yml
+        #   - mountPath: /home/esr/works/logs
+        #     name: esr-server-logs
+        #   - mountPath: /usr/share/filebeat/data
+        #     name: esr-server-filebeat
       volumes:
         - name: localtime
           hostPath:
             path: /etc/localtime
-        - name: docker-entrypoint-initdb
-          configMap:
-            name: {{ include "common.fullname" . }}-mdb-initd-configmap
-        - name: mariadb-conf
-          configMap:
-            name: {{ include "common.fullname" . }}-mdb-configmap
-        - name: mariadb-data
-        {{- if .Values.persistence.enabled }}
-          persistentVolumeClaim:
-            claimName: {{ include "common.fullname" . }}
-        {{- else }}
-          emptyDir: {}
-        {{- end }}
+        # - name: filebeat-conf
+        #   configMap:
+        #     name: {{ include "common.fullname" . }}-esr-filebeat
+        # - name: esr-server-logs
+        #   emptyDir: {}
+        # - name: esr-server-filebeat
+        #   emptyDir: {}
+        # - name: esrserver-log
+        #   configMap:
+        #     name: {{ include "common.fullname" . }}-esr-esrserver-log
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
similarity index 69%
rename from kubernetes/vvp/templates/service.yaml
rename to kubernetes/cds/templates/service.yaml
index 4f5287c..f8e9112 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# Copyright © 2017 Amdocs, Bell Canada, Orange
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -19,16 +19,21 @@ metadata:
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
   type: {{ .Values.service.type }}
   ports:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
-      targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}-{{ .Values.service.internalPort }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
     {{- end}}
-      name: {{ .Values.service.portName | default "http" }}
   selector:
     app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
@@ -1,4 +1,5 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Orange
+# Modifications Copyright © 2018  Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # Global configuration defaults.
 #################################################################
 global:
-  nodePortPrefix: 302
+  nodePortPrefix: 303
   readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
+  readinessImage: readiness-check:1.1.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
-#################################################################
-# Application configuration defaults.
-#################################################################
+subChartsOnly:
+  enabled: true
+
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/datarouter-prov:1.0.3
+image: onap/ccsdk-cds-ui:1.0.0-STAGING-latest
 pullPolicy: Always
 
-# flag to enable debugging - application support required
-debugEnabled: false
+# application configuration
+config:
 
-# application configuration - see parent values chart
 
 # default number of instances
 replicaCount: 1
@@ -44,6 +44,9 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
+  httpGet:
+    path: /
+    port: 3000
   initialDelaySeconds: 30
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
@@ -51,32 +54,37 @@ liveness:
   enabled: true
 
 readiness:
+  httpGet:
+    path: /ping
+    port: 3000
   initialDelaySeconds: 30
   periodSeconds: 10
 
-## Persist data to a persitent volume
-persistence:
-  enabled: false
+service:
+  type: NodePort
+  portName: ui
+  name: cds
+  nodePort: 97
+  internalPort: 3000
 
 ingress:
   enabled: false
-
 # Resource Limit flavor -By Default using small
 flavor: small
 # Segregation for Different environment (Small and Large)
 resources:
   small:
     limits:
-      cpu: 2000m
-      memory: 4Gi
-    requests:
-      cpu: 500m
+      cpu: 1
       memory: 1Gi
+    requests:
+      cpu: 10m
+      memory: 100Mi
   large:
     limits:
-      cpu: 4000m
-      memory: 8Gi
-    requests:
-      cpu: 1000m
+      cpu: 2
       memory: 2Gi
+    requests:
+      cpu: 200m
+      memory: 200Mi
   unlimited: {}
index 226dc5c..dc04da7 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Clamp
 name: clamp
-version: 3.0.0
+version: 4.0.0
index dda3835..23367ab 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Clamp Dashboard Elasticsearch
 name: clamp-dash-es
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index a950743..0a00ba0 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Clamp Dashboard Kibana
 name: clamp-dash-kibana
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index d557d55..4c7c84d 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Clamp Dashboard Logstash
 name: clamp-dash-logstash
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 9f1c8ad..7418361 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: MariaDB Service
 name: mariadb
-version: 3.0.0
+version: 4.0.0
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 74df6ed..d3a1927 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Command Line Interface
 name: cli
-version: 3.0.0
+version: 4.0.0
index f3e793c..9996777 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 98f8ce0..25cfebf 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP cassandra
 name: cassandra
-version: 3.0.0
+version: 4.0.0
index 542342f..645b41b 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
diff --git a/kubernetes/common/cassandra/templates/configmap.yaml b/kubernetes/common/cassandra/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..a9420d7
--- /dev/null
@@ -0,0 +1,15 @@
+{{- if .Values.configOverrides }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configOverrides
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ toYaml .Values.configOverrides | indent 2 }}
+{{- end }}
+
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#{{ if .Values.persistence.enabled }}
+{{ if .Values.persistence.enabled }}
 {{- $root := . -}}
 {{ range $i, $e := until (int $root.Values.replicaCount) }}
 ---
@@ -36,4 +36,4 @@ spec:
     path: {{ $root.Values.persistence.mountPath }}/{{ $root.Release.Name }}/{{ $root.Values.persistence.mountSubPath }}-{{ $i }}
   persistentVolumeReclaimPolicy: {{ $root.Values.persistence.volumeReclaimPolicy }}
 {{ end }}
-#{{ end }}
+{{ end }}
index 467a6a9..cda5191 100644 (file)
@@ -22,48 +22,28 @@ metadata:
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
+  annotations:
+    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
 spec:
   type: {{ .Values.service.type }}
+  publishNotReadyAddresses: true
   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.portName }}
-    - port: {{ .Values.service.externalPort2 }}
-      targetPort: {{ .Values.service.internalPort2 }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
-      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.portName }}3
-    - port: {{ .Values.service.externalPort4 }}
-      targetPort: {{ .Values.service.internalPort4 }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
-      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.portName }}5
-
-    {{- else -}}
-    - port: {{ .Values.service.externalPort }}
-      targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName }}
-    - port: {{ .Values.service.externalPort2 }}
-      targetPort: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.portName }}2
-    - port: {{ .Values.service.externalPort3 }}
-      targetPort: {{ .Values.service.internalPort3 }}
-      name: {{ .Values.service.portName }}3
-    - port: {{ .Values.service.externalPort4 }}
-      targetPort: {{ .Values.service.internalPort4 }}
-      name: {{ .Values.service.portName }}4
-    - port: {{ .Values.service.externalPort5 }}
-      targetPort: {{ .Values.service.internalPort5 }}
-      name: {{ .Values.service.portName }}5
-    {{- end}}
+  {{if eq .Values.service.type "NodePort" -}}
+  {{- $global := . }}
+  {{- range $index, $ports := .Values.service.ports }}
+  - port: {{ $ports.port }}
+    targetPort: {{ $ports.port }}
+    nodePort: {{ $global.Values.global.nodePortPrefix | default $global.Values.nodePortPrefix }}{{ $ports.nodePort }}
+    name: {{ $ports.name }}
+  {{- end }}
+{{- else -}}
+  {{- range $index, $ports := .Values.service.ports }}
+  - port: {{ $ports.port }}
+    targetPort: {{ $ports.port }}
+    name: {{ $ports.name }}
+  {{- end }}
+{{- end}}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
+  clusterIP: None
index 960d97e..86cf467 100644 (file)
@@ -23,6 +23,10 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 spec:
+  selector:
+    matchLabels:
+      app: {{ include  "common.name" . }}
+      release: {{ .Release.Name }}
   serviceName: {{ include "common.servicename" . }}
   replicas: {{ .Values.replicaCount }}
   podManagementPolicy: {{ .Values.podManagementPolicy }}
@@ -35,24 +39,26 @@ spec:
         release: {{ .Release.Name }}
       name: {{ include "common.name" . }}
     spec:
+      hostNetwork: {{ .Values.hostNetwork }}
       containers:
       - name: {{ include "common.name" . }}
         image: {{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         ports:
-        - containerPort: {{ .Values.service.internalPort }}
-        - containerPort: {{ .Values.service.internalPort2 }}
-        - containerPort: {{ .Values.service.internalPort3 }}
-        - containerPort: {{ .Values.service.internalPort4 }}
-        - containerPort: {{ .Values.service.internalPort5 }}
+        {{- range $index, $ports := .Values.service.ports }}
+        - containerPort: {{ $ports.port }}
+        {{- end }}
         volumeMounts:
-          - name: {{ .Values.service.name }}
+          - name: cassandra-data
             mountPath: /var/lib/cassandra
-          {{ if eq .Values.configmapping true }}
-          - name: {{ .Values.service.name }}-docker-entry-initd
-            mountPath: /{{ .Values.service.name }}-docker-entrypoint-initdb.d/cassandra.cql
-            subPath: cassandra.cql
-          {{ end }}
+          - name: localtime
+            mountPath: /etc/localtime
+            readOnly: true
+          {{- range $key, $value := .Values.configOverrides }}
+          - name: cassandra-config-{{ $key | replace "." "-" }}
+            mountPath: /etc/cassandra/{{ $key }}
+            subPath: {{ $key }}
+          {{- end }}
         {{- if eq .Values.liveness.enabled true }}
         livenessProbe:
           exec:
@@ -62,6 +68,9 @@ spec:
             - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
           periodSeconds: {{ .Values.liveness.periodSeconds }}
+          timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+          successThreshold: {{ .Values.liveness.successThreshold }}
+          failureThreshold: {{ .Values.liveness.failureThreshold }}
         {{ end -}}
         readinessProbe:
           exec:
@@ -70,10 +79,19 @@ spec:
             - -c
             - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
-          timeoutSeconds: {{ .Values.liveness.periodSeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+          timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
+          successThreshold: {{ .Values.readiness.successThreshold }}
+          failureThreshold: {{ .Values.readiness.failureThreshold }}
         env:
-        {{- $seed_size := default 1 .Values.replicaCount | int -}}
-        {{- $global := . }}
+          {{- $seed_size := default 1 .Values.replicaCount | int -}}
+          {{- $global := . }}
+          - name: CASSANDRA_SEEDS
+          {{- if .Values.hostNetwork }}
+            value: {{ required "You must fill \".Values.config.seeds\" with list of Cassandra seeds when hostNetwork is set to true" .Values.config.seeds | quote }}
+          {{- else }}
+            value: "{{- range $i, $e := until $seed_size }}{{ template "common.fullname" $global }}-{{ $i }}.{{ template "common.servicename" $global }}.{{ $global.Release.Namespace }}.svc.{{ $global.Values.config.cluster_domain }}{{- if (lt ( add1 $i ) $seed_size ) }},{{- end }}{{- end }}"
+          {{- end }}
           - name: MAX_HEAP_SIZE
             value: {{ .Values.config.heap.max }}
           - name: HEAP_NEWSIZE
@@ -88,22 +106,22 @@ spec:
             value: {{ .Values.config.rackName | quote }}
           - name: CASSANDRA_AUTO_BOOTSTRAP
             value: {{ .Values.config.autoBootstrap | quote }}
+          - name: CASSANDRA_START_RPC
+            value: {{ default "true" .Values.config.start_rpc | quote }}
+          - name: CASSANDRA_ENDPOINT_SNITCH
+            value: {{ default "SimpleSnitch" .Values.config.endpoint_snitch | quote }}
           - name: POD_IP
             valueFrom:
               fieldRef:
                 fieldPath: status.podIP
-        {{ if eq .Values.configmapping true }}
         lifecycle:
-          postStart:
+          preStop:
             exec:
-              command:
-              - /bin/sh
-              - -c
-              - >
-                /bin/sleep {{ .Values.readiness.initialDelaySeconds }};
-                cd /{{ .Values.service.name }}-docker-entrypoint-initdb.d;
-                cqlsh -u root -p root -f cassandra.cql
-        {{ end }}
+        {{- if not .Values.persistence.enabled }}
+              command: ["/bin/sh", "-c", "exec nodetool decommission"]
+        {{- else }}
+              command: ["/bin/sh", "-c", "PID=$(pidof java) && kill $PID && while ps -p $PID > /dev/null; do sleep 1; done"]
+        {{- end }}
         resources:
 {{ toYaml .Values.resources | indent 10 }}
       {{- if .Values.nodeSelector }}
@@ -118,21 +136,20 @@ spec:
       - name: localtime
         hostPath:
           path: /etc/localtime
-      {{ if eq .Values.configmapping true }}
-      - name: {{ .Values.service.name }}-docker-entry-initd
+      {{- range $key, $value := .Values.configOverrides }}
+      - name: cassandra-config-{{ $key | replace "." "-" }}
         configMap:
-          name: {{ .Values.service.name }}-docker-entry-initd
-      {{ end }}
+          name: {{ include "common.fullname" . }}-configOverrides
+      {{- end }}
   {{- if not .Values.persistence.enabled }}
-      - name: {{ .Values.service.name }}
+      - name: cassandra-data
         emptyDir: {}
   {{- else }}
   volumeClaimTemplates:
     - metadata:
-        name: {{ .Values.service.name }}
+        name: cassandra-data
         labels:
           app: {{ template "common.fullname" . }}
-          chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
           release: "{{ .Release.Name }}"
           heritage: "{{ .Release.Service }}"
       annotations:
index 375d7ae..51e82f3 100644 (file)
@@ -27,14 +27,9 @@ pullPolicy: Always
 # flag to enable debugging - application support required
 debugEnabled: false
 
-# configmapping detail whether it exist locally or not
-# by default it is false, if you wanna configure it then mention
-# locally TRUE value in local values.yaml.
-
-configmapping: false
-
 # application configuration
 config:
+  cluster_domain: cluster.local
   heap:
     max: 512M
     min: 100M
@@ -43,11 +38,13 @@ config:
   dataCenter: Pod
   rackName: Rack
   autoBootstrap: true
-  cassandraUsername: root
-  cassandraPassword: root
+  # If hostNetwork is true then provide the comma separated list of seeds.
+  #seeds:seed1,seed2
 
 # default number of instances
-replicaCount: 1
+replicaCount: 3
+
+hostNetwork: false
 
 nodeSelector: {}
 
@@ -57,6 +54,9 @@ affinity: {}
 liveness:
   initialDelaySeconds: 60
   periodSeconds: 10
+  timeoutSeconds: 3
+  successThreshold: 1
+  failureThreshold: 3
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
@@ -64,25 +64,30 @@ liveness:
 readiness:
   initialDelaySeconds: 60
   periodSeconds: 10
+  timeoutSeconds: 3
+  successThreshold: 1
+  failureThreshold: 3
 
 service:
   type: ClusterIP
   name: cassandra
-  portName: cassandra
-  externalPort: 9160
-  internalPort: 9160
-  externalPort2: 7000
-  internalPort2: 7000
-  externalPort3: 7001
-  internalPort3: 7001
-  externalPort4: 7199
-  internalPort4: 7199
-  externalPort5: 9042
-  internalPort5: 9042
+  ports:
+  - name: intra
+    port: 7000
+  - name: tls
+    port: 7001
+  - name: jmx
+    port: 7199
+  - name: cql
+    port: 9042
+  - name: thrift
+    port: 9160
+  - name: agent
+    port: 61621
 
 podManagementPolicy: OrderedReady
 updateStrategy:
-  type: OnDelete
+  type: RollingUpdate
 
 ingress:
   enabled: false
@@ -111,6 +116,7 @@ persistence:
   storageType: local
   storageClass: ""
 
+configOverrides: {}
 
 resources: {}
   # We usually recommend not to specify default resources and to leave this as a conscious
index fbaaa77..201b0d5 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: Common templates for inclusion in other charts
 name: common
-version: 3.0.0
+version: 4.0.0
index 55c61c5..edcd2e9 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: D.G. Builder application
 name: dgbuilder
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index a0fc249..4a81e88 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 0aa7a3f..cef11f4 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 ---
@@ -25,5 +30,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-scripts
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/scripts/*").AsConfig . | indent 2 }}
index 1121a88..64ba32d 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 description: Chart for MariaDB Galera cluster
 name: mariadb-galera
-version: 3.0.0
+version: 4.0.0
 keywords:
   - mariadb
   - mysql
index c6e7a39..f01f533 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: 'file://../common'
\ No newline at end of file
index 4f99da1..9c9a248 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-confd
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/mariadb/conf.d/*").AsConfig . | indent 2 }}
 ---
@@ -26,6 +31,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-external-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
   my_extra.cnf: |
 {{ .Values.externalConfig | indent 4 }}
index 7ca207f..601057f 100644 (file)
@@ -29,6 +29,9 @@ spec:
     metadata:
       labels:
         app: {{ include "common.fullname" . }}
+        chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+        release: "{{ .Release.Name }}"
+        heritage: "{{ .Release.Service }}"
       annotations:
         pod.alpha.kubernetes.io/initialized: "true"
     spec:
@@ -119,6 +122,9 @@ spec:
       name: {{ include "common.fullname" . }}-data
       labels:
         name: {{ include "common.fullname" . }}
+        chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+        release: "{{ .Release.Name }}"
+        heritage: "{{ .Release.Service }}"
     spec:
       accessModes:
       - {{ .Values.persistence.accessMode | quote }}
index be35133..98c9cf8 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: MongoDB Server
 name: mongo
-version: 3.0.0
+version: 4.0.0
index 9f23fac..71fbbc5 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 6802163..3b08fb0 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: MUSIC - Multi-site State Coordination Service
 name: music
-version: 3.0.0
+version: 4.0.0
index fd42176..1cf5470 100644 (file)
@@ -15,5 +15,5 @@
 apiVersion: v1
 description: Cassandra Job - Run CQL Scripts after Cassandra Starts.
 name: music-cassandra-job
-version: 3.0.0
+version: 4.0.0
 
index 7aae51a..da15d33 100644 (file)
@@ -15,5 +15,5 @@
 apiVersion: v1
 description: ONAP - Cassandra Database
 name: music-cassandra
-version: 3.0.0
+version: 4.0.0
 
index a22007c..cee64a5 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 009c40d..4499499 100644 (file)
@@ -134,5 +134,8 @@ spec:
             storage: {{ .Values.persistence.size | quote }}
         selector:
           matchLabels:
+            app: {{ include "common.name" . }}
             release: "{{ .Release.Name }}"
   {{- end }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index d0fdc60..ef9e966 100755 (executable)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP - MUSIC Tomcat Container
 name: music-tomcat
-version: 3.0.0
+version: 4.0.0
index 28352e4..8b30624 100755 (executable)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 38592dd..b5b9723 100644 (file)
@@ -33,7 +33,7 @@ spec:
       containers:
         - name: main
           image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
-          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.image.pullPolicy }}
           command:
             - /bin/bash
             - -o
index 135b59e..9e3549f 100644 (file)
@@ -58,7 +58,7 @@ spec:
 
         - name: zookeeper
           image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
-          imagePullPolicy: {{ .Values.image.pullPolicy }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.image.pullPolicy }}
           command:
             - /bin/bash
             - -xec
@@ -88,7 +88,7 @@ spec:
 {{- if .Values.exporters.jmx.enabled }}
         - name: jmx-exporter
           image: "{{ .Values.exporters.jmx.image.repository }}:{{ .Values.exporters.jmx.image.tag }}"
-          imagePullPolicy: {{ .Values.exporters.jmx.image.pullPolicy }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.exporters.jmx.image.pullPolicy }}
           ports:
   {{- range $key, $port := .Values.exporters.jmx.ports }}
             - name: {{ $key }}
@@ -118,7 +118,7 @@ spec:
 {{- if .Values.exporters.zookeeper.enabled }}
         - name: zookeeper-exporter
           image: "{{ .Values.exporters.zookeeper.image.repository }}:{{ .Values.exporters.zookeeper.image.tag }}"
-          imagePullPolicy: {{ .Values.exporters.zookeeper.image.pullPolicy }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.exporters.zookeeper.image.pullPolicy }}
           args:
             - -bind-addr=:{{ .Values.exporters.zookeeper.ports.zookeeperxp.containerPort }}
             - -metrics-path={{ .Values.exporters.zookeeper.path }}
index 220dc46..fae2fe2 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index b110dc9..1ff737d 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: MySQL Server
 name: mysql
-version: 3.0.0
+version: 4.0.0
index 9f23fac..71fbbc5 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index d8c29fb..65ac5f2 100644 (file)
@@ -19,6 +19,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-db-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
   master.cnf: |
     # Apply this config only on the master.
index dc63e31..e1771c6 100644 (file)
@@ -41,6 +41,9 @@ metadata:
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
   ports:
     - name: nfs
@@ -65,6 +68,9 @@ metadata:
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
@@ -80,6 +86,9 @@ metadata:
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
@@ -96,6 +105,9 @@ metadata:
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
   ports:
     - port: {{ .Values.service.internalPort }}
@@ -112,7 +124,11 @@ metadata:
   name: {{ include "common.servicename" . }}-nodeport
   namespace: {{ include "common.namespace" . }}
   labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 spec:
   ports:
   - name: {{ .Values.service.portName | default .Values.service.name }}-1
index f73b10f..c3f8ae2 100644 (file)
@@ -31,7 +31,9 @@ spec:
     metadata:
       labels:
         app: {{ include "common.name" . }}
+        chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
         release: {{ .Release.Name }}
+        heritage: {{ .Release.Service }}
     spec:
       initContainers:
 #{{ if not .Values.disableNfsProvisioner }}
@@ -244,6 +246,10 @@ spec:
   - metadata:
       name: {{ include "common.fullname" . }}-mysql
       labels:
+        app: {{ include "common.name" . }}
+        chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+        release: {{ .Release.Name }}
+        heritage: {{ .Release.Service }}
         name: {{ include "common.fullname" . }}
     spec:
       accessModes: [ {{ .Values.persistence.accessMode }} ]
index 4edb477..bbe4562 100644 (file)
@@ -20,5 +20,10 @@ apiVersion: storage.k8s.io/v1
 metadata:
   name: "{{ include "common.fullname" . }}-mysql"
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 provisioner: {{ include "common.fullname" . }}/nfs
 {{ end }}
index e1b9c55..4b7690b 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1\r
 description: Name Generation Micro Service\r
 name: network-name-gen\r
-version: 3.0.0\r
+version: 4.0.0\r
index 52a2c51..31fe2fd 100644 (file)
@@ -14,8 +14,8 @@
 \r
 dependencies:\r
   - name: common\r
-    version: ~3.0.0\r
+    version: ~4.x-0\r
     repository: '@local'\r
   - name: mariadb-galera\r
-    version: ~3.0.0\r
+    version: ~4.x-0\r
     repository: file://../mariadb-galera/\r
index f9be4c2..2de3b42 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Postgres Server
 name: postgres
-version: 3.0.0
+version: 4.0.0
index b57e72a..7807d5b 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Postgres Server
 name: pgpool
-version: 3.0.0
+version: 4.0.0
index 9f44c6d..27f4c40 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 4aa8d83..15fa18d 100644 (file)
@@ -33,7 +33,7 @@ spec:
     spec:
       containers:
       - image: "{{.Values.repository}}/{{.Values.image}}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}
         env:
         - name: PG_PRIMARY_SERVICE_NAME
index 9f44c6d..27f4c40 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 10134f1..1bbeea9 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Consul Agent
 name: consul
-version: 3.0.0
+version: 4.0.0
index f9fb821..f8244f0 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Consul Server
 name: consul-server
-version: 3.0.0
+version: 4.0.0
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index ce70d19..634b692 100755 (executable)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP optional tools
 name: contrib
-version: 3.0.0
+version: 4.0.0
index 2a7e9fb..db2c984 100755 (executable)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: Netbox IPAM
 name: netbox
-version: 3.0.0
+version: 4.0.0
index 3ac79e4..c23cb20 100755 (executable)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: Netbox - Application (WSGI + Gunicorn)
 name: netbox-app
-version: 3.0.0
+version: 4.0.0
index 5215ca8..92888ea 100755 (executable)
@@ -152,4 +152,6 @@ spec:
             name: {{ include "common.fullname" . }}-initializers-configmap
         - name: {{ include "common.fullname" . }}-configuration-config
           configMap:
-            name: {{ include "common.fullname" . }}-configuration-configmap
\ No newline at end of file
+            name: {{ include "common.fullname" . }}-configuration-configmap
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index a60bbb4..96328ca 100755 (executable)
@@ -42,8 +42,8 @@ config:
   superuserName: admin
   superuserEmail: admin@onap.org
 
-repository: docker.io
-image: ninech/netbox:v2.3.5
+repository: netboxcommunity
+image: netbox:v2.5.8
 
 # probe configuration parameters
 liveness:
index 14fedc8..f67ff06 100755 (executable)
@@ -23,7 +23,7 @@ global: # global defaults
 
 # application image
 repository: docker.io
-image: nginx:1.13-alpine
+image: nginx:1.15-alpine
 pullPolicy: Always
 
 ingress:
index e662567..f2def04 100755 (executable)
@@ -22,7 +22,7 @@ global: # global defaults
 
 # application image
 repository: docker.io
-image: postgres:10.2-alpine
+image: postgres:10.4-alpine
 pullPolicy: Always
 
 # application configuration
index f315681..5d82013 100755 (executable)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index f315681..5d82013 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 3f62f3c..ceda39b 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP DCAE Gen2
 name: dcaegen2
-version: 3.0.0
+version: 4.0.0
index c16f23b..432a744 100644 (file)
@@ -1,2 +1,22 @@
-make-dmaap:
-       cd charts && helm dep up dcae-bootstrap
+make-dcaegen2: make-dcae-bootstrap make-dcae-cloudify-manager make-dcae-config-binding-service make-dcae-healthcheck make-dcae-redis make-dcae-servicechange-handler make-dcae-inventory-api
+
+make-dcae-bootstrap:
+       cd charts && helm dep up dcae-bootstrap && helm lint dcae-bootstrap
+
+make-dcae-cloudify-manager:
+       cd charts && helm dep up dcae-cloudify-manager && helm lint dcae-cloudify-manager
+
+make-dcae-config-binding-service:
+       cd charts && helm dep up dcae-config-binding-service && helm lint dcae-config-binding-service
+
+make-dcae-healthcheck:
+       cd charts && helm dep up dcae-healthcheck && helm lint dcae-healthcheck
+
+make-dcae-redis:
+       cd charts && helm dep up dcae-redis && helm lint dcae-redis
+
+make-dcae-servicechange-handler:
+       cd charts && helm dep up dcae-servicechange-handler && helm lint dcae-servicechange-handler
+
+make-dcae-inventory-api:
+       cd charts/dcae-servicechange-handler/charts  && helm dep up dcae-inventory-api && helm lint dcae-inventory-api
index fca0302..6ac53de 100644 (file)
@@ -19,4 +19,4 @@
 apiVersion: v1
 description: ONAP DCAE Bootstrap
 name: dcae-bootstrap
-version: 3.0.0
+version: 4.0.0
index caf7904..5807f08 100644 (file)
@@ -18,8 +18,8 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: postgres
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
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
deleted file mode 100644 (file)
index 2f897db..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#============LICENSE_START========================================================
-#=================================================================================
-# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright © 2018 Amdocs, Bell Canada
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-
-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"
-{{ if .Values.componentImages.service_change_handler }}
-service_change_handler_image: '{{ include "common.repository" . }}/{{ .Values.componentImages.service_change_handler }}'
-{{ end }}
-{{ if .Values.componentImages.inventory }}
-inventory_image: '{{ include "common.repository" . }}/{{ .Values.componentImages.inventory }}'
-{{ end }}
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
deleted file mode 100644 (file)
index 50ac16f..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-#============LICENSE_START========================================================
-#=================================================================================
-# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright © 2018 Amdocs, Bell Canada
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-
-{{ if .Values.componentImages.policy_handler }}
-policy_handler_image: {{ include "common.repository" . }}/{{ .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
-
-    # retry to getConfig from policy-engine on policy-update notification
-    policy_retry_count : 5
-    policy_retry_sleep : 5
-
-    # config of automatic catch_up for resiliency
-    catch_up :
-        # interval in seconds on how often to call automatic catch_up
-        # example: 1200 is 20*60 seconds that is 20 minutes
-        interval : 1200
-
-    # config of periodic reconfigure-rediscover for adaptability
-    reconfigure:
-        # interval in seconds on how often to call automatic reconfigure
-        # example: 600 is 10*60 seconds that is 10 minutes
-        interval : 600
-
-    # 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.
-    # - k8s specific routing to policy-engine by hostname "pdp"
-    # - relying on dns to resolve hostname "pdp" to ip address
-    # - expecing to find "pdp" as the hostname in server cert from policy-engine
-    policy_engine :
-        url : "https://{{ .Values.config.address.policy_pdp }}.{{include "common.namespace" . }}:8081"
-        path_notifications : "/pdp/notifications"
-        path_api : "/pdp/api/"
-        headers :
-            Accept : "application/json"
-            "Content-Type" : "application/json"
-            ClientAuth : "cHl0aG9uOnRlc3Q="
-            Authorization : "Basic dGVzdHBkcDphbHBoYTEyMw=="
-            Environment : "TEST"
-        target_entity : "policy_engine"
-        # optional tls_ca_mode specifies where to find the cacert.pem for tls
-        #   can be one of these:
-        #       "cert_directory" - use the cacert.pem stored locally in cert_directory.
-        #                          this is the default if cacert.pem file is found
-        #
-        #       "os_ca_bundle"     - use the public ca_bundle provided by linux system.
-        #                          this is the default if cacert.pem file not found
-        #
-        #       "do_not_verify"  - special hack to turn off the verification by cacert and hostname
-        tls_ca_mode : "cert_directory"
-        # optional tls_wss_ca_mode specifies the same for the tls based web-socket
-        tls_wss_ca_mode : "cert_directory"
-        # optional timeout_in_secs specifies the timeout for the http requests
-        timeout_in_secs: 60
-        # optional ws_ping_interval_in_secs specifies the ping interval for the web-socket connection
-        ws_ping_interval_in_secs: 180
-    # deploy_handler config
-    #    changed from string "deployment_handler" in 2.3.1 to structure in 2.4.0
-    deploy_handler :
-        # name of deployment-handler service used by policy-handler for logging
-        target_entity : "deployment_handler"
-        # url of the deployment-handler service for policy-handler to direct the policy-updates to
-        #   - expecting dns to resolve the hostname deployment-handler to ip address
-        url : "https://deployment-handler:8443"
-        # limit the size of a single data segment for policy-update messages
-        #       from policy-handler to deployment-handler in megabytes
-        max_msg_length_mb : 5
-        query :
-            # optionally specify the tenant name for the cloudify under deployment-handler
-            #    if not specified the "default_tenant" is used by the deployment-handler
-            cfy_tenant_name : "default_tenant"
-        # optional tls_ca_mode specifies where to find the cacert.pem or skip tls verification
-        #   can be one of these:
-        #       "cert_directory" - use the cacert.pem stored locally in cert_directory.
-        #                          this is the default if cacert.pem file is found
-        #
-        #       "os_ca_bundle"     - use the public ca_bundle provided by linux system.
-        #                          this is the default if cacert.pem file not found
-        #
-        #       "do_not_verify"  - special hack to turn off the verification by cacert and hostname
-        tls_ca_mode : "cert_directory"
-        # optional timeout_in_secs specifies the timeout for the http requests
-        timeout_in_secs: 60
index a26307d..0463655 100644 (file)
@@ -1,6 +1,6 @@
 #============LICENSE_START========================================================\r
 # ================================================================================\r
-# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.\r
+# Copyright (c) 2017-2019 AT&T Intellectual Property. All rights reserved.\r
 # Modifications Copyright © 2018 Amdocs, Bell Canada\r
 # ================================================================================\r
 # Licensed under the Apache License, Version 2.0 (the "License");\r
@@ -49,6 +49,10 @@ spec:
           - msb-discovery\r
           - --container-name\r
           - kube2msb\r
+          - --container-name\r
+          - dcae-config-binding-service\r
+          - --container-name\r
+          - dcae-db\r
           - "-t"\r
           - "15"\r
         env:\r
index 26067e0..07b2036 100644 (file)
@@ -1,6 +1,6 @@
 #============LICENSE_START========================================================
 #=================================================================================
-# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved.
 # Modifications Copyright © 2018 Amdocs, Bell Canada
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -79,23 +79,18 @@ postgres:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.5
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.9
 
 # DCAE component images to be deployed via Cloudify Manager
 # Use to override default setting in blueprints
 componentImages:
-  config_binding_service: onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.3
   datafile_collector: onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.1.1
-  deployment_handler: onap/org.onap.dcaegen2.platform.deployment-handler:3.1.0
   holmes_rules: onap/holmes/rule-management:1.2.3
   holmes_engine: onap/holmes/engine-management:1.2.2
-  inventory: onap/org.onap.dcaegen2.platform.inventory-api:3.0.4
-  policy_handler: onap/org.onap.dcaegen2.platform.policy-handler:4.5.0
-  service_change_handler: onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.5
   tca: onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0
   ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.3.1
   snmptrap: onap/org.onap.dcaegen2.collectors.snmptrap:1.4.0
-  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.2.0-SNAPSHOT
+  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.2.1-SNAPSHOT
   hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.1.0-SNAPSHOT
 
 # Resource Limit flavor -By Default using small
index 93e4fee..1f84269 100644 (file)
@@ -19,4 +19,4 @@
 apiVersion: v1
 description: ONAP DCAE Cloudify Manager
 name: dcae-cloudify-manager
-version: 3.0.0
+version: 4.0.0
index ecaee65..5b541fb 100644 (file)
@@ -1,6 +1,6 @@
 #============LICENSE_START========================================================
 # ================================================================================
-# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved.
 # Modifications Copyright © 2018 Amdocs, Bell Canada
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,6 +21,7 @@
 #################################################################
 global:
   nodePortPrefix: 302
+  persistence: {}
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
@@ -43,7 +44,7 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.cm-container:1.5.0
+image: onap/org.onap.dcaegen2.deployments.cm-container:1.5.1
 pullPolicy: Always
 
 # probe configuration parameters
@@ -56,7 +57,7 @@ liveness:
   enabled: false
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 60
   periodSeconds: 10
 
 service:
diff --git a/kubernetes/dcaegen2/charts/dcae-config-binding-service/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-config-binding-service/Chart.yaml
new file mode 100644 (file)
index 0000000..295abdb
--- /dev/null
@@ -0,0 +1,21 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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 Config Binding Service
+name: dcae-config-binding-service
+version: 4.0.0
\ No newline at end of file
@@ -1,4 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
-
diff --git a/kubernetes/dcaegen2/charts/dcae-config-binding-service/resources/config/log/filebeat/filebeat.yml b/kubernetes/dcaegen2/charts/dcae-config-binding-service/resources/config/log/filebeat/filebeat.yml
new file mode 100644 (file)
index 0000000..1a3f693
--- /dev/null
@@ -0,0 +1,72 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+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
@@ -1,4 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-
 apiVersion: v1
-kind: Secret
+kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-secret
+  name: {{ .Release.Name }}-cbs-filebeat-configmap
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
-type: Opaque
 data:
-  db-root-password: {{ .Values.global.config.mariadb.mariadbRootPassword | b64enc | quote }}
-  db-user-password: {{ .Values.global.config.mariadb.userPassword | b64enc | quote }}
+{{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..a968204
--- /dev/null
@@ -0,0 +1,103 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      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
+            - consul-server
+            - "-t"
+            - "15"
+          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 }}
+          resources:
+{{ include "common.resources" . | indent 12 }}
+          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:
+            httpGet:
+              path: {{ .Values.readiness.path }}
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /opt/logs
+          env:
+            - name: CONSUL_HOST
+              value: consul.{{ include "common.namespace" . }}
+
+        - 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" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap
+      volumes:
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-cbs-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/service.yaml
new file mode 100644 (file)
index 0000000..088d381
--- /dev/null
@@ -0,0 +1,43 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-config-binding-service/values.yaml b/kubernetes/dcaegen2/charts/dcae-config-binding-service/values.yaml
new file mode 100644 (file)
index 0000000..f6da1ef
--- /dev/null
@@ -0,0 +1,89 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  repositoryCred:
+    user: docker
+    password: docker
+
+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.platform.configbinding.app-app:2.2.3
+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
+  # liveness not desirable for Cloudify Manager container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  path: /healthcheck
+
+service:
+  type: ClusterIP
+  name: config-binding-service
+  externalPort: 10000
+  internalPort: 10000
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+# dcae_ns: "dcae"
@@ -1,7 +1,6 @@
 #============LICENSE_START========================================================
 #=================================================================================
-# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright © 2018 Amdocs, Bell Canada
+# Copyright (c) 2019 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.
@@ -16,8 +15,7 @@
 # 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
-{{ if .Values.componentImages.config_binding_service }}
-cbs_image: {{ include "common.repository" . }}/{{ .Values.componentImages.config_binding_service }}
-{{ end }}
+apiVersion: v1
+description: ONAP DCAE Deployment Handler
+name: dcae-deployment-handler
+version: 4.0.0
@@ -1,4 +1,5 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.0.0
     repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-deployment-handler/resources/config/config.json b/kubernetes/dcaegen2/charts/dcae-deployment-handler/resources/config/config.json
new file mode 100644 (file)
index 0000000..600f07c
--- /dev/null
@@ -0,0 +1,8 @@
+{
+    "cloudify": {
+        "protocol": "http"
+    },
+    "inventory": {
+        "protocol": "http"
+    }
+}
\ No newline at end of file
diff --git a/kubernetes/dcaegen2/charts/dcae-deployment-handler/resources/log/filebeat.yml b/kubernetes/dcaegen2/charts/dcae-deployment-handler/resources/log/filebeat.yml
new file mode 100644 (file)
index 0000000..0e5ee9b
--- /dev/null
@@ -0,0 +1,72 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+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-deployment-handler/templates/configmap.yaml b/kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..39af31a
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{include "common.fullname" . }}-filebeat-configmap
+  namespace: {{include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/log/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..3e4e53b
--- /dev/null
@@ -0,0 +1,161 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      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
+          - dcae-inventory-api
+          - "-t"
+          - "45"
+          env:
+          - name: NAMESPACE
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: metadata.namespace
+        - name: init-tls
+          env:
+          - name: POD_IP
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: status.podIP
+          image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources: {}
+          volumeMounts:
+            - mountPath: /opt/tls/shared
+              name: tls-info
+        - name: init-consul
+          image: {{ .Values.global.consulLoaderRepository }}/{{ .Values.global.consulLoaderImage }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          args:
+          - --service
+          - "cloudify_manager|dcae-cloudify-manager.{{ include "common.namespace" . }}|80"
+          - --service
+          - "inventory|inventory.{{ include "common.namespace" . }}|8080"
+          - --key
+          - deployment_handler|/dhconfig/config.json
+          resources: {}
+          volumeMounts:
+            - mountPath: /dhconfig
+              name: dh-config
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources:
+{{ include "common.resources" . | indent 12 }}
+          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:
+            httpGet:
+              path: {{ .Values.readiness.path }}
+              port: {{ .Values.service.internalPort }}
+              scheme: {{ .Values.readiness.scheme }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+            - mountPath: /opt/app/dh/log
+              name: component-log
+            - mountPath: /opt/app/dh/etc/cert/
+              name: tls-info
+          env:
+            - name: CONSUL_HOST
+              value: consul-server.{{ include "common.namespace" . }}
+            - name: CLOUDIFY_USER
+              value: admin
+            - name: CLOUDIFY_PASSWORD
+              value: admin
+            - name: CONFIG_BINDING_SERVICE
+              value: config-binding-service
+            - name: POD_IP
+              valueFrom:
+                fieldRef:
+                  apiVersion: v1
+                  fieldPath: status.podIP
+        - name: {{ include "common.name" . }}-filebeat
+          env:
+            - name: POD_IP
+              valueFrom:
+                fieldRef:
+                  apiVersion: v1
+                  fieldPath: status.podIP
+          image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
+          imagePullPolicy: IfNotPresent
+          resources: {}
+          volumeMounts:
+          - mountPath: /var/log/onap/deployment-handler
+            name: component-log
+          - mountPath: /usr/share/filebeat/data
+            name: filebeat-data
+          - mountPath: /usr/share/filebeat/filebeat.yml
+            name: filebeat-conf
+            subPath: filebeat.yml
+      volumes:
+        - emptyDir: {}
+          name: component-log
+        - emptyDir: {}
+          name: filebeat-data
+        - configMap:
+            defaultMode: 420
+            name: {{ include "common.fullname" . }}-filebeat-configmap
+          name: filebeat-conf
+        - emptyDir: {}
+          name: tls-info
+        - configMap:
+            defaultMode: 422
+            name: {{ include "common.fullname" . }}-configmap
+          name: dh-config
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-deployment-handler/templates/service.yaml
new file mode 100644 (file)
index 0000000..088d381
--- /dev/null
@@ -0,0 +1,43 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-deployment-handler/values.yaml b/kubernetes/dcaegen2/charts/dcae-deployment-handler/values.yaml
new file mode 100644 (file)
index 0000000..d1fbe5b
--- /dev/null
@@ -0,0 +1,95 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  tlsRepository: nexus3.onap.org:10001
+  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.0
+  consulLoaderRepository: nexus3.onap.org:10001
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
+  repositoryCred:
+    user: docker
+    password: docker
+
+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.platform.deployment-handler:3.2.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
+  # liveness not desirable for Cloudify Manager container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 30
+  periodSeconds: 30
+  path: /
+  scheme: HTTPS
+
+service:
+  type: ClusterIP
+  name: deployment-handler
+  externalPort: 8443
+  internalPort: 8443
+
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+# dcae_ns: "dcae"
index 7838540..56e49c9 100644 (file)
@@ -19,4 +19,4 @@
 apiVersion: v1
 description: ONAP DCAE Health Check
 name: dcae-healthcheck
-version: 3.0.0
+version: 4.0.0
index 8943620..5b4519e 100644 (file)
@@ -18,5 +18,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 3c9936b..913cb71 100644 (file)
@@ -45,7 +45,7 @@ readiness:
   periodSeconds: 10
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.2.1
+image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.2.4
 
 # Resource Limit flavor -By Default using small
 flavor: small
@@ -1,7 +1,6 @@
 #============LICENSE_START========================================================
 #=================================================================================
-# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright © 2018 Amdocs, Bell Canada
+# Copyright (c) 2019 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.
 # 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: {{ include "common.repository" . }}/{{ .Values.componentImages.deployment_handler }}
-{{ end }}
-application_config:
-  cloudify:
-    protocol: "http"
-  inventory:
-    protocol: "http"
+
+apiVersion: v1
+description: ONAP DCAE Policy Handler
+name: dcae-policy-handler
+version: 4.0.0
@@ -1,4 +1,5 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.0.0
     repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-policy-handler/resources/config/config.json b/kubernetes/dcaegen2/charts/dcae-policy-handler/resources/config/config.json
new file mode 100644 (file)
index 0000000..76aa383
--- /dev/null
@@ -0,0 +1,41 @@
+{
+  "policy_handler": {
+    "thread_pool_size": 4,
+    "pool_connections": 20,
+    "policy_retry_count": 5,
+    "policy_retry_sleep": 5,
+    "catch_up": {
+      "interval": 1200
+    },
+    "reconfigure": {
+      "interval": 600
+    },
+    "policy_engine": {
+      "url": "https://{{ .Values.config.address.policy_pdp }}.{{include "common.namespace" . }}:8081",
+      "path_notifications": "/pdp/notifications",
+      "path_api": "/pdp/api/",
+      "headers": {
+        "Accept": "application/json",
+        "Content-Type": "application/json",
+        "ClientAuth": "cHl0aG9uOnRlc3Q=",
+        "Authorization": "Basic dGVzdHBkcDphbHBoYTEyMw==",
+        "Environment": "TEST"
+      },
+      "target_entity": "policy_engine",
+      "tls_ca_mode": "cert_directory",
+      "tls_wss_ca_mode": "cert_directory",
+      "timeout_in_secs": 60,
+      "ws_ping_interval_in_secs": 180
+    },
+    "deploy_handler": {
+      "target_entity": "deployment_handler",
+      "url": "https://deployment-handler:8443",
+      "max_msg_length_mb": 5,
+      "query": {
+        "cfy_tenant_name": "default_tenant"
+      },
+      "tls_ca_mode": "cert_directory",
+      "timeout_in_secs": 60
+    }
+  }
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-policy-handler/resources/log/filebeat.yml b/kubernetes/dcaegen2/charts/dcae-policy-handler/resources/log/filebeat.yml
new file mode 100644 (file)
index 0000000..1a3f693
--- /dev/null
@@ -0,0 +1,72 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+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-policy-handler/templates/configmap.yaml b/kubernetes/dcaegen2/charts/dcae-policy-handler/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..39af31a
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{include "common.fullname" . }}-filebeat-configmap
+  namespace: {{include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/log/*").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/dcaegen2/charts/dcae-policy-handler/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-policy-handler/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..a6b87bf
--- /dev/null
@@ -0,0 +1,157 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      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-deployment-handler
+          - --container-name
+          - consul-server
+          - --container-name
+          - pdp
+          - "-t"
+          - "45"
+          env:
+          - name: NAMESPACE
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: metadata.namespace
+        - name: init-tls
+          env:
+          - name: POD_IP
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: status.podIP
+          image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources: {}
+          volumeMounts:
+            - mountPath: /opt/tls/shared
+              name: tls-info
+        - name: init-consul
+          image: {{ .Values.global.consulLoaderRepository }}/{{ .Values.global.consulLoaderImage }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          args:
+          - --key
+          - policy_handler|/phconfig/config.json
+          resources: {}
+          volumeMounts:
+            - mountPath: /phconfig
+              name: ph-config
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          resources:
+{{ include "common.resources" . | indent 12 }}
+          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:
+            httpGet:
+              path: {{ .Values.readiness.path }}
+              port: {{ .Values.service.internalPort }}
+              scheme: {{ .Values.readiness.scheme }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+            - mountPath: /opt/app/policy_handler/logs
+              name: component-log
+            - mountPath: /opt/app/policy_handler/etc/tls/certs/
+              name: tls-info
+          env:
+            - name: CONSUL_HOST
+              value: consul-server.{{ include "common.namespace" . }}
+            - name: CLOUDIFY_USER
+              value: admin
+            - name: CLOUDIFY_PASSWORD
+              value: admin
+            - name: CONFIG_BINDING_SERVICE
+              value: config-binding-service
+            - name: POD_IP
+              valueFrom:
+                fieldRef:
+                  apiVersion: v1
+                  fieldPath: status.podIP
+        - name: {{ include "common.name" . }}-filebeat
+          env:
+            - name: POD_IP
+              valueFrom:
+                fieldRef:
+                  apiVersion: v1
+                  fieldPath: status.podIP
+          image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
+          imagePullPolicy: IfNotPresent
+          resources: {}
+          volumeMounts:
+          - mountPath: /var/log/onap/deployment-handler
+            name: component-log
+          - mountPath: /usr/share/filebeat/data
+            name: filebeat-data
+          - mountPath: /usr/share/filebeat/filebeat.yml
+            name: filebeat-conf
+            subPath: filebeat.yml
+      volumes:
+        - emptyDir: {}
+          name: component-log
+        - emptyDir: {}
+          name: filebeat-data
+        - configMap:
+            defaultMode: 420
+            name: {{ include "common.fullname" . }}-filebeat-configmap
+          name: filebeat-conf
+        - emptyDir: {}
+          name: tls-info
+        - configMap:
+            defaultMode: 422
+            name: {{ include "common.fullname" . }}-configmap
+          name: ph-config
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-policy-handler/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-policy-handler/templates/service.yaml
new file mode 100644 (file)
index 0000000..088d381
--- /dev/null
@@ -0,0 +1,43 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-policy-handler/values.yaml b/kubernetes/dcaegen2/charts/dcae-policy-handler/values.yaml
new file mode 100644 (file)
index 0000000..0494a9e
--- /dev/null
@@ -0,0 +1,95 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  tlsRepository: nexus3.onap.org:10001
+  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.0
+  consulLoaderRepository: nexus3.onap.org:10001
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
+  repositoryCred:
+    user: docker
+    password: docker
+
+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.platform.policy-handler:4.6.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
+  # liveness not desirable for Cloudify Manager container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 300
+  path: /healthcheck
+  scheme: HTTP
+
+service:
+  type: ClusterIP
+  name: policy-handler
+  externalPort: 25577
+  internalPort: 25577
+
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+# dcae_ns: "dcae"
index 1b0325d..f01b628 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP DCAE Redis
 name: dcae-redis
-version: 3.0.0
+version: 4.0.0
index 2aa12fd..f6b1545 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/Chart.yaml
new file mode 100644 (file)
index 0000000..918f82e
--- /dev/null
@@ -0,0 +1,21 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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 Service Change Handler
+name: dcae-servicechange-handler
+version: 4.0.0
\ No newline at end of file
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/Chart.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/Chart.yaml
new file mode 100644 (file)
index 0000000..1b6e852
--- /dev/null
@@ -0,0 +1,21 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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 Inventory API Service
+name: dcae-inventory-api
+version: 4.0.0
\ No newline at end of file
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/requirements.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/requirements.yaml
new file mode 100644 (file)
index 0000000..55ac839
--- /dev/null
@@ -0,0 +1,22 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
+  - name: postgres
+    version: ~4.x-0
+    repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/resources/config/config.json b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/resources/config/config.json
new file mode 100644 (file)
index 0000000..a8329f6
--- /dev/null
@@ -0,0 +1,34 @@
+{
+    "database": {
+      "driverClass": "org.postgresql.Driver",
+      "user": "{{ .Values.postgres.config.pgUserName }}",
+      "password": "{{ .Values.postgres.config.pgUserPassword }}",
+      "url": "jdbc:postgresql://{{ .Values.postgres.service.name2 }}:5432/{{ .Values.postgres.config.pgDatabase }}",
+      "properties": {
+        "charSet": "UTF-8"
+      },
+      "maxWaitForConnection": "1s",
+      "validationQuery": "/* MyService Health Check */ SELECT 1",
+      "minSize": 2,
+      "maxSize": 8,
+      "initialSize": 2,
+      "checkConnectionWhileIdle": false,
+      "evictionInterval": "10s",
+      "minIdleTime": "1 minute"
+    },
+    "databusControllerConnection": {
+      "host": "databus-controller-hostname",
+      "port": 8443,
+      "mechId": null,
+      "password": null,
+      "required": false
+    },
+    "httpClient": {
+      "minThreads": 1,
+      "maxThreads": 128,
+      "gzipEnabled": false,
+      "gzipEnabledForRequests": false,
+      "timeout": "5000milliseconds",
+      "connectionTimeout": "5000milliseconds"
+    }
+  }
\ No newline at end of file
@@ -1,4 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # WITHOUT 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" . }}-prov-props-configmap
+  name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -23,4 +23,4 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/provserver.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..e3e4aaf
--- /dev/null
@@ -0,0 +1,96 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      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
+            - {{ .Values.postgres.nameOverride }}
+            - "-t"
+            - "15"
+          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 }}
+          # Assumes that the Docker image is built with ENTRYPOINT set to
+          # ["java", "-jar", "/opt/inventory-api-x.y.z.jar", "server"]
+          # where "x.y.z" is the version number (matches the Docker image version number)
+          # The arg below adds a parameter, the path to a config file.
+          # This tells the inventory-api app to get its configuration from the file
+          # rather than querying Consul.
+          args:
+            - "/opt/config.json"
+          resources:
+{{ include "common.resources" . | indent 12 }}
+          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:
+            httpGet:
+              path: {{ .Values.readiness.path }}
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+            - name: {{  include "common.fullname" . }}-inv-config
+              mountPath: /opt/config.json
+              subPath: config.json
+          env:
+            - name: CONSUL_HOST
+              value: consul.{{ include "common.namespace" . }}
+      volumes:
+        - name: {{ include "common.fullname" . }}-inv-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/templates/service.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/templates/service.yaml
new file mode 100644 (file)
index 0000000..088d381
--- /dev/null
@@ -0,0 +1,43 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.name }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.name }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/values.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/values.yaml
new file mode 100644 (file)
index 0000000..1fd004f
--- /dev/null
@@ -0,0 +1,122 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  repositoryCred:
+    user: docker
+    password: docker
+
+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.platform.inventory-api:3.0.4
+
+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
+  # liveness not desirable for Cloudify Manager container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 30
+  periodSeconds: 30
+  path: /dcae-service-types
+
+service:
+  type: ClusterIP
+  name: inventory
+  externalPort: 8080
+  internalPort: 8080
+
+# application configuration override for postgres
+postgres:
+  nameOverride: dcae-inv-pg
+  service:
+    name: dcae-inv-postgres
+    name2: dcae-inv-pg-primary
+    name3: dcae-inv-pg-replica
+  container:
+    name:
+      primary: dcae-inv-pg-primary
+      replica: dcae-inv-pg-replica
+  config:
+    pgUserName: dcae_inv
+    pgDatabase: dcae_inventory
+    pgPrimaryPassword: onapdemodb
+    pgUserPassword: onapdemodb
+    pgRootPassword: onapdemodb
+  persistence:
+    mountSubPath: dcae-inv/data
+    mountInitPath: dcae-inv
+  pgpool:
+    nameOverride: dcae-inv-pgpool
+    service:
+      name: dcae-inv-pgpool
+    credentials:
+      pgusername: ddcae_inv
+      pgpassword: onapdemodb
+    container:
+      name:
+        primary: dcae-inv-pgpool-primary
+        replica: dcae-inv-pgpool-replica
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+# dcae_ns: "dcae"
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/requirements.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/requirements.yaml
new file mode 100644 (file)
index 0000000..0ba9e47
--- /dev/null
@@ -0,0 +1,19 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/resources/config/config.json b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/resources/config/config.json
new file mode 100644 (file)
index 0000000..7ddc800
--- /dev/null
@@ -0,0 +1,22 @@
+{
+  "asdcDistributionClient": {
+    "asdcAddress": "{{ .Values.config.address.sdc }}.{{include "common.namespace" . }}:8443",
+    "asdcUri": "https://{{ .Values.config.address.sdc }}.{{include "common.namespace" . }}:8443",
+    "msgBusAddress": "{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}",
+    "user": "{{ .Values.sdc.user }}",
+    "password": "{{ .Values.sdc.password }}",
+    "pollingInterval": 20,
+    "pollingTimeout": 20,
+    "consumerGroup": "dcae",
+    "consumerId": "dcae-sch",
+    "environmentName": "{{ .Values.sdc.environmentName }}",
+    "keyStorePath": null,
+    "keyStorePassword": null,
+    "activateServerTLSAuth": {{ .Values.sdc.useHttps }},
+    "useHttpsWithDmaap": {{ .Values.dmaap.useHttps }},
+    "isFilterInEmptyResources": false
+  },
+  "dcaeInventoryClient": {
+    "uri": "http://inventory:8080"
+  }
+}
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/templates/configmap.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..9cda43c
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/templates/deployment.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..44ebc42
--- /dev/null
@@ -0,0 +1,95 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      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-inventory-api"
+            - --container-name
+            - "message-router"
+            - --container-name
+            - "sdc-dcae-be"
+            - "-t"
+            - "45"
+          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 }}
+          command: ["java"]
+          args:
+            - "-jar"
+            - "/opt/servicechange-handler.jar"
+            - "prod"
+            - "/opt/config.json"
+          resources:
+{{ include "common.resources" . | indent 12 }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            exec:
+              command: [{{ .Values.liveness.script }}]
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            exec:
+              command: [{{ .Values.readiness.script }}]
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+            - name: {{  include "common.fullname" . }}-sch-config
+              mountPath: /opt/config.json
+              subPath: config.json
+          env:
+            - name: CONSUL_HOST
+              value: consul.{{ include "common.namespace" . }}
+      volumes:
+        - name: {{ include "common.fullname" . }}-sch-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dcaegen2/charts/dcae-servicechange-handler/values.yaml b/kubernetes/dcaegen2/charts/dcae-servicechange-handler/values.yaml
new file mode 100644 (file)
index 0000000..dd98516
--- /dev/null
@@ -0,0 +1,95 @@
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 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=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  repositoryCred:
+    user: docker
+    password: docker
+
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+  address:
+    # Addresses of ONAP components
+    message_router: message-router
+    sdc: sdc-be
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.5
+
+pullPolicy: Always
+
+# configuration for accessing SDC
+sdc:
+  user: "dcae"
+  password: !!str Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+  environmentName: "AUTO"
+  useHttps: false
+
+# configuration for accessing DMaaP
+dmaap:
+  useHttps: false
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 30
+  script: /opt/health.sh
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  # liveness not desirable for Cloudify Manager container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 30
+  periodSeconds: 30
+  script: /opt/health.sh
+
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+# dcae_ns: "dcae"
index 220dc46..fae2fe2 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 2f8bb0e..e3d629b 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP DMaaP components
 name: dmaap
-version: 3.0.0
+version: 4.0.0
index b39b91f..847366d 100644 (file)
@@ -1,5 +1,4 @@
 # Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
-# Modifications Copyright © 2018 Amdocs,Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-make-dmaap: make-bus-controller make-message-router make-dmaap-data-router
+make-dmaap: make-bus-controller make-message-router make-dmaap-dr-node make-dmaap-dr-prov
 
 make-bus-controller:
-       cd charts && helm dep up dmaap-bus-controller && helm lint dmaap-bus-controller
+       cd components && helm dep up dmaap-bus-controller && helm lint dmaap-bus-controller
 
 make-message-router:
-       cd charts && helm dep up message-router && helm lint message-router
+       cd components && helm dep up message-router && helm lint message-router
 
-make-dmaap-data-router:
-       cd charts && helm dep up dmaap-data-router && helm lint dmaap-data-router
+make-dmaap-dr-node:
+       cd components && helm dep up dmaap-dr-node && helm lint dmaap-dr-node
+
+make-dmaap-dr-prov:
+       cd components && helm dep up dmaap-dr-prov && helm lint dmaap-dr-prov
 
 clean:
        @find . -type f -name '*.tgz' -delete
diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/resources/config/mariadb/conf.d/mariadb1.cnf b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/resources/config/mariadb/conf.d/mariadb1.cnf
deleted file mode 100644 (file)
index ff2c637..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-# Example MySQL config file for medium systems.
-#
-# This is for a system with memory 8G where MySQL plays
-# an important part, or systems up to 128M where MySQL is used together with
-# other programs (such as a web server)
-#
-# In this file, you can use all long options that a program supports.
-# If you want to know which options a program supports, run the program
-# with the "--help" option.
-
-# The following options will be passed to all MySQL clients
-##[client]
-##user            = root
-##port            = 3306
-##socket          = //opt/app/mysql/mysql.sock
-
-# Here follows entries for some specific programs
-
-# The MySQL server
-[mysqld]
-##performance_schema
-
-slow_query_log =ON
-long_query_time =2
-slow_query_log_file =//var/lib/mysql/slow_query.log
-
-skip-external-locking
-explicit_defaults_for_timestamp = true
-skip-symbolic-links
-local-infile = 0
-key_buffer_size = 16M
-max_allowed_packet = 4M
-table_open_cache = 100
-sort_buffer_size = 512K
-net_buffer_length = 8K
-read_buffer_size = 256K
-read_rnd_buffer_size = 512K
-myisam_sort_buffer_size = 8M
-max_connections = 300
-lower_case_table_names = 1
-thread_stack = 256K
-thread_cache_size = 25
-query_cache_size = 8M
-query_cache_type = 0
-query_prealloc_size = 512K
-query_cache_limit = 1M
-
-# Password validation
-##plugin-load-add=simple_password_check.so
-##simple_password_check_other_characters=0
-
-# Audit Log settings
-plugin-load-add=server_audit.so
-server_audit=FORCE_PLUS_PERMANENT
-server_audit_file_path=//var/lib/mysql/audit.log
-server_audit_file_rotate_size=50M
-server_audit_events=CONNECT,QUERY,TABLE
-server_audit_logging=on
-
-# Don't listen on a TCP/IP port at all. This can be a security enhancement,
-# if all processes that need to connect to mysqld run on the same host.
-# All interaction with mysqld must be made via Unix sockets or named pipes.
-# Note that using this option without enabling named pipes on Windows
-# (via the "enable-named-pipe" option) will render mysqld useless!
-#
-#skip-networking
-
-# Replication Master Server (default)
-# binary logging is required for replication
-##log-bin=//var/lib/mysql/mysql-bin
-
-# binary logging format - mixed recommended
-binlog_format=row
-
-# required unique id between 1 and 2^32 - 1
-# defaults to 1 if master-host is not set
-# but will not function as a master if omitted
-
-# Replication Slave (comment out master section to use this)
-#
-# To configure this host as a replication slave, you can choose between
-# two methods :
-#
-# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
-#    the syntax is:
-#
-#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
-#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
-#
-#    where you replace <host>, <user>, <password> by quoted strings and
-#    <port> by the master's port number (3306 by default).
-#
-#    Example:
-#
-#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
-#    MASTER_USER='joe', MASTER_PASSWORD='secret';
-#
-# OR
-#
-# 2) Set the variables below. However, in case you choose this method, then
-#    start replication for the first time (even unsuccessfully, for example
-#    if you mistyped the password in master-password and the slave fails to
-#    connect), the slave will create a master.info file, and any later
-#    change in this file to the variables' values below will be ignored and
-#    overridden by the content of the master.info file, unless you shutdown
-#    the slave server, delete master.info and restart the slaver server.
-#    For that reason, you may want to leave the lines below untouched
-#    (commented) and instead use CHANGE MASTER TO (see above)
-#
-# required unique id between 2 and 2^32 - 1
-# (and different from the master)
-# defaults to 2 if master-host is set
-# but will not function as a slave if omitted
-#server-id       = 2
-#
-# The replication master for this slave - required
-#master-host     =   <hostname>
-#
-# The username the slave will use for authentication when connecting
-# to the master - required
-#master-user     =   <username>
-#
-# The password the slave will authenticate with when connecting to
-# the master - required
-#master-password =   <password>
-#
-# The port the master is listening on.
-# optional - defaults to 3306
-#master-port     =  <port>
-#
-# binary logging - not required for slaves, but recommended
-#log-bin=mysql-bin
-
-# Uncomment the following if you are using InnoDB tables
-##innodb_data_home_dir = //opt/app/mysql/data
-##innodb_data_file_path = ibdata1:20M:autoextend:max:32G
-##innodb_log_group_home_dir = //opt/app/mysql/iblogs
-# You can set .._buffer_pool_size up to 50 - 80 %
-# of RAM but beware of setting memory usage too high
-#innodb_buffer_pool_size = 6380M
-#innodb_additional_mem_pool_size = 2M
-# Set .._log_file_size to 25 % of buffer pool size
-innodb_log_file_size = 150M
-innodb_log_files_in_group = 3
-innodb_log_buffer_size = 8M
-#innodb_flush_log_at_trx_commit = 1
-innodb_lock_wait_timeout = 50
-innodb_autoextend_increment = 100
-expire_logs_days = 8
-open_files_limit = 2000
-transaction-isolation=READ-COMMITTED
-####### Galera parameters #######
-## Galera Provider configuration
-wsrep_provider=/usr/lib/galera/libgalera_smm.so
-wsrep_provider_options="gcache.size=1G; gcache.page_size=1G"
-## Galera Cluster configuration
-wsrep_cluster_name="MSO-automated-tests-cluster"
-wsrep_cluster_address="gcomm://"
-#wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3"
-##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186"
-## Galera Synchronization configuration
-wsrep_sst_method=rsync
-#wsrep_sst_method=xtrabackup-v2
-#wsrep_sst_auth="sstuser:Mon#2o!6"
-## Galera Node configuration
-wsrep_node_name="mariadb1"
-##wsrep_node_address="192.169.3.184"
-wsrep_on=ON
-## Status notification
-#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify
-#######
-
-
-[mysqldump]
-quick
-max_allowed_packet = 16M
-
-[mysql]
-no-auto-rehash
-# Remove the next comment character if you are not familiar with SQL
-#safe-updates
-
-[myisamchk]
-key_buffer_size = 20971520
-
-##[mysqlhotcopy]
-##interactive-timeout
-##[mysqld_safe]
-##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1
-##log-error=//opt/app/mysql/log/mysqld.log
-
-general_log_file        = /var/log/mysql/mysql.log
-general_log             = 1
diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/resources/config/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/resources/config/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql
deleted file mode 100644 (file)
index e7fade9..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-USE `datarouter`;
-
-CREATE TABLE FEEDS (
-    FEEDID         INT UNSIGNED NOT NULL PRIMARY KEY,
-    GROUPID        INT(10) UNSIGNED NOT NULL DEFAULT 0,
-    NAME           VARCHAR(255) NOT NULL,
-    VERSION        VARCHAR(20) NOT NULL,
-    DESCRIPTION    VARCHAR(1000),
-    BUSINESS_DESCRIPTION VARCHAR(1000) DEFAULT NULL,
-    AUTH_CLASS     VARCHAR(32) NOT NULL,
-    PUBLISHER      VARCHAR(8) NOT NULL,
-    SELF_LINK      VARCHAR(256),
-    PUBLISH_LINK   VARCHAR(256),
-    SUBSCRIBE_LINK VARCHAR(256),
-    LOG_LINK       VARCHAR(256),
-    DELETED        BOOLEAN DEFAULT FALSE,
-    LAST_MOD       TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-    SUSPENDED      BOOLEAN DEFAULT FALSE,
-    CREATED_DATE   TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-);
-
-CREATE TABLE FEED_ENDPOINT_IDS (
-    FEEDID        INT UNSIGNED NOT NULL,
-    USERID        VARCHAR(20) NOT NULL,
-    PASSWORD      VARCHAR(32) NOT NULL
-);
-
-CREATE TABLE FEED_ENDPOINT_ADDRS (
-    FEEDID        INT UNSIGNED NOT NULL,
-    ADDR          VARCHAR(44) NOT NULL
-);
-
-CREATE TABLE SUBSCRIPTIONS (
-    SUBID              INT UNSIGNED NOT NULL PRIMARY KEY,
-    FEEDID             INT UNSIGNED NOT NULL,
-    GROUPID            INT(10) UNSIGNED NOT NULL DEFAULT 0,
-    DELIVERY_URL       VARCHAR(256),
-    DELIVERY_USER      VARCHAR(20),
-    DELIVERY_PASSWORD  VARCHAR(32),
-    DELIVERY_USE100    BOOLEAN DEFAULT FALSE,
-    METADATA_ONLY      BOOLEAN DEFAULT FALSE,
-    SUBSCRIBER         VARCHAR(8) NOT NULL,
-    SELF_LINK          VARCHAR(256),
-    LOG_LINK           VARCHAR(256),
-    LAST_MOD           TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-    SUSPENDED          BOOLEAN DEFAULT FALSE,
-    CREATED_DATE       TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-
-);
-
-CREATE TABLE PARAMETERS (
-    KEYNAME        VARCHAR(32) NOT NULL PRIMARY KEY,
-    VALUE          VARCHAR(4096) NOT NULL
-);
-
-CREATE TABLE LOG_RECORDS (
-    TYPE           ENUM('pub', 'del', 'exp', 'pbf', 'dlx') NOT NULL,
-    EVENT_TIME     BIGINT NOT NULL,           /* time of the publish request */
-    PUBLISH_ID     VARCHAR(64) NOT NULL,      /* unique ID assigned to this publish attempt */
-    FEEDID         INT UNSIGNED NOT NULL,     /* pointer to feed in FEEDS */
-    REQURI         VARCHAR(256) NOT NULL,     /* request URI */
-    METHOD         ENUM('DELETE', 'GET', 'HEAD', 'OPTIONS', 'PUT', 'POST', 'TRACE') NOT NULL, /* HTTP method */
-    CONTENT_TYPE   VARCHAR(256) NOT NULL,     /* content type of published file */
-    CONTENT_LENGTH BIGINT NOT NULL,  /* content length of published file */
-
-    FEED_FILEID    VARCHAR(256),        /* file ID of published file */
-    REMOTE_ADDR    VARCHAR(40),         /* IP address of publishing endpoint */
-    USER           VARCHAR(50),         /* user name of publishing endpoint */
-    STATUS         SMALLINT,            /* status code returned to delivering agent */
-
-    DELIVERY_SUBID INT UNSIGNED,        /* pointer to subscription in SUBSCRIPTIONS */
-    DELIVERY_FILEID  VARCHAR(256),      /* file ID of file being delivered */
-    RESULT         SMALLINT,            /* result received from subscribing agent */
-
-    ATTEMPTS       INT,             /* deliveries attempted */
-    REASON         ENUM('notRetryable', 'retriesExhausted', 'diskFull', 'other'),
-
-    RECORD_ID      BIGINT UNSIGNED NOT NULL PRIMARY KEY, /* unique ID for this record */
-    CONTENT_LENGTH_2 BIGINT,
-
-    INDEX (FEEDID) USING BTREE,
-    INDEX (DELIVERY_SUBID) USING BTREE,
-    INDEX (RECORD_ID) USING BTREE
-) ENGINE = MyISAM;
-
-CREATE TABLE INGRESS_ROUTES (
-    SEQUENCE  INT UNSIGNED NOT NULL,
-    FEEDID    INT UNSIGNED NOT NULL,
-    USERID    VARCHAR(20),
-    SUBNET    VARCHAR(44),
-    NODESET   INT UNSIGNED NOT NULL
-);
-
-CREATE TABLE EGRESS_ROUTES (
-    SUBID    INT UNSIGNED NOT NULL PRIMARY KEY,
-    NODEID   INT UNSIGNED NOT NULL
-);
-
-CREATE TABLE NETWORK_ROUTES (
-    FROMNODE INT UNSIGNED NOT NULL,
-    TONODE   INT UNSIGNED NOT NULL,
-    VIANODE  INT UNSIGNED NOT NULL
-);
-
-CREATE TABLE NODESETS (
-    SETID   INT UNSIGNED NOT NULL,
-    NODEID  INT UNSIGNED NOT NULL
-);
-
-CREATE TABLE NODES (
-    NODEID  INT UNSIGNED NOT NULL PRIMARY KEY,
-    NAME    VARCHAR(255) NOT NULL,
-    ACTIVE  BOOLEAN DEFAULT TRUE
-);
-
-CREATE TABLE GROUPS (
-    GROUPID        INT UNSIGNED NOT NULL PRIMARY KEY,
-    AUTHID         VARCHAR(100) NOT NULL,
-    NAME           VARCHAR(50) NOT NULL,
-    DESCRIPTION    VARCHAR(255),
-    CLASSIFICATION VARCHAR(20) NOT NULL,
-    MEMBERS        TINYTEXT,
-    LAST_MOD       TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-);
-
-INSERT INTO PARAMETERS VALUES
-    ('ACTIVE_POD',  '{{.Values.global.config.dmaapDrProv.name}}'),
-    ('PROV_ACTIVE_NAME', '{{.Values.global.config.dmaapDrProv.name}}'),
-    ('STANDBY_POD', ''),
-    ('PROV_NAME',   '{{.Values.global.config.dmaapDrProv.name}}'),
-    ('NODES',       '{{.Values.global.config.dmaapDrNode.name}}'),
-    ('PROV_DOMAIN', '{{ include "common.namespace" . }}'),
-    ('DELIVERY_INIT_RETRY_INTERVAL', '10'),
-    ('DELIVERY_MAX_AGE', '86400'),
-    ('DELIVERY_MAX_RETRY_INTERVAL', '3600'),
-    ('DELIVERY_RETRY_RATIO', '2'),
-    ('LOGROLL_INTERVAL', '300'),
-    ('PROV_AUTH_ADDRESSES', '{{.Values.global.config.dmaapDrProv.name}}|{{.Values.global.config.dmaapDrNode.name}}'),
-    ('PROV_AUTH_SUBJECTS', ''),
-    ('PROV_MAXFEED_COUNT',  '10000'),
-    ('PROV_MAXSUB_COUNT',   '100000'),
-    ('PROV_REQUIRE_CERT', 'false'),
-    ('PROV_REQUIRE_SECURE', 'false'),
-    ('_INT_VALUES', 'LOGROLL_INTERVAL|PROV_MAXFEED_COUNT|PROV_MAXSUB_COUNT|DELIVERY_INIT_RETRY_INTERVAL|DELIVERY_MAX_RETRY_INTERVAL|DELIVERY_RETRY_RATIO|DELIVERY_MAX_AGE');
diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/NOTES.txt b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/NOTES.txt
deleted file mode 100644 (file)
index 7187941..0000000
+++ /dev/null
@@ -1,33 +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.
-
-1. Get the application URL by running these commands:
-{{- if .Values.ingress.enabled }}
-{{- range .Values.ingress.hosts }}
-  http://{{ . }}
-{{- end }}
-{{- else if contains "NodePort" .Values.global.config.mariadb.servicetype }}
-  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.global.config.mariadb.servicetype }}
-     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.global.config.mariadb.externalPort}}
-{{- else if contains "ClusterIP" .Values.global.config.mariadb.servicetype }}
-  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.global.config.mariadb.internalPort}}
-{{- end }}
diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml
deleted file mode 100644 (file)
index dd75846..0000000
+++ /dev/null
@@ -1,39 +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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-mdb-configmap
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/conf.d/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-mdb-initd-configmap
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql").AsConfig . | indent 2 }}
diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/values.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/values.yaml
deleted file mode 100644 (file)
index 03a46ac..0000000
+++ /dev/null
@@ -1,80 +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.
-
-# Default values for mariadb.
-# This is a YAML-formatted file.
-# Declare variables to be passed into your templates.
-global: # global defaults
-  persistence: {}
-
-# application image
-repository: nexus3.onap.org:10001
-image: mariadb:10.2.14
-pullPolicy: Always
-
-# application configuration - see parent values chart
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-# default number of instances
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 30
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 30
-  periodSeconds: 10
-
-## Persist data to a persitent volume
-persistence:
-  enabled: true
-  volumeReclaimPolicy: Retain
-  accessMode: ReadWriteMany
-  size: 1Gi
-  mountPath: /dockerdata-nfs
-  mountSubPath: dmaap/dr-db/data
-
-ingress:
-  enabled: false
-
-# Resource Limit flavor -By Default using small
-flavor: small
-# Segregation for Different environment (Small and Large)
-resources:
-  small:
-    limits:
-      cpu: 2000m
-      memory: 4Gi
-    requests:
-      cpu: 500m
-      memory: 1Gi
-  large:
-    limits:
-      cpu: 4000m
-      memory: 8Gi
-    requests:
-      cpu: 1000m
-      memory: 2Gi
-  unlimited: {}
diff --git a/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/deployment.yaml b/kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/deployment.yaml
deleted file mode 100644 (file)
index 8488758..0000000
+++ /dev/null
@@ -1,114 +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.
-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:
-      hostname: {{.Values.global.config.dmaapDrNode.name}}
-      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
-          - {{.Values.global.config.dmaapDrProv.name}}
-          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.global.config.dmaapDrNode.externalPort}}
-          - containerPort: {{.Values.global.config.dmaapDrNode.externalPort2}}
-          {{- if eq .Values.liveness.enabled true }}
-          livenessProbe:
-            tcpSocket:
-              port: {{.Values.global.config.dmaapDrNode.internalPort}}
-            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
-            periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
-          readinessProbe:
-            tcpSocket:
-              port: {{.Values.global.config.dmaapDrNode.internalPort}}
-            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
-            periodSeconds: {{ .Values.readiness.periodSeconds }}
-          volumeMounts:
-          - mountPath: /etc/localtime
-            name: localtime
-            readOnly: false
-          - mountPath: /opt/app/datartr/etc/dedicatedFeed.json
-            subPath: dedicatedFeed.json
-            name: create-feed
-          - mountPath: /opt/app/datartr/etc/createFeed.sh
-            subPath: createFeed.sh
-            name: create-feed
-          - mountPath: /opt/app/datartr/etc/node.properties
-            subPath: node.properties
-            name: node-props
-          lifecycle:
-            postStart:
-              exec:
-                command:
-                - /opt/app/datartr/etc/createFeed.sh
-          resources:
-{{ include "common.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: create-feed
-        configMap:
-          name: {{ include "common.fullname" . }}-create-feed-configmap
-          defaultMode: 0755
-      - name: node-props
-        configMap:
-          name: {{ include "common.fullname" . }}-node-props-configmap
-      - name: dr-node-data
-      {{- if .Values.persistence.enabled }}
-        persistentVolumeClaim:
-          claimName: {{ include "common.fullname" . }}
-      {{- else }}
-        emptyDir: {}
-      {{- end }}
-    imagePullSecrets:
-    - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
diff --git a/kubernetes/dmaap/charts/dmaap-data-router/values.yaml b/kubernetes/dmaap/charts/dmaap-data-router/values.yaml
deleted file mode 100644 (file)
index 7f29f93..0000000
+++ /dev/null
@@ -1,58 +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.
-
-#################################################################
-# DMaap Data Router Global config defaults.
-#################################################################
-global:
-  persistence: {}
-  env:
-    name: AUTO
-  ubuntuInitRepository: oomk8s
-  ubuntuInitImage: ubuntu-init:1.0.0
-
-  config:
-# dr db configuration
-    mariadb:
-      servicetype: ClusterIP
-      name: dmaap-dr-db
-      portName: dr-db-port
-      internalPort: 3306
-      externalPort: 3306
-      mariadbRootPassword: datarouter
-      userName: datarouter
-      userPassword: datarouter
-      mysqlDatabase: datarouter
-# dr provisioning server configuration
-    dmaapDrProv:
-      servicetype: NodePort
-      name: dmaap-dr-prov
-      externalPort: 8080
-      externalPort2: 8443
-      internalPort: 8080
-      internalPort2: 8443
-      portName: dr-prov-port
-      portName2: dr-prov-port2
-      nodePort: 59
-      nodePort2: 69
-# dr node server configuration
-    dmaapDrNode:
-      servicetype: ClusterIP
-      name: dmaap-dr-node
-      externalPort: 8080
-      internalPort: 8080
-      externalPort2: 8443
-      internalPort2: 8443
-      portName: dr-node-port
-      portName2: dr-node-port2
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: a Helm chart to deploy ONAP DMaaP Bus Controller (aka dmaap-prov) in Kubernetes
 name: dmaap-bus-controller
-version: 3.0.0
+version: 4.0.0
@@ -14,8 +14,8 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: postgres
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
@@ -31,7 +31,7 @@ UseAAF: false
 csit: No
 
 # name of this DMaaP instance (deprecated)
-DmaapName: demo
+#DmaapName: demo
 
 #####################################################
 #
@@ -39,7 +39,7 @@ DmaapName: demo
 #
 #####################################################
 # FQDN of DR Prov Server (deprecated)
-DR.provhost: dcae-drps.domain.not.set
+#DR.provhost: dcae-drps.domain.not.set
 
 # URI to retrieve dynamic DR configuration
 ProvisioningURI:  /internal/prov
@@ -99,7 +99,7 @@ MR.TopicFactoryNS: org.onap.dmaap.mr.topicFactory
 MR.TopicMgrRole: org.onap.dmaap-bc-topic-mgr.client
 
 # MR topic ProjectID (used in certain topic name generation formats)
-MR.projectID:  ONAP
+MR.projectID:  mr
 
 
 #####################################################
@@ -130,6 +130,9 @@ aaf.AdminUser: {{ .Values.adminUser }}
 # Admin Password
 aaf.AdminPassword: {{ .Values.adminPwd }}
 
+# Identity that is owner of any created namespaces for topics
+aaf.NsOwnerIdentity: {{ .Values.adminUser }}
+
 # location of the codec keyfile used to decrypt passwords in this properties file before they are passed to AAF
 CredentialCodeKeyfile: etc/LocalKey
 
@@ -31,6 +31,10 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      hostAliases:
+      - ip: "10.12.6.214"
+        hostnames:
+        - "aaf-onap-test.osaaf.org"
       initContainers:
       - command:
         - /root/ready.py
@@ -36,7 +36,7 @@ image: onap/dmaap/buscontroller:1.0.23
 
 # application configuration
 dmaapMessageRouterService: message-router
-aafURL: https://aaf-authz/
+aafURL: https://aaf-onap-test.osaaf.org:8095/proxy/
 topicMgrUser: dmaap-bc-topic-mgr@dmaap-bc-topic-mgr.onap.org
 topicMgrPwd: demo123456!
 adminUser: aaf_admin@people.osaaf.org
diff --git a/kubernetes/dmaap/components/dmaap-dr-node/requirements.yaml b/kubernetes/dmaap/components/dmaap-dr-node/requirements.yaml
new file mode 100644 (file)
index 0000000..0b61906
--- /dev/null
@@ -0,0 +1,24 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
@@ -1,8 +1,8 @@
 #!/bin/sh
 
-dr_prov_url="{{.Values.global.config.dmaapDrProv.name}}:{{.Values.global.config.dmaapDrProv.internalPort2}}"
-ct_header="Content-Type:application/vnd.att-dr.feed"
-obo_header="X-ATT-DR-ON-BEHALF-OF:dradmin"
+dr_prov_url="{{.Values.config.dmaapDrProv.name}}:{{.Values.config.dmaapDrProv.internalPort2}}"
+ct_header="Content-Type:application/vnd.dmaap-dr.feed"
+obo_header="X-DMAAP-DR-ON-BEHALF-OF:dradmin"
 feed_payload=/opt/app/datartr/etc/dedicatedFeed.json
 
 sleep 20
diff --git a/kubernetes/dmaap/components/dmaap-dr-node/resources/config/logback.xml b/kubernetes/dmaap/components/dmaap-dr-node/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..25a2c6e
--- /dev/null
@@ -0,0 +1,148 @@
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2019 Nordix Foundation.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+
+  <property name="generalLogName" value="apicalls" />
+  <property name="errorLogName" value="errors" />
+  <property name="jettyAndNodeLogName" value="node"/>
+
+  <property name="defaultPattern"    value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />
+  <property name="jettyAndNodeLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />
+  <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />
+
+  <property name="logDirectory" value="/opt/app/datartr/logs" />
+
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>${defaultPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!-- EELF Appenders -->
+  <!-- ============================================================================ -->
+
+  <appender name="EELF"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${generalLogName}.log</file>
+     <filter class="ch.qos.logback.classic.filter.LevelFilter">
+        <level>INFO</level>
+        <onMatch>ACCEPT</onMatch>
+        <onMismatch>DENY</onMismatch>
+    </filter>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
+      </fileNamePattern>
+      <minIndex>1</minIndex>
+      <maxIndex>9</maxIndex>
+    </rollingPolicy>
+    <triggeringPolicy
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>5MB</maxFileSize>
+    </triggeringPolicy>
+    <encoder>
+      <pattern>${defaultPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELF" />
+  </appender>
+
+  <appender name="EELFError"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${errorLogName}.log</file>
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+        <level>ERROR</level>
+        <onMatch>ACCEPT</onMatch>
+        <onMismatch>DENY</onMismatch>
+    </filter>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
+      </fileNamePattern>
+      <minIndex>1</minIndex>
+      <maxIndex>9</maxIndex>
+    </rollingPolicy>
+    <triggeringPolicy
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>5MB</maxFileSize>
+    </triggeringPolicy>
+    <encoder>
+      <pattern>${defaultPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFError"/>
+  </appender>
+
+  <!-- ============================================================================ -->
+   <appender name="jettyAndNodelog"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${jettyAndNodeLogName}.log</file>
+     <filter class="org.onap.dmaap.datarouter.node.eelf.EELFFilter" />
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <fileNamePattern>${logDirectory}/${jettyAndNodeLogName}.%i.log.zip
+      </fileNamePattern>
+      <minIndex>1</minIndex>
+      <maxIndex>9</maxIndex>
+    </rollingPolicy>
+    <triggeringPolicy
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>5MB</maxFileSize>
+    </triggeringPolicy>
+    <encoder>
+      <pattern>${jettyAndNodeLoggerPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFjettyAndNodelog" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="jettyAndNodelog" />
+    <includeCallerData>true</includeCallerData>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!--  EELF loggers -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="info" additivity="false">
+    <appender-ref ref="asyncEELF" />
+  </logger>
+
+     <logger name="com.att.eelf.error" level="error" additivity="false">
+          <appender-ref ref="asyncEELFError" />
+      </logger>
+
+     <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">
+        <appender-ref ref="asyncEELFjettyAndNodelog"/>
+    </logger>
+
+  <root level="INFO">
+    <appender-ref ref="asyncEELF" />
+    <appender-ref ref="asyncEELFError" />
+     <appender-ref ref="asyncEELFjettyAndNodelog" />
+  </root>
+
+</configuration>
 #    URL to retrieve dynamic configuration
 #
 #ProvisioningURL:    ${DRTR_PROV_INTURL}
-ProvisioningURL=https://{{.Values.global.config.dmaapDrProv.name}}:{{.Values.global.config.dmaapDrProv.externalPort2}}/internal/prov
+ProvisioningURL=https://{{.Values.config.dmaapDrProv.name}}:{{.Values.config.dmaapDrProv.externalPort2}}/internal/prov
 
 #
 #    URL to upload PUB/DEL/EXP logs
 #
 #LogUploadURL:    ${DRTR_LOG_URL}
-LogUploadURL=https://{{.Values.global.config.dmaapDrProv.name}}:{{.Values.global.config.dmaapDrProv.externalPort2}}/internal/logs
+LogUploadURL=https://{{.Values.config.dmaapDrProv.name}}:{{.Values.config.dmaapDrProv.externalPort2}}/internal/logs
 
 #
 #    The port number for http as seen within the server
 #
 #IntHttpPort:    ${DRTR_NODE_INTHTTPPORT:-8080}
-IntHttpPort={{.Values.global.config.dmaapDrNode.internalPort}}
+IntHttpPort={{.Values.config.dmaapDrNode.internalPort}}
 #
 #    The port number for https as seen within the server
 #
-IntHttpsPort={{.Values.global.config.dmaapDrNode.internalPort2}}
+IntHttpsPort={{.Values.config.dmaapDrNode.internalPort2}}
 #
 #    The external port number for https taking port mapping into account
 #
@@ -83,11 +83,11 @@ KeyStoreFile=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks
 #
 #    The password for the https keystore
 #
-KeyStorePassword=4*&GD+w58RUM]01No.CYY;z6
+KeyStorePassword=]3V)($O&.Mv]W{f8^]6SxGNL
 #
 #    The password for the private key in the https keystore
 #
-KeyPassword=4*&GD+w58RUM]01No.CYY;z6
+KeyPassword=]3V)($O&.Mv]W{f8^]6SxGNL
 #
 #    The type of truststore for https
 #
@@ -99,7 +99,7 @@ TrustStoreFile=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks
 #
 #    The password for the https truststore
 #
-TrustStorePassword=UDXlT6Iu[F)k,Htk92+B,0Xj
+TrustStorePassword=(Rd,&{]%ePdp}4JZjqoJ2G+g
 #
 #    The path to the file used to trigger an orderly shutdown
 #
 {{- range .Values.ingress.hosts }}
   http://{{ . }}
 {{- end }}
-{{- else if contains "NodePort" .Values.global.config.dmaapDrNode.servicetype }}
+{{- else if contains "NodePort" .Values.config.dmaapDrNode.servicetype }}
   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.global.config.dmaapDrNode.servicetype }}
+{{- else if contains "LoadBalancer" .Values.config.dmaapDrNode.servicetype }}
      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.global.config.dmaapDrNode.externalPort}}
-{{- else if contains "ClusterIP" .Values.global.config.dmaapDrNode.servicetype }}
+  echo http://$SERVICE_IP:{{.Values.config.dmaapDrNode.externalPort}}
+{{- else if contains "ClusterIP" .Values.config.dmaapDrNode.servicetype }}
   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.global.config.dmaapDrNode.internalPort}}
+  kubectl port-forward $POD_NAME 8080:{{.Values.config.dmaapDrNode.internalPort}}
 {{- end }}
\ No newline at end of file
@@ -37,3 +37,11 @@ metadata:
     heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/feeds/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
diff --git a/kubernetes/dmaap/components/dmaap-dr-node/templates/pv.yaml b/kubernetes/dmaap/components/dmaap-dr-node/templates/pv.yaml
new file mode 100644 (file)
index 0000000..016a6ea
--- /dev/null
@@ -0,0 +1,61 @@
+{{/*
+  # ============LICENSE_START=======================================================
+  #  Copyright (C) 2019 Nordix Foundation.
+  # ================================================================================
+  # Licensed under the Apache License, Version 2.0 (the "License");
+  # you may not use this file except in compliance with the License.
+  # You may obtain a copy of the License at
+  #
+  #      http://www.apache.org/licenses/LICENSE-2.0
+  #
+  # Unless required by applicable law or agreed to in writing, software
+  # distributed under the License is distributed on an "AS IS" BASIS,
+  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  # See the License for the specific language governing permissions and
+  # limitations under the License.
+  #
+  # SPDX-License-Identifier: Apache-2.0
+  # ============LICENSE_END=========================================================
+*/}}
+
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-spool-data-pv
+  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" . }}-spool-data-pv
+spec:
+  capacity:
+    storage: {{ .Values.persistence.spoolSize }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-spool-data-stcl"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.spoolMountSubPath }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-event-logs-pv
+  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" . }}-event-logs-pv
+spec:
+  capacity:
+    storage: {{ .Values.persistence.eventLogSize }}
+  accessModes:
+    - {{ .Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" . }}-event-logs-stcl"
+  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.eventLogsMountSubPath }}
\ No newline at end of file
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{.Values.global.config.dmaapDrNode.name}}
+  name: {{.Values.config.dmaapDrNode.name}}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -25,24 +25,24 @@ metadata:
   annotations:
       service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
 spec:
-  type: {{.Values.global.config.dmaapDrNode.servicetype}}
+  type: {{.Values.config.dmaapDrNode.servicetype}}
   ports:
-    {{if eq .Values.global.config.dmaapDrNode.servicetype "NodePort" -}}
-    - port: {{.Values.global.config.dmaapDrNode.externalPort}}
-      targetPort: {{.Values.global.config.dmaapDrNode.internalPort}}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.global.config.dmaapDrNode.nodePort}}
-      name: {{.Values.global.config.dmaapDrNode.name}}
-    - port: {{.Values.global.config.dmaapDrNode.externalPort2}}
-      targetPort: {{.Values.global.config.dmaapDrNode.internalPort2}}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.global.config.dmaapDrNode.nodePort2}}
-      name: {{.Values.global.config.dmaapDrNode.name}}2
+    {{if eq .Values.config.dmaapDrNode.servicetype "NodePort" -}}
+    - port: {{.Values.config.dmaapDrNode.externalPort}}
+      targetPort: {{.Values.config.dmaapDrNode.internalPort}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.config.dmaapDrNode.nodePort}}
+      name: {{.Values.config.dmaapDrNode.name}}
+    - port: {{.Values.config.dmaapDrNode.externalPort2}}
+      targetPort: {{.Values.config.dmaapDrNode.internalPort2}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.config.dmaapDrNode.nodePort2}}
+      name: {{.Values.config.dmaapDrNode.name}}2
     {{- else -}}
-    - port: {{.Values.global.config.dmaapDrNode.externalPort}}
-      targetPort: {{.Values.global.config.dmaapDrNode.internalPort}}
-      name: {{.Values.global.config.dmaapDrNode.name}}
-    - port: {{.Values.global.config.dmaapDrNode.externalPort2}}
-      targetPort: {{.Values.global.config.dmaapDrNode.internalPort2}}
-      name: {{.Values.global.config.dmaapDrNode.name}}2
+    - port: {{.Values.config.dmaapDrNode.externalPort}}
+      targetPort: {{.Values.config.dmaapDrNode.internalPort}}
+      name: {{.Values.config.dmaapDrNode.name}}
+    - port: {{.Values.config.dmaapDrNode.externalPort2}}
+      targetPort: {{.Values.config.dmaapDrNode.internalPort2}}
+      name: {{.Values.config.dmaapDrNode.name}}2
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
diff --git a/kubernetes/dmaap/components/dmaap-dr-node/templates/statefulset.yaml b/kubernetes/dmaap/components/dmaap-dr-node/templates/statefulset.yaml
new file mode 100644 (file)
index 0000000..2c4b0de
--- /dev/null
@@ -0,0 +1,160 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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: {{ .Values.config.dmaapDrNode.name }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      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
+          - dmaap-dr-prov
+          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.config.dmaapDrNode.externalPort}}
+          - containerPort: {{.Values.config.dmaapDrNode.externalPort2}}
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{.Values.config.dmaapDrNode.internalPort}}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end -}}
+          readinessProbe:
+            tcpSocket:
+              port: {{.Values.config.dmaapDrNode.internalPort}}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+          - mountPath: {{ .Values.persistence.spoolPath }}
+            name: {{ include "common.fullname" . }}-spool-data-pvc
+          - mountPath: {{ .Values.persistence.eventLogsPath }}
+            name: {{ include "common.fullname" . }}-event-logs-pvc
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: false
+          - mountPath: /opt/app/datartr/etc/dedicatedFeed.json
+            subPath: dedicatedFeed.json
+            name: create-feed
+          - mountPath: /opt/app/datartr/etc/createFeed.sh
+            subPath: createFeed.sh
+            name: create-feed
+          - mountPath: /opt/app/datartr/etc/node.properties
+            subPath: node.properties
+            name: node-props
+          lifecycle:
+            postStart:
+              exec:
+                command:
+                  - /opt/app/datartr/etc/createFeed.sh
+          resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+        # Filebeat sidecar container
+        - 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" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+          - name: {{ include "common.fullname" . }}-event-logs-pvc
+            mountPath: /var/log/onap/datarouter-node
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: create-feed
+          configMap:
+            name: {{ include "common.fullname" . }}-create-feed-configmap
+            defaultMode: 0755
+        - name: node-props
+          configMap:
+            name: {{ include "common.fullname" . }}-node-props-configmap
+        - name: {{ include "common.fullname" . }}-log-conf
+          configMap:
+            name: {{ include "common.fullname" . }}-log
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-dmaap-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
+        - name:  {{ include "common.fullname" . }}-event-logs-pvc
+          emptyDir: {}
+  volumeClaimTemplates:
+  - metadata:
+      name: {{ include "common.fullname" . }}-spool-data-pvc
+      labels:
+        name: {{ include "common.fullname" . }}
+    spec:
+      accessModes: [ {{ .Values.persistence.accessMode }} ]
+      storageClassName: {{ include "common.fullname" . }}-spool-data-stcl
+      resources:
+        requests:
+          storage: {{ .Values.persistence.spoolSize }}
+      selector:
+        matchLabels:
+          name: {{ include "common.fullname" . }}-spool-data-pv
+  - metadata:
+      name: {{ include "common.fullname" . }}-event-logs-pvc
+      labels:
+        name: {{ include "common.fullname" . }}
+    spec:
+      accessModes: [ {{ .Values.persistence.accessMode }} ]
+      storageClassName: {{ include "common.fullname" . }}-event-logs-stcl
+      resources:
+        requests:
+          storage: {{ .Values.persistence.eventLogSize }}
+      selector:
+        matchLabels:
+          name: {{ include "common.fullname" . }}-event-logs-pv
@@ -20,13 +20,14 @@ global:
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
+  loggingDirectory: /opt/app/datartr/logs
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/datarouter-node:1.0.3
+image: onap/dmaap/datarouter-node:2.0.1
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -55,7 +56,17 @@ readiness:
 
 ## Persist data to a persitent volume
 persistence:
-  enabled: false
+  volumeReclaimPolicy: Retain
+  accessMode: ReadWriteMany
+  mountPath: /dockerdata-nfs
+
+  spoolMountSubPath: data-router/dr-node/spool-data
+  spoolSize: 1Gi
+  spoolPath: /opt/app/datartr/spool
+
+  eventLogsMountSubPath: data-router/dr-node/event-logs
+  eventLogSize: 1Gi
+  eventLogsPath: /opt/app/datartr/logs
 
 ingress:
   enabled: false
@@ -79,3 +90,21 @@ resources:
       cpu: 1000m
       memory: 2Gi
   unlimited: {}
+
+config:
+  # dr node server configuration
+  dmaapDrNode:
+    servicetype: ClusterIP
+    name: dmaap-dr-node
+    externalPort: 8080
+    externalPort2: 8443
+    internalPort: 8080
+    internalPort2: 8443
+    portName: dr-node-port
+    portName2: dr-node-port2
+
+# dr provisioning server configuration
+  dmaapDrProv:
+    name: dmaap-dr-prov
+    externalPort2: 8443
+    internalPort2: 8443
diff --git a/kubernetes/dmaap/components/dmaap-dr-prov/requirements.yaml b/kubernetes/dmaap/components/dmaap-dr-prov/requirements.yaml
new file mode 100644 (file)
index 0000000..949b5bb
--- /dev/null
@@ -0,0 +1,28 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
+  - name: mariadb-galera
+    alias: mariadb
+    version: ~4.x-0
+    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/dmaap/components/dmaap-dr-prov/resources/config/logback.xml b/kubernetes/dmaap/components/dmaap-dr-prov/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..942d898
--- /dev/null
@@ -0,0 +1,148 @@
+<!--
+  ============LICENSE_START=======================================================
+   Copyright (C) 2019 Nordix Foundation.
+  ================================================================================
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  SPDX-License-Identifier: Apache-2.0
+  ============LICENSE_END=========================================================
+-->
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+
+  <property name="generalLogName" value="apicalls" />
+  <property name="errorLogName" value="errors" />
+  <property name="jettyLogName" value="jetty"/>
+
+  <property name="defaultPattern"    value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />
+  <property name="jettyLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />
+  <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />
+
+  <property name="logDirectory" value="/opt/app/datartr/logs" />
+
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>${defaultPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!-- EELF Appenders -->
+  <!-- ============================================================================ -->
+
+  <appender name="EELF"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${generalLogName}.log</file>
+     <filter class="ch.qos.logback.classic.filter.LevelFilter">
+        <level>INFO</level>
+        <onMatch>ACCEPT</onMatch>
+        <onMismatch>DENY</onMismatch>
+    </filter>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
+      </fileNamePattern>
+      <minIndex>1</minIndex>
+      <maxIndex>9</maxIndex>
+    </rollingPolicy>
+    <triggeringPolicy
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>5MB</maxFileSize>
+    </triggeringPolicy>
+    <encoder>
+      <pattern>${defaultPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELF" />
+  </appender>
+
+  <appender name="EELFError"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${errorLogName}.log</file>
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+        <level>ERROR</level>
+        <onMatch>ACCEPT</onMatch>
+        <onMismatch>DENY</onMismatch>
+    </filter>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
+      </fileNamePattern>
+      <minIndex>1</minIndex>
+      <maxIndex>9</maxIndex>
+    </rollingPolicy>
+    <triggeringPolicy
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>5MB</maxFileSize>
+    </triggeringPolicy>
+    <encoder>
+      <pattern>${defaultPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFError"/>
+  </appender>
+
+  <!-- ============================================================================ -->
+   <appender name="jettylog"
+    class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${jettyLogName}.log</file>
+     <filter class="org.onap.dmaap.datarouter.provisioning.eelf.JettyFilter" />
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      <fileNamePattern>${logDirectory}/${jettyLogName}.%i.log.zip
+      </fileNamePattern>
+      <minIndex>1</minIndex>
+      <maxIndex>9</maxIndex>
+    </rollingPolicy>
+    <triggeringPolicy
+      class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      <maxFileSize>5MB</maxFileSize>
+    </triggeringPolicy>
+    <encoder>
+      <pattern>${jettyLoggerPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFjettylog" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="jettylog" />
+    <includeCallerData>true</includeCallerData>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!--  EELF loggers -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="info" additivity="false">
+    <appender-ref ref="asyncEELF" />
+  </logger>
+
+     <logger name="com.att.eelf.error" level="error" additivity="false">
+          <appender-ref ref="asyncEELFError" />
+      </logger>
+
+     <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">
+        <appender-ref ref="asyncEELFjettylog"/>
+    </logger>
+
+  <root level="INFO">
+    <appender-ref ref="asyncEELF" />
+    <appender-ref ref="asyncEELFError" />
+     <appender-ref ref="asyncEELFjettylog" />
+  </root>
+
+</configuration>
 
 
 #Jetty Server properties
-org.onap.dmaap.datarouter.provserver.http.port           = {{.Values.global.config.dmaapDrProv.externalPort}}
-org.onap.dmaap.datarouter.provserver.https.port          = {{.Values.global.config.dmaapDrProv.externalPort2}}
+org.onap.dmaap.datarouter.provserver.http.port           = {{.Values.config.dmaapDrProv.externalPort}}
+org.onap.dmaap.datarouter.provserver.https.port          = {{.Values.config.dmaapDrProv.externalPort2}}
 org.onap.dmaap.datarouter.provserver.https.relaxation   = true
 
-org.onap.dmaap.datarouter.provserver.keymanager.password = Qgw77oaQcdP*F8Pwa[&.,.Ab
+org.onap.dmaap.datarouter.provserver.keymanager.password = AT{];bvaDiytVD&oWhMZj0N5
 org.onap.dmaap.datarouter.provserver.keystore.type       = jks
 org.onap.dmaap.datarouter.provserver.keystore.path       = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks
-org.onap.dmaap.datarouter.provserver.keystore.password   = Qgw77oaQcdP*F8Pwa[&.,.Ab
+org.onap.dmaap.datarouter.provserver.keystore.password   = AT{];bvaDiytVD&oWhMZj0N5
 org.onap.dmaap.datarouter.provserver.truststore.path     = /opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks
-org.onap.dmaap.datarouter.provserver.truststore.password = 9M?)?:KAj1z6gpLhNrVUG@0T
+org.onap.dmaap.datarouter.provserver.truststore.password = ljlS@Y}0]{UO(TnwvEWkgJ%]
 org.onap.dmaap.datarouter.provserver.accesslog.dir       = /opt/app/datartr/logs
 org.onap.dmaap.datarouter.provserver.spooldir            = /opt/app/datartr/spool
 org.onap.dmaap.datarouter.provserver.dbscripts           = /opt/app/datartr/etc/misc
@@ -44,6 +44,6 @@ org.onap.dmaap.datarouter.provserver.isaddressauthenabled = false
 
 # Database access
 org.onap.dmaap.datarouter.db.driver   = org.mariadb.jdbc.Driver
-org.onap.dmaap.datarouter.db.url      = jdbc:mariadb://{{.Values.global.config.mariadb.name}}:{{.Values.global.config.mariadb.externalPort}}/datarouter
+org.onap.dmaap.datarouter.db.url      = jdbc:mariadb://{{.Values.config.dmaapDrDb.mariadbServiceName}}:{{.Values.config.dmaapDrDb.mariadbServicePort}}/datarouter
 org.onap.dmaap.datarouter.db.login    = datarouter
 org.onap.dmaap.datarouter.db.password = datarouter
 {{- range .Values.ingress.hosts }}
   http://{{ . }}
 {{- end }}
-{{- else if contains "NodePort" .Values.global.config.dmaapDrProv.servicetype }}
+{{- else if contains "NodePort" .Values.config.dmaapDrProv.servicetype }}
   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.global.config.dmaapDrProv.servicetype }}
+{{- else if contains "LoadBalancer" .Values.config.dmaapDrProv.servicetype }}
      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.global.config.dmaapDrProv.externalPort}}
-{{- else if contains "ClusterIP" .Values.global.config.dmaapDrProv.servicetype }}
+  echo http://$SERVICE_IP:{{.Values.config.dmaapDrProv.externalPort}}
+{{- else if contains "ClusterIP" .Values.config.dmaapDrProv.servicetype }}
   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.global.config.dmaapDrProv.internalPort}}
+  kubectl port-forward $POD_NAME 8080:{{.Values.config.dmaapDrProv.internalPort}}
 {{- end }}
diff --git a/kubernetes/dmaap/components/dmaap-dr-prov/templates/configmap.yaml b/kubernetes/dmaap/components/dmaap-dr-prov/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..f9884d7
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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" . }}-prov-props-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/provserver.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
@@ -29,13 +29,13 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
-      hostname: {{.Values.global.config.dmaapDrProv.name}}
+      hostname: {{.Values.config.dmaapDrProv.name}}
       initContainers:
       - command:
         - /root/ready.py
         args:
         - --container-name
-        - {{.Values.global.config.mariadb.name}}
+        - {{.Values.config.dmaapDrDb.mariadbContName}}
         env:
         - name: NAMESPACE
           valueFrom:
@@ -50,18 +50,18 @@ spec:
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
-          - containerPort: {{.Values.global.config.dmaapDrProv.externalPort}}
-          - containerPort: {{.Values.global.config.dmaapDrProv.externalPort2}}
+          - containerPort: {{.Values.config.dmaapDrProv.externalPort}}
+          - containerPort: {{.Values.config.dmaapDrProv.externalPort2}}
           {{- if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
-              port: {{.Values.global.config.dmaapDrProv.externalPort}}
+              port: {{.Values.config.dmaapDrProv.externalPort}}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end -}}
           readinessProbe:
             tcpSocket:
-              port: {{.Values.global.config.dmaapDrProv.externalPort}}
+              port: {{.Values.config.dmaapDrProv.externalPort}}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           volumeMounts:
@@ -71,6 +71,8 @@ spec:
           - mountPath: /opt/app/datartr/etc/provserver.properties
             subPath: provserver.properties
             name: prov-props
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: {{ .Values.global.loggingDirectory }}
           resources:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -81,6 +83,18 @@ spec:
         affinity:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
+        # Filebeat sidecar container
+        - 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" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /var/log/onap/datarouter-prov
       volumes:
       - name: localtime
         hostPath:
@@ -88,12 +102,15 @@ spec:
       - name: prov-props
         configMap:
           name: {{ include "common.fullname" . }}-prov-props-configmap
-      - name: dr-prov-data
-      {{- if .Values.persistence.enabled }}
-        persistentVolumeClaim:
-          claimName: {{ include "common.fullname" . }}
-      {{- else }}
+      - name: {{ include "common.fullname" . }}-log-conf
+        configMap:
+          name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-filebeat-conf
+        configMap:
+          name: {{ .Release.Name }}-dmaap-filebeat-configmap
+      - name: {{ include "common.fullname" . }}-data-filebeat
+        emptyDir: {}
+      - name:  {{ include "common.fullname" . }}-logs
         emptyDir: {}
-      {{- end }}
-    imagePullSecrets:
-    - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{.Values.global.config.dmaapDrProv.name}}
+  name: {{.Values.config.dmaapDrProv.name}}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -26,34 +26,34 @@ metadata:
     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
     msb.onap.org/service-info: '[
       {
-          "serviceName": "{{.Values.global.config.dmaapDrProv.name}}",
+          "serviceName": "{{.Values.config.dmaapDrProv.name}}",
           "version": "v1",
           "url": "/",
           "protocol": "REST",
-          "port": "{{.Values.global.config.dmaapDrProv.externalPort}}",
+          "port": "{{.Values.config.dmaapDrProv.externalPort}}",
           "visualRange":"1"
       }
       ]'
 
 spec:
-  type: {{.Values.global.config.dmaapDrProv.servicetype}}
+  type: {{.Values.config.dmaapDrProv.servicetype}}
   ports:
-    {{if eq .Values.global.config.dmaapDrProv.servicetype "NodePort" -}}
-    - port: {{.Values.global.config.dmaapDrProv.externalPort}}
-      targetPort: {{.Values.global.config.dmaapDrProv.internalPort}}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.global.config.dmaapDrProv.nodePort}}
-      name: {{.Values.global.config.dmaapDrProv.name}}
-    - port: {{.Values.global.config.dmaapDrProv.externalPort2}}
-      targetPort: {{.Values.global.config.dmaapDrProv.internalPort2}}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.global.config.dmaapDrProv.nodePort2}}
-      name: {{.Values.global.config.dmaapDrProv.name}}2
+    {{if eq .Values.config.dmaapDrProv.servicetype "NodePort" -}}
+    - port: {{.Values.config.dmaapDrProv.externalPort}}
+      targetPort: {{.Values.config.dmaapDrProv.internalPort}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.config.dmaapDrProv.nodePort}}
+      name: {{.Values.config.dmaapDrProv.name}}
+    - port: {{.Values.config.dmaapDrProv.externalPort2}}
+      targetPort: {{.Values.config.dmaapDrProv.internalPort2}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.config.dmaapDrProv.nodePort2}}
+      name: {{.Values.config.dmaapDrProv.name}}2
     {{- else -}}
-    - port: {{.Values.global.config.dmaapDrProv.externalPort}}
-      targetPort: {{.Values.global.config.dmaapDrProv.internalPort}}
-      name: {{.Values.global.config.dmaapDrProv.name}}
-    - port: {{.Values.global.config.dmaapDrProv.externalPort2}}
-      targetPort: {{.Values.global.config.dmaapDrProv.internalPort2}}
-      name: {{.Values.global.config.dmaapDrProv.name}}2
+    - port: {{.Values.config.dmaapDrProv.externalPort}}
+      targetPort: {{.Values.config.dmaapDrProv.internalPort}}
+      name: {{.Values.config.dmaapDrProv.name}}
+    - port: {{.Values.config.dmaapDrProv.externalPort2}}
+      targetPort: {{.Values.config.dmaapDrProv.internalPort2}}
+      name: {{.Values.config.dmaapDrProv.name}}2
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
diff --git a/kubernetes/dmaap/components/dmaap-dr-prov/values.yaml b/kubernetes/dmaap/components/dmaap-dr-prov/values.yaml
new file mode 100644 (file)
index 0000000..9f08ad2
--- /dev/null
@@ -0,0 +1,121 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  loggingDirectory: /opt/app/datartr/logs
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/dmaap/datarouter-prov:2.0.1
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration - see parent values chart
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+  enabled: false
+
+ingress:
+  enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2000m
+      memory: 4Gi
+    requests:
+      cpu: 500m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4000m
+      memory: 8Gi
+    requests:
+      cpu: 1000m
+      memory: 2Gi
+  unlimited: {}
+
+config:
+  # dr provisioning server configuration
+  dmaapDrProv:
+    servicetype: NodePort
+    name: dmaap-dr-prov
+    externalPort: 8080
+    externalPort2: 8443
+    internalPort: 8080
+    internalPort2: 8443
+    portName: dr-prov-port
+    portName2: dr-prov-port2
+    nodePort: 59
+    nodePort2: 69
+  # dr-prov db configuration
+  dmaapDrDb:
+    mariadbServiceName: dmaap-dr-db-svc
+    mariadbServicePort: 3306
+    mariadbContName: dmaap-dr-db
+
+# mariadb-galera configuration
+mariadb:
+  name: dmaap-dr-db
+  nameOverride: dmaap-dr-db
+  replicaCount: 2
+  config:
+    mariadbRootPassword: datarouter
+    userName: datarouter
+    userPassword: datarouter
+    mysqlDatabase: datarouter
+  service:
+    name: dmaap-dr-db-svc
+    portName: dmaap-dr-db-svc
+  nfsprovisionerPrefix: dmaap-dr-db
+  persistence:
+    size: 1Gi
+    mountSubPath: data-router/dr-db-data
+  disableNfsProvisioner: true
\ No newline at end of file
@@ -121,6 +121,10 @@ spec:
           name: docker-socket
         - mountPath: /kafka
           name: kafka-data
+      {{- if .Values.tolerations }}
+      tolerations:
+        {{ toYaml .Values.tolerations | indent 10 }}
+      {{- end }}
       volumes:
       - name: localtime
         hostPath:
@@ -52,16 +52,18 @@ nodeSelector: {}
 
 affinity: {}
 
+tolerations: {}
+
 # 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
 
 ## Persist data to a persitent volume
diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/.helmignore b/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/.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
@@ -111,6 +111,10 @@ spec:
           readOnly: true
         - mountPath: /var/lib/zookeeper/data
           name: zookeeper-data
+      {{- if .Values.tolerations }}
+      tolerations:
+        {{ toYaml .Values.tolerations | indent 10 }}
+      {{- end }}
       volumes:
       - name: localtime
         hostPath:
@@ -30,7 +30,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/zookeeper:1.0.0
+image: onap/dmaap/zookeeper:2.0.0
 pullPolicy: Always
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 
@@ -51,6 +51,8 @@ nodeSelector: {}
 
 affinity: {}
 
+tolerations: {}
+
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index ea2fba4..b5b9902 100644 (file)
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
+  - name: message-router
+    version: ~4.x-0
+    repository: 'file://components/message-router'
+    condition: message-router.enabled
+  - name: dmaap-bus-controller
+    version: ~4.x-0
+    repository: 'file://components/dmaap-bus-controller'
+    condition: dmaap-bus-controller.enabled
+  - name: dmaap-dr-node
+    version: ~4.x-0
+    repository: 'file://components/dmaap-dr-node'
+    condition: dmaap-dr-node.enabled
+  - name: dmaap-dr-prov
+    version: ~4.x-0
+    repository: 'file://components/dmaap-dr-prov'
+    condition: dmaap-dr-prov.enabled
diff --git a/kubernetes/dmaap/resources/config/log/filebeat/filebeat.yml b/kubernetes/dmaap/resources/config/log/filebeat/filebeat.yml
new file mode 100644 (file)
index 0000000..f1cf739
--- /dev/null
@@ -0,0 +1,60 @@
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 The Nordix Foundation. 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============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
+    - /opt/app/datartr/logs/*.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 available 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
\ No newline at end of file
@@ -1,30 +1,26 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
 #
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
-#       http://www.apache.org/licenses/LICENSE-2.0
+#      http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-settings
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/ci/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.fullname" . }}-secret
+  name: {{ .Release.Name }}-dmaap-filebeat-configmap
   namespace: {{ include "common.namespace" . }}
-type: Opaque
 data:
-  admin_password: "Y2lhZG1pbnBhc3M="
+{{ tpl (.Files.Glob "resources/config/log/filebeat/filebeat.yml").AsConfig . | indent 2 }}
\ No newline at end of file
index 6ded7d1..af39ede 100644 (file)
@@ -22,3 +22,16 @@ global:
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
+# application configuration
+config:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+
+message-router:
+  enabled: true
+dmaap-bus-controller:
+  enabled: true
+dmaap-dr-node:
+  enabled: true
+dmaap-dr-prov:
+  enabled: true
\ No newline at end of file
index 05e1396..0f48961 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP External System Register
 name: esr
-version: 3.0.0
+version: 4.0.0
index eb9f0ab..dfc1e26 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP External System Register GUI
 name: esr-gui
-version: 3.0.0
+version: 4.0.0
index 5f772f8..c9718f2 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP External System Register GUI
 name: esr-server
-version: 3.0.0
+version: 4.0.0
index 8a6ec39..9ebc9b9 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 9195f16..c92bc6e 100755 (executable)
@@ -66,7 +66,6 @@ generate_overrides() {
     fi
   done
 }
-
 resolve_deploy_flags() {
   flags=($1)
   n=${#flags[*]}
@@ -75,7 +74,8 @@ resolve_deploy_flags() {
     if [[ $PARAM == "-f" || \
           $PARAM == "--values" || \
           $PARAM == "--set" || \
-          $PARAM == "--set-string" ]]; then
+          $PARAM == "--set-string" || \
+          $PARAM == "--version" ]]; then
        # skip param and its value
        i=$((i + 1))
     else
@@ -116,12 +116,18 @@ deploy() {
   # should pass all flags instead
   NAMESPACE="$(echo $FLAGS | sed -n 's/.*\(namespace\).\s*/\1/p' | cut -c10- | cut -d' ' -f1)"
 
+  VERSION="$(echo $FLAGS | sed -n 's/.*\(version\).\s*/\1/p' | cut -c8- | cut -d' ' -f1)"
+
+  if [ ! -z $VERSION ]; then
+     VERSION="--version $VERSION"
+  fi
+
   # Remove all override values passed in as arguments. These will be used during dry run
   # to resolve computed override values. Remaining flags will be passed on during
   # actual upgrade/install of parent and subcharts.
   DEPLOY_FLAGS=$(resolve_deploy_flags "$FLAGS")
 
 # determine if upgrading individual subchart or entire parent + subcharts
+ # determine if upgrading individual subchart or entire parent + subcharts
   SUBCHART_RELEASE="$(cut -d'-' -f2 <<<"$RELEASE")"
   if [[ ! -d "$CACHE_SUBCHART_DIR/$SUBCHART_RELEASE" ]]; then
     SUBCHART_RELEASE=
@@ -148,7 +154,7 @@ deploy() {
     rm -rf $CHART_DIR/charts/*.tgz
   else
     echo "fetching $CHART_URL"
-    helm fetch $CHART_URL --untar --untardir $CACHE_DIR
+    helm fetch $CHART_URL --untar --untardir $CACHE_DIR $VERSION
   fi
 
   # move out subcharts to process separately
@@ -238,4 +244,4 @@ case "${1:-"help"}" in
     ;;
 esac
 
-exit 0
\ No newline at end of file
+exit 0
index b7628cb..b3472d4 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: <Short application description - this is visible via 'helm search'>
 name: <onap-app>
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 9dbdad5..09edd37 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging ElasticStack
 name: log
-version: 3.0.0
+version: 4.0.0
index 88edfd0..b5275eb 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Elasticsearch
 name: log-elasticsearch
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 14a4eb7..2038476 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Kibana
 name: log-kibana
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 99f93b4..51bf878 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Logstash
 name: log-logstash
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 220dc46..fae2fe2 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 69b2040..a0714aa 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP MicroServices Bus
 name: msb
-version: 3.0.0
+version: 4.0.0
index 9e73ac6..3290f4d 100644 (file)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP MicroServices Bus Kube2MSB Registrator
 name: kube2msb
-version: 3.0.0
+version: 4.0.0
index ec2438e..2d2a9f0 100644 (file)
@@ -13,5 +13,5 @@
 # limitations under the License.
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 234d08f..ce0088e 100644 (file)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP MicroServices Bus Consul
 name: msb-consul
-version: 3.0.0
+version: 4.0.0
index ec2438e..2d2a9f0 100644 (file)
@@ -13,5 +13,5 @@
 # limitations under the License.
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 52bdb86..88e0aa6 100644 (file)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP MicroServices Bus Discovery
 name: msb-discovery
-version: 3.0.0
+version: 4.0.0
index ec2438e..2d2a9f0 100644 (file)
@@ -13,5 +13,5 @@
 # limitations under the License.
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index b0b2876..c9f7c90 100644 (file)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP MicroServices Bus Internal API Gateway
 name: msb-eag
-version: 3.0.0
+version: 4.0.0
index ec2438e..2d2a9f0 100644 (file)
@@ -13,5 +13,5 @@
 # limitations under the License.
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 3b928ab..870d951 100644 (file)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP MicroServices Bus Internal API Gateway
 name: msb-iag
-version: 3.0.0
+version: 4.0.0
index ec2438e..2d2a9f0 100644 (file)
@@ -13,5 +13,5 @@
 # limitations under the License.
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index ec2438e..2d2a9f0 100644 (file)
@@ -13,5 +13,5 @@
 # limitations under the License.
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 9145a5a..9b90b2b 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP multicloud broker
 name: multicloud
-version: 3.0.0
+version: 4.0.0
index d4b60c6..825eaf6 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP multicloud Azure plugin
 name: multicloud-azure
-version: 3.0.0
+version: 4.0.0
index abdb131..ba8b70a 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP multicloud OpenStack Ocata Plugin
 name: multicloud-ocata
-version: 3.0.0
+version: 4.0.0
index cdcfb72..6c71dea 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP multicloud OpenStack Pike Plugin
 name: multicloud-pike
-version: 3.0.0
+version: 4.0.0
index fb82c2c..6e54b93 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Multicloud Prometheus
 name: multicloud-prometheus
-version: 3.0.0
+version: 4.0.0
index f3f9db4..ae7dba6 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP multicloud VIO plugin
 name: multicloud-vio
-version: 3.0.0
+version: 4.0.0
index 2dc23d0..fa0ea64 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP multicloud OpenStack WindRiver Plugin
 name: multicloud-windriver
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 0fffb98..76b668e 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Northbound Interface
 name: nbi
-version: 3.0.0
+version: 4.0.0
index 10bbe08..96b11ea 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP NBI MariaDB Service
 name: mariadb
-version: 3.0.0
+version: 4.0.0
index f807499..ce3bc46 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 1ec9012..d9dd0bc 100644 (file)
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
     repository: '@local'
   - name: mongo
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
 
index 1396f85..82228a8 100644 (file)
 
 apiVersion: v1
 name: onap
-version: 3.0.0
-appVersion: Casablanca
+version: 4.0.0
+appVersion: Dublin
 description: Open Network Automation Platform (ONAP)
 home: https://www.onap.org/
 sources:
 - https://gerrit.onap.org/r/#/admin/projects/
-icon: https://wiki.onap.org/download/thumbnails/1015829/onap_704x271%20copy.png?version=1&modificationDate=1488326334000&api=v2
-tillerVersion: "~2.9.1"
+icon: https://wiki.onap.org/download/thumbnails/1015829/onap_704x271%20copy.png?version=1&modificationDate=1488326334000&api=v2
\ No newline at end of file
index 4e18dc9..43794d2 100644 (file)
 # > helm repo add local http://127.0.0.1:8879
 dependencies:
   - name: aaf
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: aaf.enabled
   - name: aai
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: aai.enabled
   - name: appc
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: appc.enabled
+  - name: cassandra
+    version: ~4.x-0
+    repository: '@local'
+    condition: cassandra.enabled
   - name: clamp
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: clamp.enabled
   - name: cli
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: cli.enabled
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: consul
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: consul.enabled
   - name: contrib
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: contrib.enabled
   - name: dcaegen2
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: dcaegen2.enabled
   - name: dmaap
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: dmaap.enabled
   - name: esr
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: esr.enabled
   - name: log
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: log.enabled
   - name: sniro-emulator
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: sniro-emulator.enabled
+  - name: mariadb-galera
+    version: ~4.x-0
+    repository: '@local'
+    condition: mariadb-galera.enabled
   - name: msb
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: msb.enabled
   - name: multicloud
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: multicloud.enabled
   - name: nbi
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: nbi.enabled
   - name: pnda
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: pnda.enabled
   - name: policy
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: policy.enabled
   - name: pomba
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: pomba.enabled
   - name: portal
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: portal.enabled
   - name: oof
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: oof.enabled
   - name: robot
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: robot.enabled
   - name: sdc
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: sdc.enabled
   - name: sdnc
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: sdnc.enabled
   - name: so
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: so.enabled
   - name: uui
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: uui.enabled
   - name: vfc
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: vfc.enabled
   - name: vid
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: vid.enabled
   - name: vnfsdk
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: vnfsdk.enabled
-  - name: vvp
-    version: ~3.0.0
-    repository: '@local'
-    condition: vvp.enabled
index 6be1a00..fa26328 100644 (file)
@@ -81,6 +81,8 @@ sniro-emulator:
   enabled: false
 oof:
   enabled: false
+mariadb-galera:
+  enabled: false
 msb:
   enabled: false
 multicloud:
index d451114..27588fa 100644 (file)
@@ -31,6 +31,8 @@ aai:
   enabled: false
 appc:
   enabled: false
+cassandra:
+  enabled: false
 clamp:
   enabled: false
 cli:
@@ -49,6 +51,8 @@ log:
   enabled: false
 sniro-emulator:
   enabled: false
+mariadb-galera:
+  enabled: false
 msb:
   enabled: false
 multicloud:
@@ -79,5 +83,3 @@ vid:
   enabled: false
 vnfsdk:
   enabled: false
-vvp:
-  enabled: false
index e5cb971..b772f1f 100644 (file)
@@ -67,6 +67,8 @@ esr:
   enabled: false
 log:
   enabled: false
+mariadb-galera:
+  enabled: true
 msb:
   enabled: false
 multicloud:
@@ -171,5 +173,3 @@ vfc:
   enabled: false
 vnfsdk:
   enabled: false
-vvp:
-  enabled: false
index 489176b..a667e17 100644 (file)
@@ -148,3 +148,10 @@ uui:
       initialDelaySeconds: 120
     readiness:
       initialDelaySeconds: 120
+mariadb-galera:
+  mariadb-galera-server:
+    liveness:
+      initialDelaySeconds: 120
+    readiness:
+      initialDelaySeconds: 120
+
diff --git a/kubernetes/onap/resources/overrides/onap-all.yaml b/kubernetes/onap/resources/overrides/onap-all.yaml
new file mode 100644 (file)
index 0000000..9f9f166
--- /dev/null
@@ -0,0 +1,73 @@
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+###################################################################
+# This override file enables helm charts for all ONAP applications.
+###################################################################
+aaf:
+  enabled: true
+aai:
+  enabled: true
+appc:
+  enabled: true
+cassandra:
+  enabled: true
+clamp:
+  enabled: true
+cli:
+  enabled: true
+consul:
+  enabled: true
+contrib:
+  enabled: true
+dcaegen2:
+  enabled: true
+dmaap:
+  enabled: true
+esr:
+  enabled: true
+log:
+  enabled: true
+sniro-emulator:
+  enabled: true
+oof:
+  enabled: true
+msb:
+  enabled: true
+multicloud:
+  enabled: true
+nbi:
+  enabled: true
+policy:
+  enabled: true
+pomba:
+  enabled: true
+portal:
+  enabled: true
+robot:
+  enabled: true
+sdc:
+  enabled: true
+sdnc:
+  enabled: true
+so:
+  enabled: true
+uui:
+  enabled: true
+vfc:
+  enabled: true
+vid:
+  enabled: true
+vnfsdk:
+  enabled: true
index 1ca2b84..6b283db 100644 (file)
@@ -58,11 +58,11 @@ global:
 # to customize the ONAP deployment.
 #################################################################
 aaf:
-  enabled: true
+  enabled: false
 aai:
-  enabled: true
+  enabled: false
 appc:
-  enabled: true
+  enabled: false
   config:
     openStackType: OpenStackProvider
     openStackName: OpenStack
@@ -71,67 +71,71 @@ appc:
     openStackDomain: default
     openStackUserName: admin
     openStackEncryptedPassword: admin
+cassandra:
+  enabled: false
 clamp:
-  enabled: true
+  enabled: false
 cli:
-  enabled: true
+  enabled: false
 consul:
-  enabled: true
+  enabled: false
 contrib:
-  enabled: true
+  enabled: false
 dcaegen2:
-  enabled: true
+  enabled: false
 pnda:
   enabled: false
 dmaap:
-  enabled: true
+  enabled: false
 esr:
-  enabled: true
+  enabled: false
 log:
-  enabled: true
+  enabled: false
 sniro-emulator:
-  enabled: true
+  enabled: false
 oof:
-  enabled: true
+  enabled: false
+mariadb-galera:
+  enabled: false
 msb:
-  enabled: true
+  enabled: false
 multicloud:
-  enabled: true
+  enabled: false
 nbi:
-  enabled: true
+  enabled: false
   config:
     # openstack configuration
     openStackRegion: "Yolo"
     openStackVNFTenantId: "1234"
 policy:
-  enabled: true
+  enabled: false
 pomba:
-  enabled: true
+  enabled: false
 portal:
-  enabled: true
+  enabled: false
 robot:
-  enabled: true
+  enabled: false
   config:
     # openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
     openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
 sdc:
-  enabled: true
+  enabled: false
 sdnc:
-  enabled: true
+  enabled: false
 
   replicaCount: 1
 
   mysql:
     replicaCount: 1
 so:
-  enabled: true
+  enabled: false
 
   replicaCount: 1
 
   liveness:
     # necessary to disable liveness probe when setting breakpoints
     # in debugger so K8s doesn't restart unresponsive container
-    enabled: true
+    enabled: false
 
   # so server configuration
   config:
@@ -149,12 +153,10 @@ so:
     config:
       mariadbRootPassword: password
 uui:
-  enabled: true
+  enabled: false
 vfc:
-  enabled: true
+  enabled: false
 vid:
-  enabled: true
+  enabled: false
 vnfsdk:
-  enabled: true
-vvp:
   enabled: false
index 5fb5b6f..a623d59 100755 (executable)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Optimization Framework
 name: oof
-version: 3.0.0
+version: 4.0.0
index eb5e97b..253f350 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: Chart for Change Management Service Orchestrator (CMSO)
 name: oof-cmso
-version: 3.0.0
+version: 4.0.0
index 1af0d04..2cfc9e7 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: Chart for Change Management Service Orchestrator (CMSO) Service
 name: oof-cmso-service
-version: 3.0.0
+version: 4.0.0
index 47f732a..dd080be 100644 (file)
@@ -47,7 +47,7 @@ spec:
         name: {{ include "common.name" . }}-readiness
       - name: db-init
         image: "{{ include "common.repository" . }}/{{ .Values.dbinit.image }}"
-        imagePullPolicy: Always
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: DB_HOST
           value: {{ .Values.config.db_host }}.{{.Release.Namespace}}
index 2a3bb70..a1b9f7a 100644 (file)
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
     repository: '@local'
   - name: mariadb-galera
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 89b14a2..4000b12 100755 (executable)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Homing and Allocation Service
 name: oof-has
-version: 3.0.0
+version: 4.0.0
index 0ba7fbd..ad76980 100755 (executable)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Homing and Allocation Servicei - API
 name: oof-has-api
-version: 3.0.0
+version: 4.0.0
index 13126b4..64f13ed 100755 (executable)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Homing and Allocation Sservice - Controller
 name: oof-has-controller
-version: 3.0.0
+version: 4.0.0
index 018f3a0..21e82c7 100755 (executable)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Homing and Allocation Service - Data Component
 name: oof-has-data
-version: 3.0.0
+version: 4.0.0
index 3ec9a3d..e6594a4 100755 (executable)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Homing and Allocation Sevice - Reservation Component
 name: oof-has-reservation
-version: 3.0.0
+version: 4.0.0
index 8c96f7f..f4a594b 100755 (executable)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Homing and Allocation Service - Solver Component
 name: oof-has-solver
-version: 3.0.0
+version: 4.0.0
index cda496b..ca6d2b1 100755 (executable)
@@ -15,8 +15,8 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: music
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 6e38034..ca3501a 100755 (executable)
@@ -49,7 +49,7 @@ spec:
               fieldPath: metadata.namespace
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}"
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-healthcheck
         command:
           - "/bin/sh"
@@ -97,4 +97,4 @@ spec:
             path: healthcheck.json
       restartPolicy: OnFailure
       imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 2b24d40..a27e190 100755 (executable)
@@ -65,7 +65,7 @@ spec:
         name: {{ include "common.name" . }}-music-db-readiness
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.global.image.optf_has }}"
-        imagePullPolicy: {{ .Values.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-onboard
         command:
           - "/bin/sh"
@@ -105,4 +105,4 @@ spec:
             path: onboard.json
       restartPolicy: OnFailure
       imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 14f1f9a..f8b0466 100755 (executable)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index e23c5d6..5a66181 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP DCAE PNDA
 name: pnda
-version: 3.0.0
+version: 4.0.0
index e252d40..0286bd7 100644 (file)
@@ -17,4 +17,4 @@
 apiVersion: v1
 description: ONAP DCAE PNDA Bootstrap
 name: dcae-pnda-bootstrap
-version: 3.0.0
+version: 4.0.0
index f06f735..d195f83 100644 (file)
@@ -16,5 +16,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index feb3104..94754f7 100644 (file)
@@ -17,4 +17,4 @@
 apiVersion: v1
 description: ONAP DCAE PNDA Mirror
 name: dcae-pnda-mirror
-version: 3.0.0
+version: 4.0.0
index f06f735..d195f83 100644 (file)
@@ -16,5 +16,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index f06f735..d195f83 100644 (file)
@@ -16,5 +16,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index a987866..e56e4fa 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Policy Administration Point
 name: policy
-version: 3.0.0
+version: 4.0.0
index 22bd5c1..01bff49 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Policy BRMS GW
 name: brmsgw
-version: 3.0.0
+version: 4.0.0
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index d7c9535..0001d9a 100644 (file)
@@ -26,7 +26,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-pe:1.3.4
+image: onap/policy-pe:1.4-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index c676641..31c8b6d 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Drools Policy Engine 
 name: drools
-version: 3.0.0
+version: 4.0.0
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index cff0dee..841aa3a 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+# JVM options
+
+JVM_OPTIONS=-server -Xms1024m -Xmx2048m
+
 # SYSTEM software configuration 
 
 POLICY_HOME=/opt/app/policy
 POLICY_LOGS=/var/log/onap/policy/pdpd
-JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
 KEYSTORE_PASSWD=Pol1cy_0nap
 TRUSTSTORE_PASSWD=Pol1cy_0nap
 
@@ -58,6 +62,12 @@ PDPD_CONFIGURATION_CONSUMER_GROUP=
 PDPD_CONFIGURATION_CONSUMER_INSTANCE=
 PDPD_CONFIGURATION_PARTITION_KEY=
 
+# PAP-PDP configuration channel
+
+POLICY_PDP_PAP_TOPIC=POLICY-PDP-PAP
+POLICY_PDP_PAP_API_KEY=
+POLICY_PDP_PAP_API_SECRET=
+
 # PAP
 
 PAP_HOST={{.Values.global.pap.nameOverride}}
index 6564e79..4a7f8e2 100644 (file)
@@ -119,7 +119,7 @@ spec:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
         - image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.loggingImage }}"
-          imagePullPolicy: {{ .Values.pullPolicy }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           name: filebeat-onap
           volumeMounts:
           - mountPath: /usr/share/filebeat/filebeat.yml
index 2451cea..1400e6c 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-drools:1.3.4
+image: onap/policy-drools:1.4-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index e8e6bb1..a6493b4 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Policy MariaDB Service
 name: mariadb
-version: 3.0.0
+version: 4.0.0
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 7963667..5c228c6 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Policy PDP
 name: pdp
-version: 3.0.0
+version: 4.0.0
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 1b2d494..6794681 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-pe:1.3.4
+image: onap/policy-pe:1.4-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 95cfc9f..592180f 100644 (file)
@@ -19,4 +19,4 @@
 apiVersion: v1
 description: ONAP Policy APEX PDP
 name: policy-apex-pdp
-version: 3.0.0
+version: 4.0.0
index 9f02100..e4bbf69 100644 (file)
@@ -18,5 +18,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index b84b769..95b2d2c 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-apex-pdp:2.0.3
+image: onap/policy-apex-pdp:2.1-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
diff --git a/kubernetes/policy/charts/policy-api/Chart.yaml b/kubernetes/policy/charts/policy-api/Chart.yaml
new file mode 100644 (file)
index 0000000..a50c8d9
--- /dev/null
@@ -0,0 +1,22 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+description: ONAP Policy Design API
+name: policy-api
+version: 4.0.0
diff --git a/kubernetes/policy/charts/policy-api/requirements.yaml b/kubernetes/policy/charts/policy-api/requirements.yaml
new file mode 100644 (file)
index 0000000..768bdb3
--- /dev/null
@@ -0,0 +1,22 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
diff --git a/kubernetes/policy/charts/policy-api/resources/config/config.json b/kubernetes/policy/charts/policy-api/resources/config/config.json
new file mode 100644 (file)
index 0000000..9fef199
--- /dev/null
@@ -0,0 +1,26 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+{
+    "name":"ApiGroup",
+    "restServerParameters":{
+        "host":"0.0.0.0",
+        "port":6969,
+        "userName":"healthcheck",
+        "password":"zb!XztG34"
+    }
+}
diff --git a/kubernetes/policy/charts/policy-api/templates/configmap.yaml b/kubernetes/policy/charts/policy-api/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..d90b0c9
--- /dev/null
@@ -0,0 +1,25 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/config.json").AsConfig . | indent 2 }}
diff --git a/kubernetes/policy/charts/policy-api/templates/deployment.yaml b/kubernetes/policy/charts/policy-api/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..2d16b5e
--- /dev/null
@@ -0,0 +1,66 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          command: ["/opt/app/policy/api/bin/policy-api.sh"]
+          args: ["/opt/app/policy/api/etc/mounted/config.json"]
+          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: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /opt/app/policy/api/etc/mounted
+            name: apiconfig
+          resources:
+{{ include "common.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: apiconfig
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+            defaultMode: 0755
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/policy/charts/policy-api/templates/service.yaml b/kubernetes/policy/charts/policy-api/templates/service.yaml
new file mode 100644 (file)
index 0000000..81789f2
--- /dev/null
@@ -0,0 +1,43 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    {{- else -}}
+    - port: {{ .Values.service.internalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/policy/charts/policy-api/values.yaml b/kubernetes/policy/charts/policy-api/values.yaml
new file mode 100644 (file)
index 0000000..92960a2
--- /dev/null
@@ -0,0 +1,68 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 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.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 304
+  persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/policy-api:2.0.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 20
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 20
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: policy-api
+  portName: policy-api
+  internalPort: 6969
+  nodePort: 40
+
+ingress:
+  enabled: false
+
+resources: {}
index 62f31fa..8c5553d 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Policy Common
 name: policy-common
-version: 3.0.0
+version: 4.0.0
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 93dad89..44e754b 100644 (file)
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
 POLICY_HOME=/opt/app/policy
 POLICY_LOGS=/var/log/onap
 KEYSTORE_PASSWD=Pol1cy_0nap
index f840d06..40abc91 100644 (file)
@@ -19,4 +19,4 @@
 apiVersion: v1
 description: ONAP Policy Distribution
 name: policy-distribution
-version: 3.0.0
+version: 4.0.0
index 9f02100..e4bbf69 100644 (file)
@@ -18,5 +18,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 240c266..65f02cb 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-distribution:2.0.3
+image: onap/policy-distribution:2.1.0-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
diff --git a/kubernetes/policy/charts/policy-pap/Chart.yaml b/kubernetes/policy/charts/policy-pap/Chart.yaml
new file mode 100644 (file)
index 0000000..dccf45d
--- /dev/null
@@ -0,0 +1,22 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 Nordix Foundation.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+description: ONAP Policy Administration (PAP)
+name: policy-pap
+version: 4.0.0
diff --git a/kubernetes/policy/charts/policy-pap/requirements.yaml b/kubernetes/policy/charts/policy-pap/requirements.yaml
new file mode 100644 (file)
index 0000000..849db83
--- /dev/null
@@ -0,0 +1,22 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 Nordix Foundation.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
diff --git a/kubernetes/policy/charts/policy-pap/resources/config/config.json b/kubernetes/policy/charts/policy-pap/resources/config/config.json
new file mode 100644 (file)
index 0000000..8145103
--- /dev/null
@@ -0,0 +1,26 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 Nordix Foundation.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+{
+    "name":"PapGroup",
+    "restServerParameters":{
+        "host":"0.0.0.0",
+        "port":6969,
+        "userName":"healthcheck",
+        "password":"zb!XztG34"
+    }
+}
diff --git a/kubernetes/policy/charts/policy-pap/templates/NOTES.txt b/kubernetes/policy/charts/policy-pap/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..170b03e
--- /dev/null
@@ -0,0 +1,37 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 Nordix Foundation.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+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 }}
diff --git a/kubernetes/policy/charts/policy-pap/templates/configmap.yaml b/kubernetes/policy/charts/policy-pap/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..5618076
--- /dev/null
@@ -0,0 +1,26 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 Nordix Foundation.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/config.json").AsConfig . | indent 2 }}
+
diff --git a/kubernetes/policy/charts/policy-pap/templates/deployment.yaml b/kubernetes/policy/charts/policy-pap/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..5bec94b
--- /dev/null
@@ -0,0 +1,66 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          command: ["/opt/app/policy/pap/bin/policy-pap.sh"]
+          args: ["/opt/app/policy/pap/etc/mounted/config.json"]
+          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: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /opt/app/policy/pap/etc/mounted
+            name: papconfig
+          resources:
+{{ include "common.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: papconfig
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+            defaultMode: 0755
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/policy/charts/policy-pap/templates/service.yaml b/kubernetes/policy/charts/policy-pap/templates/service.yaml
new file mode 100644 (file)
index 0000000..f4a3114
--- /dev/null
@@ -0,0 +1,36 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 Nordix Foundation.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============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:
+  ports:
+    - port: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  clusterIP: None
diff --git a/kubernetes/policy/charts/policy-pap/values.yaml b/kubernetes/policy/charts/policy-pap/values.yaml
new file mode 100644 (file)
index 0000000..4736d1a
--- /dev/null
@@ -0,0 +1,66 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 Nordix Foundation.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/policy-pap:2.0.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 20
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 20
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: policy-pap
+  portName: policy-pap
+  internalPort: 6969
+
+ingress:
+  enabled: false
+
+resources: {}
index e575478..68a7d9e 100644 (file)
@@ -15,7 +15,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 9074b9a..a9a8687 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada, AT&T
-# Modifications Copyright © 2018 AT&T. All rights reserved.
+# Modifications Copyright © 2018-2019 AT&T. 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.
@@ -23,7 +23,7 @@ echo "Upload BRMS Param Template"
 
 sleep 2
 
-wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-applications/plain/controlloop/templates/archetype-cl-amsterdam/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl?h=casablanca
+wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-applications/plain/controlloop/templates/archetype-cl-amsterdam/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl
 
 sleep 2
 
index ea177e4..5feb374 100644 (file)
@@ -118,7 +118,7 @@ spec:
               exec:
                 command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/opt/app/policy/servers/pap/webapps/pap/WEB-INF/classes/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; export SRC=/tmp/policy-install/logback.xml; export DST=/opt/app/policy/servers/console/webapps/onap/WEB-INF/classes/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
         - image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.global.loggingImage | default .Values.loggingImage }}"
-          imagePullPolicy: {{ .Values.pullPolicy }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           name: filebeat-onap
           volumeMounts:
           - mountPath: /usr/share/filebeat/filebeat.yml
index 521a229..48a5dca 100644 (file)
@@ -41,7 +41,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-pe:1.3.4
+image: onap/policy-pe:1.4-SNAPSHOT-latest
 pullPolicy: Always
 
 subChartsOnly:
@@ -117,4 +117,4 @@ resources:
     requests:
       cpu: 20m
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
index 0124bc1..b1899fd 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Post Orchestration Model Based Audit
 name: pomba
-version: 3.0.0
+version: 4.0.0
index f64eb73..7ec60c5 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA AAI Context Builder
 name: pomba-aaictxbuilder
-version: 3.0.0
+version: 4.0.0
index cf40869..509eadd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 41ec250..e171d17 100644 (file)
@@ -43,7 +43,7 @@ aai.readTimeout={{ .Values.config.aaiReadTimeout }}
 http.userId={{ .Values.config.httpUserId }}
 http.password={{ .Values.config.httpPassword }}
 
-aai.searchNodeQuery=/aai/v11/search/nodes-query?search-node-type=service-instance&filter=service-instance-id:EQUALS:
+aai.searchNodeQuery=/aai/v13/nodes/service-instance/{0}
 
 #Servlet context parameters
 server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
index 9991b8b..0a4b616 100644 (file)
-<configuration scan="true" scanPeriod="10 seconds" debug="false">
-               <jmxConfigurator />
-               <property name="logDirectory" value="/var/log/onap/pomba-aaictxbuilder" />
-               <!-- Example evaluator filter applied against console appender -->
-               <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-                               <!-- filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> 
-                                               <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter -->
-                               <!-- 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>
-                               <encoder>
-                                               <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
-                                               </pattern>
-                               </encoder>
-               </appender>
-
-               <appender name="ERROR"
-                               class="ch.qos.logback.core.rolling.RollingFileAppender">
-                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                                               <level>INFO</level>
-                               </filter>
-                               <file>${logDirectory}/error.log</file>
-                               <append>true</append>
-                               <encoder>
-                                               <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC}|%X{RequestId}|%.20thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}|%msg%n</pattern>
-                               </encoder>
-                               <rollingPolicy
-                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                                               <maxIndex>10</maxIndex>
-                                               <FileNamePattern>${logDirectory}/error.%i.log.zip
-                                               </FileNamePattern>
-                               </rollingPolicy>
-                               <triggeringPolicy
-                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                                               <maxFileSize>10MB</maxFileSize>
-                               </triggeringPolicy>
-               </appender>
-
-               <appender name="DEBUG"
-                               class="ch.qos.logback.core.rolling.RollingFileAppender">
-                               <file>${logDirectory}/debug.log</file>
-                               <append>true</append>
-                               <encoder>
-                                               <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX",UTC}|%X{RequestId}|%.20thread|%.-5level|%logger{36}|%msg%n</pattern>
-                               </encoder>
-                               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                                       <fileNamePattern>${logDirectory}/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
-                                       <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
-                                               <maxFileSize>10MB</maxFileSize>
-                                       </timeBasedFileNamingAndTriggeringPolicy>
-                                       <maxHistory>5</maxHistory>
-                               </rollingPolicy>
-               </appender>
-
-               <appender name="AUDIT"
-                               class="ch.qos.logback.core.rolling.RollingFileAppender">
-                               <file>${logDirectory}/audit.log</file>
-                               <append>true</append>
-                               <encoder>
-                                               <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
-                                               </pattern>
-                               </encoder>
-                               <rollingPolicy
-                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                                               <maxIndex>10</maxIndex>
-                                               <FileNamePattern>${logDirectory}/audit.%i.log.zip
-                                               </FileNamePattern>
-                               </rollingPolicy>
-                               <triggeringPolicy
-                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                                               <maxFileSize>10MB</maxFileSize>
-                               </triggeringPolicy>
-               </appender>
-               <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-                               <queueSize>256</queueSize>
-                               <appender-ref ref="AUDIT" />
-               </appender>
-
-               <appender name="METRIC"
-                               class="ch.qos.logback.core.rolling.RollingFileAppender">
-                               <file>${logDirectory}/metric.log</file>
-                               <append>true</append>
-                               <encoder>
-                                               <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|
-                                                               %msg%n</pattern>
-                               </encoder>
-                               <rollingPolicy
-                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                                               <maxIndex>10</maxIndex>
-                                               <FileNamePattern>${logDirectory}/metric.%i.log.zip
-                                               </FileNamePattern>
-                               </rollingPolicy>
-                               <triggeringPolicy
-                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                                               <maxFileSize>10MB</maxFileSize>
-                               </triggeringPolicy>
-               </appender>
-               <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-                               <queueSize>256</queueSize>
-                               <appender-ref ref="METRIC" />
-               </appender>
-
-               <!-- SECURITY related loggers -->
-               <appender name="SECURITY"
-                               class="ch.qos.logback.core.rolling.RollingFileAppender">
-                               <file>${logDirectory}/security.log</file>
-                               <append>true</append>
-                               <encoder>
-                                               <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
-                                               </pattern>
-                               </encoder>
-                               <rollingPolicy
-                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                                               <maxIndex>10</maxIndex>
-                                               <FileNamePattern>${logDirectory}/security.%i.log.zip
-                                               </FileNamePattern>
-                               </rollingPolicy>
-                               <triggeringPolicy
-                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                                               <maxFileSize>10MB</maxFileSize>
-                               </triggeringPolicy>
-               </appender>
-               <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
-                               <queueSize>256</queueSize>
-                               <appender-ref ref="SECURITY" />
-               </appender>
-
-               <!-- CLDS related loggers -->
-               <logger name="org.onap.pomba.clds" level="INFO" additivity="true">
-                               <appender-ref ref="ERROR" />
-               </logger>
-
-               <!-- CLDS related loggers -->
-               <logger name="com.att.eelf.error" level="OFF" additivity="true">
-                               <appender-ref ref="ERROR" />
-               </logger>
-               <!-- EELF related loggers -->
-               <logger name="com.att.eelf.audit" level="INFO" additivity="false">
-                               <appender-ref ref="asyncEELFAudit" />
-               </logger>
-               <logger name="com.att.eelf.metrics" level="DEBUG" additivity="false">
-                               <appender-ref ref="asyncEELFMetrics" />
-               </logger>
-               <logger name="com.att.eelf.security" level="DEBUG" additivity="false">
-                               <appender-ref ref="asyncEELFSecurity" />
-               </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" />
-
-               <!-- 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="DEBUG" />
-               <logger name="org.apache.camel.component.restlet" level="DEBUG" />
-
-               <!-- logback internals logging -->
-               <logger name="ch.qos.logback.classic" level="INFO" />
-               <logger name="ch.qos.logback.core" level="INFO" />
-
-               <!-- logback jms appenders & loggers definition starts here -->
-               <!-- logback jms appenders & loggers definition starts here -->
-               <appender name="auditLogs"
-                               class="ch.qos.logback.core.rolling.RollingFileAppender">
-                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                               </filter>
-                               <file>${logDirectory}/Audit.log</file>
-                               <rollingPolicy
-                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                                               <fileNamePattern>${logDirectory}/Audit.%i.log.zip
-                                               </fileNamePattern>
-                                               <minIndex>1</minIndex>
-                                               <maxIndex>9</maxIndex>
-                               </rollingPolicy>
-                               <triggeringPolicy
-                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                                               <maxFileSize>5MB</maxFileSize>
-                               </triggeringPolicy>
-                               <encoder>
-                                               <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-                               </encoder>
-               </appender>
-               <appender name="perfLogs"
-                               class="ch.qos.logback.core.rolling.RollingFileAppender">
-                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                               </filter>
-                               <file>${logDirectory}/Perform.log</file>
-                               <rollingPolicy
-                                               class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                                               <fileNamePattern>${logDirectory}/Perform.%i.log.zip
-                                               </fileNamePattern>
-                                               <minIndex>1</minIndex>
-                                               <maxIndex>9</maxIndex>
-                               </rollingPolicy>
-                               <triggeringPolicy
-                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                                               <maxFileSize>5MB</maxFileSize>
-                               </triggeringPolicy>
-                               <encoder>
-                                               <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
-                               </encoder>
-               </appender>
-               <logger name="AuditRecord" level="INFO" additivity="FALSE">
-                               <appender-ref ref="auditLogs" />
-               </logger>
-               <logger name="AuditRecord_DirectCall" level="INFO" additivity="FALSE">
-                               <appender-ref ref="auditLogs" />
-               </logger>
-               <logger name="PerfTrackerRecord" level="INFO" additivity="FALSE">
-                               <appender-ref ref="perfLogs" />
-               </logger>
-               <!-- logback jms appenders & loggers definition ends here -->
-
-               <root level="WARN">
-                               <appender-ref ref="DEBUG" />
-                               <appender-ref ref="STDOUT" />
-               </root>
-
+<configuration >
+    <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+    <property name="p_lvl" value="%level"/>
+    <property name="p_log" value="%logger"/>
+    <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+    <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+    <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+    <!-- tabs -->
+    <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+    <property name="p_thr" value="%thread"/>
+    <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>${pattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>/opt/app/logs/EELF/output.log</file>
+        <encoder>
+            <pattern>${pattern}</pattern>
+        </encoder>
+    </appender>
+    <logger level="INFO" name="org.onap.logging.ref.slf4j" additivity="false">
+        <appender-ref ref="STDOUT" />
+        <appender-ref ref="FILE" />
+    </logger>
+    <root level="info">
+        <appender-ref ref="STDOUT" />
+        <appender-ref ref="FILE" />
+    </root>
 </configuration>
index 6d46e9d..d8210b3 100644 (file)
@@ -56,15 +56,20 @@ spec:
             name: localtime
             readOnly: true
           - name: {{ include "common.fullname" . }}-logs
-            mountPath: /var/log/onap
+            mountPath: /opt/app/logs
+            readOnly: false
           - mountPath: /opt/app/config/logback.xml
             name: {{ include "common.fullname" . }}-log-conf
             subPath: logback.xml
+          - name: {{ include "common.fullname" . }}-logs-eelf
+            mountPath: /opt/app/logs/EELF
+            readOnly: false
           - mountPath: /opt/app/config/application.properties
             name: {{ include "common.fullname" . }}-config
             subPath: application.properties
             readOnly: true
 
+
           resources:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -87,7 +92,7 @@ spec:
           - name: {{ include "common.fullname" . }}-data-filebeat
             mountPath: /usr/share/filebeat/data
           - name: {{ include "common.fullname" . }}-logs
-            mountPath: /var/log/onap
+            mountPath: /opt/app/logs
 
       volumes:
         - name: localtime
@@ -106,7 +111,8 @@ spec:
           emptyDir: {}
         - name:  {{ include "common.fullname" . }}-logs
           emptyDir: {}
-        
+        - name:  {{ include "common.fullname" . }}-logs-eelf
+          emptyDir: {}
 
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 50b9484..f6e13eb 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/pomba-aai-context-builder:1.3.2
+image:  onap/pomba-aai-context-builder:1.4.0-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -54,14 +54,14 @@ 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
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
 
 #Example service definition with external, internal and node ports.
index 28bd0ec..77182fb 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA Context Aggregator
 name: pomba-contextaggregator
-version: 3.0.0
+version: 4.0.0
index 896eaf4..1d30dfd 100755 (executable)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index dc885ac..8ffeb09 100755 (executable)
@@ -29,6 +29,9 @@ transport.consume.consumerid=audit1
 transport.consume.timeout=15000
 transport.consume.batchsize=8
 transport.consume.type=HTTPAUTH
+transport.message-router.apiKey=apiKeyTemp123
+transport.message-router.apiSecret=apiSecretTemp123
+transport.message-router.requiredPombaTopics=POA-AUDIT-INIT,POA-AUDIT-RESULT,POA-RULE-VALIDATION
 
 transport.publish.host=message-router
 transport.publish.port=3904
index eab3864..db72a01 100755 (executable)
@@ -25,4 +25,4 @@ key.manager.factory.algorithm=SunX509
 security.protocol=TLS
 connection.timeout.ms=60000
 read.timeout.ms=60000
-base.uri=/aaicontextbuilder/service/context
+base.uri=/aaicontextbuilder/v2/service/context
index 33e82ea..cbbe93d 100755 (executable)
@@ -102,6 +102,20 @@ spec:
         affinity:
 {{- toYaml .Values.affinity | indent 10 }}
         {{- end }}
+
+        # Filebeat sidecar container
+        - 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" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /opt/app/logs
+
       volumes:
         - name: localtime
           hostPath:
@@ -116,6 +130,11 @@ spec:
           configMap:
             name: {{ include "common.fullname" . }}-pre-start-configmap
             defaultMode: 0777
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-pomba-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
         - name:  {{ include "common.fullname" . }}-logs
           emptyDir: {}
         - name: {{ include "common.fullname" . }}-log-conf
index f5ffd13..3254421 100755 (executable)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs
+# Copyright © 2018 Amdocs
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -25,7 +25,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/pomba-context-aggregator:1.3.4
+image: onap/pomba-context-aggregator:1.4.0-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -55,14 +55,14 @@ 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
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
   enabled: false
 
index 6bc19c5..5d91c65 100644 (file)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP POMBA Data-Router
 name: pomba-data-router
-version: 3.0.0
+version: 4.0.0
index cb5c210..71f3ac2 100644 (file)
@@ -127,6 +127,20 @@ spec:
             port: {{ .Values.service.internalPort }}
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
+
+      # Filebeat sidecar container
+      - 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" . }}-data-filebeat
+          mountPath: /usr/share/filebeat/data
+        - name: {{ include "common.fullname" . }}-logs
+          mountPath: /opt/app/logs
+
       volumes:
       - name: localtime
         hostPath:
@@ -142,6 +156,11 @@ spec:
             path: data-router.properties
           - key: schemaIngest.properties
             path: schemaIngest.properties
+      - name: {{ include "common.fullname" . }}-filebeat-conf
+        configMap:
+          name: {{ .Release.Name }}-pomba-filebeat-configmap
+      - name: {{ include "common.fullname" . }}-data-filebeat
+        emptyDir: {}
       - name: {{ include "common.fullname" . }}-dynamic-route
         configMap:
           name: {{ include "common.fullname" . }}-dynamic
index 369e656..5815b96 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@ global:
   
 # application image
 repository: nexus3.onap.org:10001
-image: onap/data-router:1.3.1
+image: onap/data-router:1.3.3
 pullPolicy: Always
 restartPolicy: Always
 
@@ -51,15 +51,15 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
+  initialDelaySeconds: 60
+  periodSeconds: 30
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
+  initialDelaySeconds: 60
+  periodSeconds: 30
 
 service:
   name: pomba-data-router
index a198fb4..e62e7fd 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA Elasticsearch
 name: pomba-elasticsearch
-version: 3.0.0
+version: 4.0.0
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 667059f..d732104 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA Kibana
 name: pomba-kibana
-version: 3.0.0
+version: 4.0.0
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 5ab80a7..eb27414 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1\r
 description: ONAP POMBA Network Discovery\r
 name: pomba-networkdiscovery\r
-version: 3.0.0\r
+version: 4.0.0\r
index 8f9493a..1e8f79b 100644 (file)
@@ -14,5 +14,5 @@
 \r
 dependencies:\r
   - name: common\r
-    version: ~3.0.0\r
+    version: ~4.x-0\r
     repository: '@local'\r
index cccba6b..f09dc05 100644 (file)
 # limitations under the License
 
 spring.jersey.type=filter
-spring.mvc.urls=swagger,docs,prometheus,auditevents,info,heapdump,autoconfig,beans,loggers,dump,env,trace,health,configprops,mappings,metrics,webjars
-
-
-server.contextPath=/network-discovery
-spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
-
-#This property is used to set the Tomcat connector attributes.developers can define multiple attributes separated by comma
-#tomcat.connector.attributes=allowTrace-true
-#The max number of active threads in this pool
-server.tomcat.max-threads=200
-#The minimum number of threads always kept alive
-server.tomcat.min-Spare-Threads=25
-#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
-server.tomcat.max-idle-time=60000
-
-#Servlet context parameters
-server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
 
 #Enable HTTPS
 server.port={{ .Values.config.serverSslPort }}
@@ -47,9 +30,10 @@ openstack.identity.url ={{ .Values.config.openstackIdentityUrl }}
 openstack.identity.user ={{ .Values.config.openstackUserId }}
 openstack.identity.password ={{ .Values.config.openstackPassword }}
 
-openstack.types = vserver, l3-network
+openstack.types = vserver, l3-network, port
 openstack.type.vserver.url    = {{ .Values.config.openstackTypeVserverUrl }}
 openstack.type.l3-network.url = {{ .Values.config.openstackTypeL3NetworkUrl }}
+openstack.type.port.url = {{ .Values.config.openstackTypePortUrl }}
 
 openstack.api.microversion = 2.42
 
index fdc4429..3a50130 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/network-discovery:1.4.1-latest
+image:  onap/network-discovery:1.5.0-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -55,6 +55,7 @@ config:
   # Openstack Rest API URLs:
   openstackTypeVserverUrl: http://10.69.36.11:8774/v2.1/servers/{0}
   openstackTypeL3NetworkUrl: http://10.69.36.11:9696/v2.0/networks/{0}
+  openstackTypePortUrl: http://10.69.36.11:9696/v2.0/ports/{0}
 
 # default number of instances
 replicaCount: 1
@@ -65,14 +66,14 @@ 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
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
 
 #Example service definition with external, internal and node ports.
index 1ded7ec..4479e09 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA Network Discovery Context Builder
 name: pomba-networkdiscoveryctxbuilder
-version: 3.0.0
+version: 4.0.0
index b45c24b..6afe768 100644 (file)
@@ -69,14 +69,14 @@ 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
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
 
 #Example service definition with external, internal and node ports.
index 4a49d84..c77e28d 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA SDC Context Builder
 name: pomba-sdcctxbuilder
-version: 3.0.0
+version: 4.0.0
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 6ae5ee3..247c85f 100644 (file)
@@ -79,6 +79,19 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
 
+        # Filebeat sidecar container
+        - 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" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /opt/app/logs
+
       volumes:
         - name: localtime
           hostPath:
@@ -91,6 +104,11 @@ spec:
         - name: {{ include "common.fullname" . }}-log-conf
           configMap:
             name: {{ include "common.fullname" . }}-log
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-pomba-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
         - name:  {{ include "common.fullname" . }}-logs-eelf
           emptyDir: {}
       imagePullSecrets:
index 2c2e513..bddc349 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs
+# Copyright © 2018 Amdocs
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/pomba-sdc-context-builder:1.3.2
+image:  onap/pomba-sdc-context-builder:1.4.0-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -56,14 +56,14 @@ 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
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
 
 #Example service definition with external, internal and node ports.
index c9dad03..2acbe53 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA SDNC Context Builder
 name: pomba-sdncctxbuilder
-version: 3.0.0
+version: 4.0.0
index cf40869..509eadd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index fcfe9dc..4551982 100644 (file)
@@ -53,9 +53,7 @@ aai.readTimeout={{ .Values.config.aaiReadTimeout }}
 aai.http.userId={{ .Values.config.aaiHttpUserId }}
 aai.http.password={{ .Values.config.aaiHttpPassword }}
 
-aai.searchNodeQuery=/aai/v11/search/nodes-query?search-node-type=service-instance&filter=service-instance-id:EQUALS:
-aai.customerQuery=/aai/v11/business/customers/customer/
-aai.serviceInstancePath=/aai/v11/business/customers/customer/{0}/service-subscriptions/service-subscription/{1}/service-instances/service-instance/{2}
+aai.serviceInstanceQuery=/aai/v13/nodes/service-instance/{0}
 
 # SDNC REST Client Configuration
 sdnc.serviceName={{ .Values.config.sdncServiceName }}.{{.Release.Namespace}}
@@ -66,6 +64,7 @@ sdnc.httpProtocol={{ .Values.config.sdncHttpProtocol }}
 sdnc.connectionTimeout={{ .Values.config.sdncConnectionTimeout }}
 sdnc.readTimeout={{ .Values.config.sdncReadTimeout }}
 sdnc.genericResourcePath=/restconf/config/GENERIC-RESOURCE-API:services/service/{0}
+sdnc.portMirrorResourcePath=/restconf/config/GENERIC-RESOURCE-API:port-mirror-configurations/port-mirror-configuration/{0}/configuration-data/configuration-operation-information/port-mirror-configuration-request-input
 sdnc.vnfPath=/restconf/config/VNF-API:vnfs/vnf-list/{0}
 
 #Servlet context parameters
index 1895998..bd5bdb6 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP POMBA search-data
 name: pomba-search-data
-version: 3.0.0
+version: 4.0.0
index 6a3659e..7404f71 100644 (file)
@@ -29,14 +29,14 @@ 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
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
 
 service:
index 98b2e97..153e98d 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1\r
 description: ONAP POMBA Network Discovery Service Decomposition\r
 name: pomba-servicedecomposition\r
-version: 3.0.0\r
+version: 4.0.0\r
index 8c7d27c..bbf0901 100644 (file)
@@ -45,8 +45,9 @@ aai.httpProtocol={{ .Values.config.aaiHttpProtocol }}
 aai.securityProtocol=TLS
 aai.connectionTimeout=60000
 aai.readTimeout=60000
-aai.resourceList=vnfc,vserver,l3-network
+aai.resourceList=vnfc,vserver,l3-network,pserver
 aai.serviceInstancePath=/aai/v13/nodes/service-instance/{0}
+aai.urlDepth=2
 
 #Servlet context parameters
 server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
index 1f00cbd..3b02684 100644 (file)
@@ -1,30 +1,31 @@
-<configuration>\r
-    <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>\r
-    <property name="p_lvl" value="%level"/>\r
-    <property name="p_log" value="%logger"/>\r
-    <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>\r
-    <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>\r
-    <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>\r
-    <!-- tabs -->\r
-    <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>\r
-    <property name="p_thr" value="%thread"/>\r
-    <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>\r
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
-        <encoder>\r
-            <pattern>${pattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="FILE" class="ch.qos.logback.core.FileAppender">\r
-        <file>output.log</file>\r
-        <encoder>\r
-            <pattern>${pattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <logger level="INFO" name="org.onap.logging.ref.slf4j" additivity="false">\r
-        <appender-ref ref="STDOUT" />\r
-        <appender-ref ref="FILE" />\r
-    </logger>\r
-    <root level="INFO">\r
-        <appender-ref ref="STDOUT" />\r
-    </root>\r
-</configuration>\r
+<configuration>
+    <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+    <property name="p_lvl" value="%level"/>
+    <property name="p_log" value="%logger"/>
+    <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+    <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+    <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+    <!-- tabs -->
+    <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+    <property name="p_thr" value="%thread"/>
+    <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>${pattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>logs/EELF/output.log</file>
+        <encoder>
+            <pattern>${pattern}</pattern>
+        </encoder>
+    </appender>
+    <logger level="INFO" name="org.onap.logging.ref.slf4j" additivity="false">
+        <appender-ref ref="STDOUT" />
+        <appender-ref ref="FILE" />
+    </logger>
+    <root level="INFO">
+        <appender-ref ref="STDOUT" />
+        <appender-ref ref="FILE" />
+    </root>
+</configuration>
\ No newline at end of file
index 8923020..4d8d496 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/service-decomposition:1.4.2
+image:  onap/service-decomposition:1.5.0-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -52,14 +52,14 @@ 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
   enabled: true
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
 
 #Example service definition with external, internal and node ports.
index 3fbbb5d..020409d 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: POMBA Validaton-Service
 name: pomba-validation-service
-version: 3.0.0
+version: 4.0.0
index fd2385a..df75b31 100644 (file)
@@ -25,146 +25,198 @@ entity {
 
     // NDCB-AAI comparison: Context level
     useRule {
-      name 'NDCB-AAI-attribute-comparison'
+      name 'Attribute-comparison'
       attributes 'context-list.ndcb', 'context-list.aai'
     }
 
     // NDCB-AAI comparison: Service entity
     useRule {
-      name 'NDCB-AAI-attribute-comparison'
+      name 'Attribute-comparison'
       attributes 'context-list.ndcb.service', 'context-list.aai.service'
     }
 
-    // NDCB-AAI comparison: VF list
+    // NDCB-AAI comparison: Context level network list
     useRule {
-      name 'NDCB-AAI-attribute-comparison'
-      attributes 'context-list.ndcb.vfList[*]', 'context-list.aai.vfList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.networkList[*]', 'context-list.aai.networkList[*]'
+    }
+       
+    // NDCB-AAI comparison: VNF list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.vnfList[*]', 'context-list.aai.vnfList[*]'
     }
 
+    // NDCB-AAI comparison: VNF network list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.vnfList[*].networkList[*]', 'context-list.aai.vnfList[*].networkList[*]'
+    }
+       
     // NDCB-AAI comparison: VF-Module list
     useRule {
-      name 'NDCB-AAI-attribute-comparison'
-      attributes 'context-list.ndcb.vfList[*].vfModuleList[*]', 'context-list.aai.vfList[*].vfModuleList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.vnfList[*].vfModuleList[*]', 'context-list.aai.vnfList[*].vfModuleList[*]'
+    }
+
+    // NDCB-AAI comparison: VF-Module network list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.vnfList[*].vfModuleList[*].networkList[*]', 'context-list.aai.vnfList[*].vfModuleList[*].networkList[*]'
     }
 
     // NDCB-AAI comparison: VNFC list
     useRule {
-      name 'NDCB-AAI-attribute-comparison'
-      attributes 'context-list.ndcb.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.vnfList[*].vnfcList[*]', 'context-list.aai.vnfList[*].vnfcList[*]'
     }
 
     // NDCB-AAI comparison: VM list
     useRule {
-      name 'NDCB-AAI-attribute-comparison'
-      attributes 'context-list.ndcb.vfList[*].vfModuleList[*].vmList[*]', 'context-list.aai.vfList[*].vfModuleList[*].vmList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.vnfList[*].vfModuleList[*].vmList[*]', 'context-list.aai.vnfList[*].vfModuleList[*].vmList[*]'
     }
 
-    // NDCB-AAI comparison: Network list
+    // NDCB-AAI comparison: P-Interface list
     useRule {
-      name 'NDCB-AAI-attribute-comparison'
-      attributes 'context-list.ndcb.vfList[*].vfModuleList[*].networkList[*]', 'context-list.aai.vfList[*].vfModuleList[*].networkList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.ndcb.pnfList[*].pInterfaceList[*]', 'context-list.aai.pnfList[*].pInterfaceList[*]'
     }
-
+       
+       
     // SDNC-AAI comparison: Context level
     useRule {
-      name 'SDNC-AAI-attribute-comparison'
+      name 'Attribute-comparison'
       attributes 'context-list.sdnc', 'context-list.aai'
     }
 
     // SDNC-AAI comparison: Service entity
     useRule {
-      name 'SDNC-AAI-attribute-comparison'
+      name 'Attribute-comparison'
       attributes 'context-list.sdnc.service', 'context-list.aai.service'
     }
 
-    // SDNC-AAI comparison: VF list
+    // SDNC-AAI comparison: Context level network list
     useRule {
-      name 'SDNC-AAI-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*]', 'context-list.aai.vfList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.networkList[*]', 'context-list.aai.networkList[*]'
+    }
+
+    // SDNC-AAI comparison: VNF list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*]', 'context-list.aai.vnfList[*]'
+    }
+
+    // SDNC-AAI comparison: VNF network list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].networkList[*]', 'context-list.aai.vnfList[*].networkList[*]'
     }
 
     // SDNC-AAI comparison: VF-Module list
     useRule {
-      name 'SDNC-AAI-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vfModuleList[*]', 'context-list.aai.vfList[*].vfModuleList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vfModuleList[*]', 'context-list.aai.vnfList[*].vfModuleList[*]'
+    }
+
+    // SDNC-AAI comparison: VF-Module network list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vfModuleList[*].networkList[*]', 'context-list.aai.vnfList[*].vfModuleList[*].networkList[*]'
     }
 
     // SDNC-AAI comparison: VNFC list
     useRule {
-      name 'SDNC-AAI-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vnfcList[*]', 'context-list.aai.vnfList[*].vnfcList[*]'
     }
 
     // SDNC-AAI comparison: VM list
     useRule {
-      name 'SDNC-AAI-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vfModuleList[*].vmList[*]', 'context-list.aai.vfList[*].vfModuleList[*].vmList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vfModuleList[*].vmList[*]', 'context-list.aai.vnfList[*].vfModuleList[*].vmList[*]'
     }
 
-    // SDNC-AAI comparison: Network list
+    // AAI-SDNC PNF name validation
     useRule {
-      name 'SDNC-AAI-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vfModuleList[*].networkList[*]', 'context-list.aai.vfList[*].vfModuleList[*].networkList[*]'
+      name 'AAI-SDNC-pnf-name-check'
+      attributes 'context-list.aai.pnfList[*].name', 'context-list.sdnc.pnfList[*].name'
     }
 
+
     // SDNC-NDCB comparison: Context level
     useRule {
-      name 'SDNC-NDCB-attribute-comparison'
+      name 'Attribute-comparison'
       attributes 'context-list.sdnc', 'context-list.ndcb'
     }
 
     // SDNC-NDCB comparison: Service entity
     useRule {
-      name 'SDNC-NDCB-attribute-comparison'
+      name 'Attribute-comparison'
       attributes 'context-list.sdnc.service', 'context-list.ndcb.service'
     }
 
-    // SDNC-NDCB comparison: VF list
+    // SDNC-NDCB comparison: Context level network list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.networkList[*]', 'context-list.ndcb.networkList[*]'
+    }
+
+    // SDNC-NDCB comparison: VNF list
+    useRule {
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*]', 'context-list.ndcb.vnfList[*]'
+    }
+
+    // SDNC-NDCB comparison: VNF network list
     useRule {
-      name 'SDNC-NDCB-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*]', 'context-list.ndcb.vfList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].networkList[*]', 'context-list.ndcb.vnfList[*].networkList[*]'
     }
 
     // SDNC-NDCB comparison: VF-Module list
     useRule {
-      name 'SDNC-NDCB-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vfModuleList[*]', 'context-list.ndcb.vfList[*].vfModuleList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vfModuleList[*]', 'context-list.ndcb.vnfList[*].vfModuleList[*]'
     }
 
-    // SDNC-NDCB comparison: VNFC list
+    // SDNC-NDCB comparison: VF-Module network list
     useRule {
-      name 'SDNC-NDCB-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vnfcList[*]', 'context-list.ndcb.vfList[*].vnfcList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vfModuleList[*].networkList[*]', 'context-list.ndcb.vnfList[*].vfModuleList[*].networkList[*]'
     }
 
-    // SDNC-NDCB comparison: VM list
+    // SDNC-NDCB comparison: VNFC list
     useRule {
-      name 'SDNC-NDCB-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vfModuleList[*].vmList[*]', 'context-list.ndcb.vfList[*].vfModuleList[*].vmList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vnfcList[*]', 'context-list.ndcb.vnfList[*].vnfcList[*]'
     }
 
-    // SDNC-NDCB comparison: Network list
+    // SDNC-NDCB comparison: VM list
     useRule {
-      name 'SDNC-NDCB-attribute-comparison'
-      attributes 'context-list.sdnc.vfList[*].vfModuleList[*].networkList[*]', 'context-list.ndcb.vfList[*].vfModuleList[*].networkList[*]'
+      name 'Attribute-comparison'
+      attributes 'context-list.sdnc.vnfList[*].vfModuleList[*].vmList[*]', 'context-list.ndcb.vnfList[*].vfModuleList[*].vmList[*]'
     }
 
+       
+       
     // SDC-AAI VNFC type
     useRule {
       name 'SDC-AAI-vnfc-type'
-      attributes 'context-list.sdc.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]'
+      attributes 'context-list.sdc.vnfList[*].vnfcList[*]', 'context-list.aai.vnfList[*].vnfcList[*]'
     }
 
     // SDC-AAI VNFC node count
     useRule {
       name 'SDC-AAI-vnfc-node-count'
-      attributes 'context-list.sdc.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]'
+      attributes 'context-list.sdc.vnfList[*].vnfcList[*]', 'context-list.aai.vnfList[*].vnfcList[*]'
     }
 
     // SDC-AAI VF-Module instance
     useRule {
       name 'SDC-AAI-vf-module-instance-check'
-      attributes 'context-list.ndcb.vfList[*].vfModuleList[*]', 'context-list.aai.vfList[*].vfModuleList[*]'
+      attributes 'context-list.sdc.vnfList[*].vfModuleList[*]', 'context-list.aai.vnfList[*].vfModuleList[*]'
     }
   }
 }
@@ -236,249 +288,126 @@ rule {
 }
 
 rule {
-  name        'NDCB-AAI-attribute-comparison'
-  category    'Attribute Mismatch'
-  description 'Verify that all attributes in Network-Discovery are the same as in AAI'
-  errorText   'Error found with attribute "{0}"; Network-Discovery value does not match AAI value "{1}"'
-  severity    'ERROR'
-  attributes  'ndcbItems', 'aaiItems'
-  validate    '''
-        Closure<java.util.Map> getAttributes = { parsedData ->
-          java.util.Map attributeMap = new java.util.HashMap()
-
-          def isAttributeDataQualityOk = { attribute ->
-            attribute.findResult{ k, v -> if(k.equals("dataQuality") ) {return v.get("status")}}.equals("ok")
-          }
-
-          def addToMap = { attrKey, attrValue ->
-            java.util.Set values = attributeMap.get("$attrKey")
-            if(values == null) {
-              values = new java.util.HashSet()
-              attributeMap.put("$attrKey", values)
-            }
-            values.add("$attrValue")
-          }
-
-          def addAttributeToMap = { attribute ->
-            if(isAttributeDataQualityOk(attribute)) {
-              String key, value
-              attribute.each { k, v ->
-                if(k.equals("name")) {key = "$v"}
-                if(k.equals("value")) {value = "$v"}
-              }
-              addToMap("$key", "$value")
-            }
-          }
-
-          def processKeyValue = { key, value ->
-            if(value instanceof java.util.ArrayList) {
-              if(key.equals("attributeList")) {
-                value.each {
-                  addAttributeToMap(it)
-                }
-              }
-            } else if(!(value instanceof groovy.json.internal.LazyMap)) {
-              // only add key-value attributes, skip the rest
-              addToMap("$key", "$value")
-            }
-          }
-
-          if(parsedData instanceof java.util.ArrayList) {
-            parsedData.each {
-              it.each { key, value -> processKeyValue(key, value) }
-            }
-          } else {
-            parsedData.each { key, value -> processKeyValue(key, value) }
-          }
-          return attributeMap
-        }
-
-        def slurper = new groovy.json.JsonSlurper()
-        java.util.Map ndcb = getAttributes(slurper.parseText(ndcbItems.toString()))
-        java.util.Map aai = getAttributes(slurper.parseText(aaiItems.toString()))
-
-        boolean result = true
-        List<String> details = new ArrayList<>();
-        ndcb.any{ ndcbKey, ndcbValueList ->
-          def aaiValueList = aai.get("$ndcbKey")
-          aaiValueList.each{ aaiValue ->
-            if(!ndcbValueList.any{ it == "$aaiValue" }) {
-              result = false
-              details.add("$ndcbKey")
-              details.add("$aaiValue")
-            }
-          }
-          if(result == false) {
-            // break out of 'any' loop
-            return true
-          }
-        }
-        return new Tuple2(result, details)
-        '''
-}
-
-rule {
-  name        'SDNC-AAI-attribute-comparison'
-  category    'Attribute Mismatch'
-  description 'Verify that all attributes in SDN-C are the same as in AAI'
-  errorText   'Error found with attribute "{0}"; SDN-C value does not match AAI value "{1}"'
-  severity    'ERROR'
-  attributes  'sdncItems', 'aaiItems'
-  validate    '''
-        Closure<java.util.Map> getAttributes = { parsedData ->
-          java.util.Map attributeMap = new java.util.HashMap()
-
-          def isAttributeDataQualityOk = { attribute ->
-            attribute.findResult{ k, v -> if(k.equals("dataQuality") ) {return v.get("status")}}.equals("ok")
-          }
-
-          def addToMap = { attrKey, attrValue ->
-            java.util.Set values = attributeMap.get("$attrKey")
-            if(values == null) {
-              values = new java.util.HashSet()
-              attributeMap.put("$attrKey", values)
-            }
-            values.add("$attrValue")
-          }
-
-          def addAttributeToMap = { attribute ->
-            if(isAttributeDataQualityOk(attribute)) {
-              String key, value
-              attribute.each { k, v ->
-                if(k.equals("name")) {key = "$v"}
-                if(k.equals("value")) {value = "$v"}
-              }
-              addToMap("$key", "$value")
-            }
-          }
-
-          def processKeyValue = { key, value ->
-            if(value instanceof java.util.ArrayList) {
-              if(key.equals("attributeList")) {
-                value.each {
-                  addAttributeToMap(it)
-                }
-              }
-            } else if(!(value instanceof groovy.json.internal.LazyMap)) {
-              // only add key-value attributes, skip the rest
-              addToMap("$key", "$value")
-            }
-          }
-
-          if(parsedData instanceof java.util.ArrayList) {
-            parsedData.each {
-              it.each { key, value -> processKeyValue(key, value) }
-            }
-          } else {
-            parsedData.each { key, value -> processKeyValue(key, value) }
-          }
-          return attributeMap
-        }
-
-        def slurper = new groovy.json.JsonSlurper()
-        java.util.Map sdnc = getAttributes(slurper.parseText(sdncItems.toString()))
-        java.util.Map aai = getAttributes(slurper.parseText(aaiItems.toString()))
-
-        boolean result = true
-        List<String> details = new ArrayList<>();
-        sdnc.any{ sdncKey, sdncValueList ->
-          def aaiValueList = aai.get("$sdncKey")
-          aaiValueList.each{ aaiValue ->
-            if(!sdncValueList.any{ it == "$aaiValue" }) {
-              result = false
-              details.add("$sdncKey")
-              details.add("$aaiValue")
-            }
-          }
-          if(result == false) {
-            // break out of 'any' loop
-            return true
-          }
-        }
-        return new Tuple2(result, details)
-        '''
-}
-
-
-rule {
-  name        'SDNC-NDCB-attribute-comparison'
+  name        'Attribute-comparison'
   category    'Attribute Mismatch'
-  description 'Verify that all attributes in SDN-C are the same as in Network Discovery'
-  errorText   'Error found with attribute "{0}"; SDN-C value does not match Network-Discovery value "{1}"'
+  description 'Determine all discrepancies between values for attributes with matching names from each model'
+  errorText   'Error found with attribute(s) and values: {0}'
   severity    'ERROR'
-  attributes  'sdncItems', 'ndcbItems'
+  attributes  'lhsObject', 'rhsObject'
   validate    '''
-        Closure<java.util.Map> getAttributes = { parsedData ->
-          java.util.Map attributeMap = new java.util.HashMap()
-
-          def isAttributeDataQualityOk = { attribute ->
-            attribute.findResult{ k, v -> if(k.equals("dataQuality") ) {return v.get("status")}}.equals("ok")
-          }
-
-          def addToMap = { attrKey, attrValue ->
-            java.util.Set values = attributeMap.get("$attrKey")
-            if(values == null) {
-              values = new java.util.HashSet()
-              attributeMap.put("$attrKey", values)
-            }
-            values.add("$attrValue")
-          }
-
-          def addAttributeToMap = { attribute ->
-            if(isAttributeDataQualityOk(attribute)) {
-              String key, value
-              attribute.each { k, v ->
-                if(k.equals("name")) {key = "$v"}
-                if(k.equals("value")) {value = "$v"}
-              }
-              addToMap("$key", "$value")
-            }
-          }
-
-          def processKeyValue = { key, value ->
-            if(value instanceof java.util.ArrayList) {
-              if(key.equals("attributeList")) {
-                value.each {
-                  addAttributeToMap(it)
-                }
-              }
-            } else if(!(value instanceof groovy.json.internal.LazyMap)) {
-              // only add key-value attributes, skip the rest
-              addToMap("$key", "$value")
-            }
-          }
-
-          if(parsedData instanceof java.util.ArrayList) {
-            parsedData.each {
-              it.each { key, value -> processKeyValue(key, value) }
-            }
-          } else {
-            parsedData.each { key, value -> processKeyValue(key, value) }
-          }
-          return attributeMap
-        }
-
-        def slurper = new groovy.json.JsonSlurper()
-        java.util.Map sdnc = getAttributes(slurper.parseText(sdncItems.toString()))
-        java.util.Map ndcb = getAttributes(slurper.parseText(ndcbItems.toString()))
-
-        boolean result = true
-        List<String> details = new ArrayList<>();
-        sdnc.any{ sdncKey, sdncValueList ->
-          def ndcbValueList = ndcb.get("$sdncKey")
-          ndcbValueList.each{ ndcbValue ->
-            if(!sdncValueList.any{ it == "$ndcbValue" }) {
-              result = false
-              details.add("$sdncKey")
-              details.add("$ndcbValue")
-            }
-          }
-          if(result == false) {
-            // break out of 'any' loop
-            return true
-          }
-        }
-        return new Tuple2(result, details)
+               // This closure extracts the given object's root level attributes and contents of the attribute list.
+               // Complex items like lists are excluded.
+               // Returns a map containing attribute names as keys, mapping to a list of values for each attribute.
+               Closure<java.util.Map> getAttributes = { parsedData ->
+                       java.util.Map attributeMap = new java.util.HashMap()
+
+                       def isAttributeDataQualityOk = { attribute ->
+                               attribute.findResult{ k, v -> if(k.equals("dataQuality") ) {return v.get("status")}}.equals("ok")
+                       }
+
+                       def addToMap = { attrKey, attrValue ->
+                               java.util.Set values = attributeMap.get("$attrKey")
+                               if(values == null) {
+                                       values = new java.util.HashSet()
+                                       attributeMap.put("$attrKey", values)
+                               }
+                               values.add("$attrValue")
+                       }
+
+                       def addAttributeToMap = { attribute ->
+                               if(isAttributeDataQualityOk(attribute)) {
+                                       String key, value
+                                       attribute.each { k, v ->
+                                               if(k.equals("name")) {key = "$v"}
+                                               if(k.equals("value")) {value = "$v"}
+                                       }
+                                       addToMap("$key", "$value")
+                               }
+                       }
+
+                       def processKeyValue = { key, value ->
+                               if(value instanceof java.util.ArrayList) {
+                                       if(key.equals("attributeList")) {
+                                               value.each {
+                                                       addAttributeToMap(it)
+                                               }
+                                       }
+                               } else if(!(value instanceof groovy.json.internal.LazyMap)) {
+                                       // only add key-value attributes, skip the rest
+                                       addToMap("$key", "$value")
+                               }
+                       }
+
+                       if(parsedData instanceof java.util.ArrayList) {
+                               parsedData.each {
+                                       it.each { key, value -> processKeyValue(key, value) }
+                               }
+                       } else {
+                               parsedData.each { key, value -> processKeyValue(key, value) }
+                       }
+                       return attributeMap
+               }
+
+               // This closure compares all values for each key from the left map, to values of the same key from the right map.
+               // Returns a map of attributes with mismatched or missing values (i.e. attribute name mapped to list of failed values).
+               Closure<java.util.Map> compareAttributes = { java.util.Map left, java.util.Map right ->
+                       java.util.Map violationMap = new java.util.HashMap()
+                       left.each{ leftKey, leftValueList ->
+                               def rightValueList = right.get("$leftKey")
+                               rightValueList.each{ rightValue ->
+                                       if(!leftValueList.any{ it == "$rightValue" }) {
+                                               def existingValues = violationMap.get(leftKey)
+                                               if(existingValues) {
+                                                       existingValues.add("$rightValue")
+                                               } else {
+                                                       java.util.Set newValues = new HashSet()
+                                                       newValues.add("$rightValue")
+                                                       violationMap.put("$leftKey", newValues)
+                                               }
+                                       }
+                               }
+                       }
+                       return violationMap
+               }
+
+               // This closure merges the given maps into a new map.
+               // Returns a map containing all keys and their values from both maps.
+               Closure<java.util.Map> mergeMaps = { java.util.Map left, java.util.Map right ->
+                       if(left.isEmpty() && right.isEmpty()) {
+                               return [:]
+                       } else if(left.isEmpty()) {
+                               return right
+                       } else if(right.isEmpty()) {
+                               return left
+                       }
+                       java.util.Map merged = new java.util.HashMap()
+                       merged.putAll(left)
+                       right.each{ rightKey, rightValues ->
+                               java.util.Set mergedValues = merged.get(rightKey)
+                               if(mergedValues == null) {
+                                       merged.put(rightKey, rightValues)
+                               } else {
+                                       mergedValues.addAll(rightValues)
+                               }
+                       }
+                       return merged
+               }
+
+               def slurper = new groovy.json.JsonSlurper()
+               java.util.Map lhsAttributes = getAttributes(slurper.parseText(lhsObject.toString()))
+               java.util.Map rhsAttributes = getAttributes(slurper.parseText(rhsObject.toString()))
+
+               def leftToRight = compareAttributes(lhsAttributes, rhsAttributes)
+               def rightToLeft = compareAttributes(rhsAttributes, lhsAttributes)
+               def mergedResults = mergeMaps(leftToRight, rightToLeft)
+
+               boolean success = true
+               List<String> details = new ArrayList<>()
+               if(!mergedResults.isEmpty()) {
+                       success = false
+                       details.add(mergedResults.toString())
+               }
+               return new Tuple2(success, details)
         '''
 }
 
@@ -486,7 +415,7 @@ rule {
  * The data-dictionary rule below can be used with this useRule clause:
  *   useRule {
  *     name 'Data-Dictionary validate VF type'
- *     attributes 'context-list.ndcb.vfList[*].vfModuleList[*].networkList[*].type'
+ *     attributes 'context-list.ndcb.vnfList[*].vfModuleList[*].networkList[*].type'
  *   }
  */
 rule {
@@ -514,3 +443,52 @@ rule {
         return new Tuple2(success, details)
         '''
 }
+
+rule {
+  name        'AAI-SDNC-pnf-name-check'
+  category    'PNF Consistency'
+  description 'Validate that each PNF name in AAI matches a PNF name in the SDNC model'
+  errorText   'AAI PNF names do not match SDNC - {0}'
+  severity    'ERROR'
+  attributes  'aaiNames', 'sdncNames'
+  validate    '''
+        def addName = { values, key ->
+                values.add("$key")
+        }
+
+        List<String> errorReasons = new ArrayList();
+
+        if (aaiNames.size() != sdncNames.size()) {
+            errorReasons.add("Number of PNFs don't match; aai has ${aaiNames.size()}, sdnc has ${sdncNames.size()}")
+            return new Tuple2(false, errorReasons)
+        }
+
+        // collect all the "name" values from AAI and SDNC into two Sets.
+        Set aaiNameSet = new java.util.HashSet()
+        aaiNames.each {
+           aValue -> addName(aaiNameSet, aValue)
+        }
+
+        Set sdncNameSet = new java.util.HashSet()
+        sdncNames.each {
+            aValue -> addName(sdncNameSet, aValue)
+        }
+
+        // Validate that the names match by comparing the size of the two Sets.
+        if (aaiNameSet.size() != sdncNameSet.size()) {
+            errorReasons.add("Number of distinct PNF names don't match; aai: ${aaiNameSet}, sdnc: ${sdncNameSet}")
+            return new Tuple2(false, errorReasons)
+        }
+
+        Set combinedSet = new HashSet();
+        combinedSet.addAll(aaiNameSet);
+        combinedSet.addAll(sdncNameSet);
+        if (combinedSet.size() != aaiNameSet.size()) {
+            errorReasons.add("PNF names don't match; aai names: ${aaiNameSet}, sdnc names: ${sdncNameSet}")
+            return new Tuple2(false, errorReasons)
+        }
+
+        return true
+
+        '''
+}
index df62915..d8864e2 100644 (file)
@@ -85,14 +85,34 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
 
+        # Filebeat sidecar container
+        - 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" . }}-data-filebeat
+            mountPath: /usr/share/filebeat/data
+          - name: {{ include "common.fullname" . }}-logs
+            mountPath: /opt/app/logs
+
       volumes:
         - name: localtime
           hostPath:
             path: /etc/localtime
+        - name: {{ include "common.fullname" . }}-filebeat-conf
+          configMap:
+            name: {{ .Release.Name }}-pomba-filebeat-configmap
+        - name: {{ include "common.fullname" . }}-data-filebeat
+          emptyDir: {}
         - name: root-config-app-prop
           configMap:
             name: {{ include "common.fullname" . }}-root-config
             defaultMode: 0644
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
         - name: properties
           configMap:
             name: {{ include "common.fullname" . }}-config-properties
index 2cb175a..d0b964e 100644 (file)
@@ -56,14 +56,14 @@ 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
   enabled: false
 
 readiness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 30
   periodSeconds: 10
   enabled: false
 
index 5359e3b..845a5fe 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index b0d4690..768b1c5 100644 (file)
@@ -3,9 +3,15 @@ filebeat.prospectors:
 - input_type: log
   #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
   paths:
+    - /opt/app/logs/EELF/*/*.log
+    - /opt/app/logs/EELF/*.log
     - /var/log/onap/*/*/*/*.log
     - /var/log/onap/*/*/*.log
     - /var/log/onap/*/*.log
+    - /var/log/onap/*.log
+    - /logs/*/*.log
+    - /logs/*.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
index 84105d2..8ab304f 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Web Portal
 name: portal
-version: 3.0.0
+version: 4.0.0
index 01e83e8..0df66c8 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Portal application
 name: portal-app
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index a899183..1f0252b 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Portal cassandra
 name: portal-cassandra
-version: 3.0.0
+version: 4.0.0
index 8a96621..f6cf25d 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: MariaDB Service
 name: portal-mariadb
-version: 3.0.0
+version: 4.0.0
index f34d247..e3fdb19 100644 (file)
@@ -72,4 +72,4 @@ update fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS
 -- vid
 update fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='2Re7Pvdkgw5aeAUD', auth_central = 'Y' , auth_namespace = 'org.onap.vid' where app_id = 6;
 -- aai sparky
-update fn_app set app_username='aaiui', app_password='4LK69amiIFtuzcl6Gsv97Tt7MLhzo03aoOx7dTvdjKQ=', ueb_key='ueb_key' where app_id = 7;
\ No newline at end of file
+update fn_app set app_username='aaiui', app_password='4LK69amiIFtuzcl6Gsv97Tt7MLhzo03aoOx7dTvdjKQ=', ueb_key='ueb_key_7' where app_id = 7;
\ No newline at end of file
index 5eac1fc..bb85ea6 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Portal software development kit
 name: portal-sdk
-version: 3.0.0
+version: 4.0.0
index 1e73c38..b7617c9 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Portal widgets micro service application
 name: portal-widget
-version: 3.0.0
+version: 4.0.0
index fc02f4d..b6bacff 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Zookeeper for ONAP Portal
 name: portal-zookeeper
-version: 3.0.0
+version: 4.0.0
index 897df32..0ba9e47 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 228ea3d..6ccc7a3 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: A helm Chart for kubernetes-ONAP Robot
 name: robot
-version: 3.0.0
+version: 4.0.0
index 11d41a3..d253ec7 100755 (executable)
@@ -173,6 +173,14 @@ do
                         TAG="distributeVFWNG"
                         shift
                         ;;
+        distributeDemoVFWDT)
+                        TAG="DistributeDemoVFWDT"
+                        shift
+                        ;;
+        instantiateDemoVFWDT)
+                        TAG="instantiateVFWDT"
+                        shift
+                        ;;
         vfwclosedloop)
                         TAG="vfwclosedloop"
                         shift
@@ -189,7 +197,7 @@ set -x
 
 POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
 
-ETEHOME=/var/opt/OpenECOMP_ETE
+ETEHOME=/var/opt/ONAP
 
 export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec  ${POD}  -- bash -c "ls -1q /share/logs/ | wc -l")
 OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_demo_$key
index c4059b9..aaa3bc8 100755 (executable)
@@ -33,7 +33,7 @@ POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
 
 TAGS="-i $2"
 
-ETEHOME=/var/opt/OpenECOMP_ETE
+ETEHOME=/var/opt/ONAP
 export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec  ${POD}  -- bash -c "ls -1q /share/logs/ | wc -l")
 OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_$2
 DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
index db85323..3ee610f 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 4bcd3d9..0ae1047 100644 (file)
@@ -30,8 +30,7 @@ GLOBAL_PRELOAD_PARAMETERS = {
          "cloud_env" : "${GLOBAL_INJECTED_CLOUD_ENV}",
          "install_script_version" : "${GLOBAL_INJECTED_SCRIPT_VERSION}",
      },
-
-# ##
+    # ##
     # heat template parameter values for heat template instances created during Vnf-Orchestration test cases
     # ##
     "Vnf-Orchestration" : {
@@ -40,40 +39,90 @@ GLOBAL_PRELOAD_PARAMETERS = {
             "unprotected_private_net_cidr" : "192.168.10.0/24",
             "protected_private_net_id" : "vofwl01_protected${hostid}",
             "protected_private_net_cidr" : "192.168.20.0/24",
-            "vfw_private_ip_0" : "192.168.10.100",
-            "vfw_private_ip_1" : "192.168.20.100",
-            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.1",
-            "vpg_private_ip_0" : "192.168.10.200",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.2",
-            "vsn_private_ip_0" : "192.168.20.250",
-            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.3",
+            "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
+            "vfw_int_protected_private_ip_0" : "192.168.20.100",
+            "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.1",
+            "vfw_int_protected_private_floating_ip" : "192.168.10.200",
+            "vpg_int_unprotected_private_ip_0" : "192.168.10.200",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.2",
+            "vsn_int_protected_private_ip_0" : "192.168.20.250",
+            "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.3",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vfw_name_0':'vofwl01fwl${hostid}',
             'vpg_name_0':'vofwl01pgn${hostid}',
             "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
             "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vsn_name_0':'vofwl01snk${hostid}'
         },
         "vfwsnk_preload.template": {
+            "int_unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
+            "int_unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "int_protected_private_net_id" : "vofwlsnk_protected${hostid}",
+            "int_protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
+            # this should be the same value as vpg_private_ip_0
+            "vfw_int_protected_private_floating_ip" : "192.168.10.200",
+            "vfw_int_protected_private_ip_0" : "192.168.20.100",
+            "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.101",
+            "vsn_int_protected_private_ip_0" : "192.168.20.250",
+            "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.102",
+            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
+            'vfw_name_0':'vofwl01fwl${hostid}',
+            'vsn_name_0':'vofwl01snk${hostid}',
+            "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+        },
+        "vpkg_preload.template": {
+            "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.100",
+            "vpg_unprotected_private_ip_0" : "192.168.10.200",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
+            "vsn_private_ip_0" : "192.168.20.250",
+            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
+            'vpg_name_0':'vofwl01pgn${hostid}',
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+        },
+        #  vFWDT preload data
+        "vfwdt_vpkg_preload.template": {
             "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
             "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
             "unprotected_private_net_cidr" : "192.168.10.0/24",
-            "protected_private_net_id" : "vofwlsnk_protected${hostid}",
-            "protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
             "protected_private_net_cidr" : "192.168.20.0/24",
             "vfw_private_ip_0" : "192.168.10.100",
-            "vfw_private_ip_1" : "192.168.20.100",
-            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.101",
             "vpg_private_ip_0" : "192.168.10.200",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
             "vsn_private_ip_0" : "192.168.20.250",
-            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.102",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
-            'vfw_name_0':'vofwl01fwl${hostid}',
-            'vsn_name_0':'vofwl01snk${hostid}',
+            'vpg_name_0':'vofwl01pgn${hostid}',
+            "vfw_name_0": "vofwl01vfw${hostid}",
+            "vsn_name_0": "vofwl01snk${hostid}",
             "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
             "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "protected_private_net_id" : "vofwlsnk01_protected${hostid}",
+            "protected_private_subnet_id" : "vofwlsnk01_protected_sub${hostid}",
+            "ext_private_net_id": "onap_oam_ext",
+            "ext_private_subnet_id": "onap_oam_ext_sub",
+            "ext_private_net_cidr": "10.100.0.0/16",
+            "vfw_private_ip_1": "192.168.20.100",
+            "vfw_private_ip_2": "10.0.110.1",
+            "vfw_private_ip_3": "10.100.100.1",
+            "vsn_private_ip_1": "10.0.110.3",
+            "vsn_private_ip_0": "192.168.20.250",
+            "vsn_private_ip_2": "10.100.100.3",
         },
-        "vpkg_preload.template": {
+        "vfwdt_vfwsnk0_preload.template": {
             "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
             "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
             "unprotected_private_net_cidr" : "192.168.10.0/24",
@@ -84,43 +133,95 @@ GLOBAL_PRELOAD_PARAMETERS = {
             "vsn_private_ip_0" : "192.168.20.250",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vpg_name_0':'vofwl01pgn${hostid}',
+            "vsn_name_0": "vofwl01snk${hostid}",
+            "vfw_name_0": "vofwl01vfw${hostid}",
+            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "protected_private_net_id" : "vofwlsnk01_protected${hostid}",
+            "protected_private_subnet_id" : "vofwlsnk01_protected_sub${hostid}",
+            "ext_private_net_id": "onap_oam_ext",
+            "ext_private_subnet_id": "onap_oam_ext_sub",
+            "ext_private_net_cidr": "10.100.0.0/16",
+            "vfw_private_ip_1": "192.168.20.100",
+            "vfw_private_ip_2": "10.0.110.1",
+            "vfw_private_ip_3": "10.100.100.1",
+            "vsn_private_ip_1": "10.0.110.3",
+            "vsn_private_ip_0": "192.168.20.250",
+            "vpg_private_ip_2": "10.100.100.2",
+            "vsn_private_ip_1": "10.0.110.3",
+            "vsn_private_ip_0": "192.168.20.250",
+            "vsn_private_ip_2": "10.100.100.3"
+        },
+        "vfwdt_vfwsnk1_preload.template": {
+            "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_cidr" : "192.168.10.0/24",
+            "protected_private_net_cidr" : "192.168.20.0/24",
+            "vfw_private_ip_0" : "192.168.10.110",
+            "vpg_private_ip_0" : "192.168.10.200",
+            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
+            "vsn_private_ip_0" : "192.168.20.250",
+            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
+            'vpg_name_0':'vofwl01pgn${hostid}',
+            "vsn_name_0": "vofwl01snk${hostid}",
+            "vfw_name_0": "vofwl01vfw${hostid}",
             "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
             "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "protected_private_net_id" : "vofwlsnk01_protected${hostid}",
+            "protected_private_subnet_id" : "vofwlsnk01_protected_sub${hostid}",
+            "ext_private_net_id": "onap_oam_ext",
+            "ext_private_subnet_id": "onap_oam_ext_sub",
+            "ext_private_net_cidr": "10.100.0.0/16",
+            "vfw_private_ip_1": "192.168.20.110",
+            "vfw_private_ip_2": "10.0.110.4",
+            "vfw_private_ip_3": "10.100.100.4",
+            "vpg_private_ip_0": "192.168.10.200",
+            "vpg_private_ip_1": "10.0.110.2",
+            "vpg_private_ip_2": "10.100.100.2",
+            "vsn_private_ip_0": "192.168.20.240",
+            "vsn_private_ip_1": "10.0.110.5",
+            "vsn_private_ip_2": "10.100.100.5"
         },
         "vlb_preload.template" : {
             "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
             "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
-            "vlb_private_net_id" : "volb01_private${hostid}",
-            "pktgen_private_net_id" : "volb01_pktgen${hostid}",
-            "vlb_private_net_cidr" : "192.168.30.0/24",
-            "vlb_private_ip_0" : "192.168.30.100",
-            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
-            "vdns_private_ip_0" : "192.168.30.110",
-            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.5",
-            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
+            "vdns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vdns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vlb_name_0':'vovlblb${hostid}',
             'vdns_name_0':'vovlbdns${hostid}',
+            "vpg_name_0" : "vovlbpgn${hostid}",
+            "vlb_private_net_id" : "volb01_private${hostid}",
+            "vlb_private_net_cidr" : "192.168.30.0/24",
+            "pktgen_private_net_id" : "volb01_pktgen${hostid}",
             "pktgen_private_net_cidr" : "192.168.9.0/24",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.7",
+            "vlb_int_private_ip_0" : "192.168.30.100",
+            "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
+            "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
+            "vdns_int_private_ip_0" : "192.168.30.110",
+            "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.5",
+            "vpg_int_pktgen_private_ip_0" : "192.168.9.110",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.7",
+            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             "pg_int" : "192.168.9.109",
-            "vpg_private_ip_0" : "192.168.9.110",
-            "vlb_private_ip_2" : "192.168.9.111",
             "vip" : "192.168.9.112",
             "gre_ipaddr" : "192.168.30.112",
-            "vpg_name_0" : "vovlbpgn${hostid}",
             "vnf_id" : "vLoadBalancer_${hostid}",
             "vf_module_id" : "vLoadBalancer"
 
         },
         "dnsscaling_preload.template" : {
-            "vlb_private_net_id" : "volb01_private${hostid}",
-            "vlb_private_ip_0" : "192.168.30.100",
-            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
-            "vdns_private_ip_0" : "192.168.30.222",
-            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.6",
+            "int_private_net_id" : "vLBMS_volb01_private${hostid}",
+            "int_private_subnet_id" : "vLBMS_volb01_private${hostid}_subnet",
+            "vlb_int_private_ip_0" : "192.168.30.100",
+            "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
+            "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
+            "vdns_int_private_ip_0" : "192.168.30.222",
+            "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.6",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
-            'scaling_vdns_name_0':'vovlbscaling${hostid}',
-            "vlb_private_net_cidr" : "192.168.10.0/24"
+            'vdns_name_0':'vovlbscaling${hostid}',
+            "vlb_private_net_cidr" : "192.168.30.0/24"
         },
         "vims_preload.template" : {
             "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
@@ -149,90 +250,105 @@ GLOBAL_PRELOAD_PARAMETERS = {
     },
 # heat template parameter values for heat template instances created during Closed-Loop test cases
     "Closed-Loop" : {
-                "vfw_preload.template": {
+        "vfw_preload.template": {
             "unprotected_private_net_id" : "clfwl01_unprotected${hostid}",
             "unprotected_private_net_cidr" : "192.168.110.0/24",
             "protected_private_net_id" : "clfwl01_protected${hostid}",
             "protected_private_net_cidr" : "192.168.120.0/24",
-            "vfw_private_ip_0" : "192.168.110.100",
-            "vfw_private_ip_1" : "192.168.120.100",
-            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
-            "vpg_private_ip_0" : "192.168.110.200",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
-            "vsn_private_ip_0" : "192.168.120.250",
-            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
+            "vfw_int_unprotected_private_ip_0" : "192.168.110.100",
+            "vfw_int_protected_private_ip_0" : "192.168.120.100",
+            "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
+            "vfw_int_protected_private_floating_ip" : "192.168.110.200",
+            "vpg_int_unprotected_private_ip_0" : "192.168.110.200",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
+            "vsn_int_protected_private_ip_0" : "192.168.120.250",
+            "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vfw_name_0':'clfwl01fwl${hostid}',
             'vpg_name_0':'clfwl01pgn${hostid}',
             "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
             "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vsn_name_0':'clfwl01snk${hostid}'
         },
         "vfwsnk_preload.template": {
-            "unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
-            "unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
+            "int_unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
+            "int_unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
             "unprotected_private_net_cidr" : "192.168.10.0/24",
-            "protected_private_net_id" : "clfwlsnk_protected${hostid}",
-            "protected_private_subnet_id" : "clfwlsnk_protected_sub${hostid}",
+            "int_protected_private_net_id" : "clfwlsnk_protected${hostid}",
+            "int_protected_private_subnet_id" : "clfwlsnk_protected_sub${hostid}",
             "protected_private_net_cidr" : "192.168.20.0/24",
-            "vfw_private_ip_0" : "192.168.10.100",
-            "vfw_private_ip_1" : "192.168.20.100",
-            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.111",
-            "vpg_private_ip_0" : "192.168.10.200",
-            "vsn_private_ip_0" : "192.168.20.250",
-            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.112",
+            "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
+            # this should be the same value as vpg_private_ip_0
+            "vfw_int_protected_private_floating_ip" : "192.168.10.200",
+            "vfw_int_protected_private_ip_0" : "192.168.20.100",
+            "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.111",
+            "vsn_int_protected_private_ip_0" : "192.168.20.250",
+            "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.112",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vfw_name_0':'clfwl01fwl${hostid}',
             'vsn_name_0':'clfwl01snk${hostid}',
-            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
-            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
         },
         "vpkg_preload.template": {
-            "unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
-            "unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_id" : "vFWSNK_clfwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "vFWSNK_clfwlsnk_unprotected_sub${hostid}",
             "unprotected_private_net_cidr" : "192.168.10.0/24",
             "protected_private_net_cidr" : "192.168.20.0/24",
             "vfw_private_ip_0" : "192.168.10.100",
-            "vpg_private_ip_0" : "192.168.10.200",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.113",
+            "vpg_unprotected_private_ip_0" : "192.168.10.200",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.113",
             "vsn_private_ip_0" : "192.168.20.250",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vpg_name_0':'clfwl01pgn${hostid}',
-            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
-            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
         },
+        # vLBMS
         "vlb_preload.template" : {
             "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
             "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
-            "vlb_private_net_id" : "cllb01_private${hostid}",
-            "pktgen_private_net_id" : "cllb01_pktgen${hostid}",
-            "vlb_private_net_cidr" : "192.168.30.0/24",
-            "vlb_private_ip_0" : "192.168.30.100",
-            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
-            "vdns_private_ip_0" : "192.168.30.110",
-            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.15",
-            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
+            "vdns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vdns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vlb_name_0':'clvlblb${hostid}',
             'vdns_name_0':'clvlbdns${hostid}',
+            "vpg_name_0" : "clvlbpgn${hostid}",
+            "vlb_private_net_id" : "cllb01_private${hostid}",
+            "vlb_private_net_cidr" : "192.168.30.0/24",
+            "pktgen_private_net_id" : "cllb01_pktgen${hostid}",
             "pktgen_private_net_cidr" : "192.168.9.0/24",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.17",
+            "vlb_int_private_ip_0" : "192.168.30.100",
+            "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
+            "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
+            "vdns_int_private_ip_0" : "192.168.30.110",
+            "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.15",
+            "vpg_int_pktgen_private_ip_0" : "192.168.9.110",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.17",
+            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             "pg_int" : "192.168.9.109",
-            "vpg_private_ip_0" : "192.168.9.110",
-            "vlb_private_ip_2" : "192.168.9.111",
             "vip" : "192.168.9.112",
             "gre_ipaddr" : "192.168.30.112",
-            "vpg_name_0" : "clvlbpgn${hostid}",
             "vnf_id" : "vLoadBalancer_${hostid}",
             "vf_module_id" : "vLoadBalancer"
         },
         "dnsscaling_preload.template" : {
-            "vlb_private_net_id" : "cllb01_private${hostid}",
-            "vlb_private_ip_0" : "192.168.130.100",
-            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
-            "vdns_private_ip_0" : "192.168.130.222",
-            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.16",
+            "int_private_net_id" : "vLBMS_cllb01_private${hostid}",
+            "int_private_subnet_id" : "vLBMS_cllb01_private${hostid}_subnet",
+            "vlb_int_private_ip_0" : "192.168.30.100",
+            "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
+            "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
+            "vdns_int_private_ip_0" : "192.168.30.222",
+            "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.16",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
-            'scaling_vdns_name_0':'clvlbscaling${hostid}',
+            'vdns_name_0':'clvlbscaling${hostid}',
             "vlb_private_net_cidr" : "192.168.10.0/24"
         },
         "vims_preload.template" : {
@@ -266,86 +382,101 @@ GLOBAL_PRELOAD_PARAMETERS = {
             "unprotected_private_net_cidr" : "192.168.110.0/24",
             "protected_private_net_id" : "demofwl_protected",
             "protected_private_net_cidr" : "192.168.120.0/24",
-            "vfw_private_ip_0" : "192.168.110.100",
-            "vfw_private_ip_1" : "192.168.120.100",
-            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
-            "vpg_private_ip_0" : "192.168.110.200",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
-            "vsn_private_ip_0" : "192.168.120.250",
-            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
+            "vfw_int_unprotected_private_ip_0" : "192.168.110.100",
+            "vfw_int_protected_private_ip_0" : "192.168.120.100",
+            "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
+            "vpg_int_unprotected_private_ip_0" : "192.168.110.200",
+            "vfw_int_protected_private_floating_ip" : "192.168.110.200",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
+            "vsn_int_protected_private_ip_0" : "192.168.120.250",
+            "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vfw_name_0':'demofwl01fwl',
             'vpg_name_0':'demofwl01pgn',
             "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
             "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vsn_name_0':'demofwl01snk'
         },
         "vfwsnk_preload.template": {
-            "unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
-            "unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
+            "int_unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
+            "int_unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
             "unprotected_private_net_cidr" : "192.168.10.0/24",
-            "protected_private_net_id" : "demofwlsnk_protected${hostid}",
-            "protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
+            "int_protected_private_net_id" : "demofwlsnk_protected${hostid}",
+            "int_protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
             "protected_private_net_cidr" : "192.168.20.0/24",
-            "vfw_private_ip_0" : "192.168.10.100",
-            "vfw_private_ip_1" : "192.168.20.100",
-            "vfw_private_ip_2" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.121",
-            "vpg_private_ip_0" : "192.168.10.200",
-            "vsn_private_ip_0" : "192.168.20.250",
-            "vsn_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.122",
+            "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
+            # this should be the same value as vpg_private_ip_0
+            "vfw_int_protected_private_floating_ip" : "192.168.10.200",
+            "vfw_int_protected_private_ip_0" : "192.168.20.100",
+            "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.121",
+            "vsn_int_protected_private_ip_0" : "192.168.20.250",
+            "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.122",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vfw_name_0':'${generic_vnf_name}',
             'vsn_name_0':'demofwl01snk${hostid}',
-            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
-            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
         },
         "vpkg_preload.template": {
-            "unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
-            "unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
+            "unprotected_private_net_id" : "vFWSNK_demofwlsnk_unprotected${hostid}",
+            "unprotected_private_subnet_id" : "vFWSNK_demofwlsnk_unprotected_sub${hostid}",
             "unprotected_private_net_cidr" : "192.168.10.0/24",
             "protected_private_net_cidr" : "192.168.20.0/24",
             "vfw_private_ip_0" : "192.168.10.100",
-            "vpg_private_ip_0" : "192.168.10.200",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.123",
+            "vpg_unprotected_private_ip_0" : "192.168.10.200",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.123",
             "vsn_private_ip_0" : "192.168.20.250",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
             'vpg_name_0':'demofwl01pgn${hostid}',
-            "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
-            "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}"
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}"
         },
+        # vLBMS
         "vlb_preload.template" : {
             "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
             "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
-            "vlb_private_net_id" : "demolb_private${hostid}",
-            "pktgen_private_net_id" : "demolb_pktgen${hostid}",
-            "vlb_private_net_cidr" : "192.168.30.0/24",
-            "vlb_private_ip_0" : "192.168.30.100",
-            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
-            "vdns_private_ip_0" : "192.168.30.110",
-            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.25",
-            "sec_group" : "{{ .Values.openStackSecurityGroup }}",
+            "vdns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vdns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
+            "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
+            "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
             'vlb_name_0':'demovlblb${hostid}',
             'vdns_name_0':'demovlbdns${hostid}',
+            "vpg_name_0" : "clvlbpgn${hostid}",
+            "vlb_private_net_id" : "demolb_private${hostid}",
+            "vlb_private_net_cidr" : "192.168.30.0/24",
+            "pktgen_private_net_id" : "demolb_pktgen${hostid}",
             "pktgen_private_net_cidr" : "192.168.9.0/24",
-            "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.27",
+            "vlb_int_private_ip_0" : "192.168.30.100",
+            "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
+            "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
+            "vdns_int_private_ip_0" : "192.168.30.110",
+            "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.25",
+            "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.27",
+            "vpg_int_pktgen_private_ip_0" : "192.168.9.110",
             "pg_int" : "192.168.9.109",
-            "vpg_private_ip_0" : "192.168.9.110",
-            "vlb_private_ip_2" : "192.168.9.111",
             "vip" : "192.168.9.112",
             "gre_ipaddr" : "192.168.30.112",
-            "vpg_name_0" : "clvlbpgn${hostid}",
             "vnf_id" : "vLoadBalancer_${hostid}",
-            "vf_module_id" : "vLoadBalancer"
+            "vf_module_id" : "vLoadBalancer",
+            "sec_group" : "{{ .Values.openStackSecurityGroup }}"
         },
         "dnsscaling_preload.template" : {
-            "vlb_private_net_id" : "demolb_private${hostid}",
-            "vlb_private_ip_0" : "192.168.130.100",
-            "vlb_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
-            "vdns_private_ip_0" : "192.168.130.222",
-            "vdns_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.26",
+            "int_private_net_id" : "vLBMS_demolb_private${hostid}",
+            "int_private_subnet_id" : "vLBMS_demolb_private${hostid}_subnet",
+            "vlb_int_private_ip_0" : "192.168.30.100",
+            "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
+            "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
+            "vdns_int_private_ip_0" : "192.168.30.222",
+            "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.26",
             "sec_group" : "{{ .Values.openStackSecurityGroup }}",
-            'scaling_vdns_name_0':'demovlbscaling${hostid}',
-            "vlb_private_net_cidr" : "192.168.10.0/24"
+            'vdns_name_0':'demovlbscaling${hostid}',
+            "vlb_private_net_cidr" : "192.168.30.0/24"
         },
         "vims_preload.template" : {
             "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
index a37692f..3b65df8 100644 (file)
@@ -69,18 +69,6 @@ GLOBAL_POMBA_SERVER_PROTOCOL = "http"
 GLOBAL_POMBA_AAICONTEXTBUILDER_PORT = "9530"
 GLOBAL_POMBA_SDCCONTEXTBUILDER_PORT = "9530"
 GLOBAL_POMBA_NETWORKDISCCONTEXTBUILDER_PORT = "9530"
-# vvp info
-GLOBAL_VVP_SERVER_PROTOCOL = "http"
-GLOBAL_VVP_CI_UWSGI_PORT = "8282"
-GLOBAL_VVP_CMS_UWSGI_PORT1 = "80"
-GLOBAL_VVP_EM_UWSGI_PORT = "80"
-GLOBAL_VVP_EXT_HAPROXY_PORT1 = "80"
-GLOBAL_VVP_GITLAB_PORT1 = "80"
-GLOBAL_VVP_IMAGESCANNER_PORT = "80"
-GLOBAL_VVP_INT_HAPROXY_PORT1 = "80"
-GLOBAL_VVP_JENKINS_PORT = "8080"
-GLOBAL_VVP_POSTGRES_PORT = "5432"
-GLOBAL_VVP_REDIS_PORT = "6379"
 # microservice bus info - everything is from the private oam network (also called onap private network)
 GLOBAL_MSB_SERVER_PROTOCOL = "http"
 GLOBAL_MSB_SERVER_PORT = "80"
@@ -163,4 +151,4 @@ GLOBAL_PROXY_WARNING_CONTINUE_XPATH=""
 # dns info
 GLOBAL_DNS_TRAFFIC_DURATION = "600"
 # location where heat templates are loaded from
-GLOBAL_HEAT_TEMPLATES_FOLDER = "/var/opt/OpenECOMP_ETE/demo/heat"
+GLOBAL_HEAT_TEMPLATES_FOLDER = "/var/opt/ONAP/demo/heat"
index 28f1f20..faa890d 100644 (file)
@@ -35,16 +35,6 @@ GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = "log-ls-http.{{include "common.namespace"
 GLOBAL_INJECTED_POMBA_AAI_CONTEXT_BUILDER_IP_ADDR = "pomba-aaictxbuilder.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_POMBA_SDC_CONTEXT_BUILDER_IP_ADDR = "pomba-sdcctxbuilder.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_POMBA_NETWORK_DISC_CONTEXT_BUILDER_IP_ADDR = "pomba-networkdiscoveryctxbuilder.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_CI_UWSGI_IP_ADDR = "vvp-ci-uwsgi.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_CMS_UWSGI_IP_ADDR = "vvp-cms-uwsgi.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_EM_UWSGI_IP_ADDR = "vvp-em-uwsgi.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_EXT_HAPROXY_IP_ADDR = "vvp-ext-haproxy.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_GITLAB_IP_ADDR = "vvp-gitlab.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_IMAGESCANNER_IP_ADDR = "vvp-imagescanner.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_INT_HAPROXY_IP_ADDR  = "vvp-int-haproxy.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_JENKINS_IP_ADDR = "vvp-jenkins.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_POSTGRES_IP_ADDR = "vvp-postgres.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_VVP_REDIS_IP_ADDR = "vvp-redis.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
 GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_MUSIC_IP_ADDR = "music.{{include "common.namespace" .}}"
@@ -118,16 +108,6 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_POMBA_AAI_CONTEXT_BUILDER_IP_ADDR" : "pomba-aaictxbuilder.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POMBA_SDC_CONTEXT_BUILDER_IP_ADDR" : "pomba-sdcctxbuilder.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POMBA_NETWORK_DISC_CONTEXT_BUILDER_IP_ADDR" : "pomba-networkdiscovery.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_CI_UWSGI_IP_ADDR" : "vvp-ci-uwsgi.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_CMS_UWSGI_IP_ADDR" : "vvp-cms-uwsgi.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_EM_UWSGI_IP_ADDR" : "vvp-em-uwsgi.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_EXT_HAPROXY_IP_ADDR" : "vvp-ext-haproxy.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_GITLAB_IP_ADDR" : "vvp-gitlab.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_IMAGESCANNER_IP_ADDR" : "vvp-imagescanner.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_INT_HAPROXY_IP_ADDR"  : "vvp-int-haproxy.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_JENKINS_IP_ADDR" : "vvp-jenkins.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_POSTGRES_IP_ADDR" : "vvp-postgres.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_VVP_REDIS_IP_ADDR" : "vvp-redis.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_MUSIC_IP_ADDR" : "music.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_NBI_IP_ADDR" : "nbi.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_NETWORK" : "{{ .Values.openStackPrivateNetId }}",
index ede9a04..bc80528 100755 (executable)
@@ -22,7 +22,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/testsuite:1.3.2
+image: onap/testsuite:1.4.0-STAGING-latest
 pullPolicy: Always
 
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
index e51a7e1..46e2d5c 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: Service Design and Creation Umbrella Helm charts
 name: sdc
-version: 3.0.0
+version: 4.0.0
index 827ad83..fab2243 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Backend API
 name: sdc-be
-version: 3.0.0
+version: 4.0.0
index 4f8339f..063e2d8 100644 (file)
@@ -69,8 +69,9 @@ spec:
           - containerPort: {{ .Values.service.internalPort2 }}
           {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
-            tcpSocket:
-              port: {{ .Values.service.internalPort }}
+            exec:
+              command:
+              - "/var/lib/ready-probe.sh"
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end }}
index e69c81a..c65aa73 100644 (file)
@@ -28,8 +28,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-backend:1.3.5
-backendInitImage: onap/sdc-backend-init:1.3.5
+image: onap/sdc-backend:1.4-STAGING-latest
+backendInitImage: onap/sdc-backend-init:1.4-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 4c21c9c..0537757 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Cassandra
 name: sdc-cs
-version: 3.0.0
+version: 4.0.0
index 8e50ea0..8df0078 100644 (file)
@@ -28,8 +28,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-cassandra:1.3.5
-cassandraInitImage: onap/sdc-cassandra-init:1.3.5
+image: onap/sdc-cassandra:1.4-STAGING-latest
+cassandraInitImage: onap/sdc-cassandra-init:1.4-STAGING-latest
 
 pullPolicy: Always
 
index dd1f323..050a093 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP SDC DCAE Backend client of TOSCALAB and SDC
 name: sdc-dcae-be
-version: 3.0.0
+version: 4.0.0
index 1d0751a..5c92278 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-logging-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
\ No newline at end of file
index e7d4830..75f5b2b 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description:  ONAP DCAE desiner composition tool for creating customized templates
 name: sdc-dcae-dt
-version: 3.0.0
+version: 4.0.0
index 144bdb7..a96f3c8 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-logging-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
index 7582502..5679cde 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP SDC DCAE UI for service monitoring and MC create and configure
 name: sdc-dcae-fe
-version: 3.0.0
+version: 4.0.0
index 144bdb7..a96f3c8 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-logging-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
index 28e2500..e69503f 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Tosca model for component monitoring and descriptors deployment
 name: sdc-dcae-tosca-lab
-version: 3.0.0
+version: 4.0.0
index cbcfc13..7254f68 100644 (file)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Elasticsearch
 name: sdc-es
-version: 3.0.0
+version: 4.0.0
index 4fbef96..33ebbe3 100644 (file)
@@ -31,8 +31,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-elasticsearch:1.3.5
-elasticInitImage: onap/sdc-init-elasticsearch:1.3.5
+image: onap/sdc-elasticsearch:1.4-STAGING-latest
+elasticInitImage: onap/sdc-init-elasticsearch:1.4-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index b8cef2b..a249a5b 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Front End
 name: sdc-fe
-version: 3.0.0
+version: 4.0.0
diff --git a/kubernetes/sdc/charts/sdc-fe/resources/config/plugins/plugins-configuration.yaml b/kubernetes/sdc/charts/sdc-fe/resources/config/plugins/plugins-configuration.yaml
new file mode 100644 (file)
index 0000000..f9a3b17
--- /dev/null
@@ -0,0 +1,28 @@
+pluginsList:
+   - pluginId: DCAED
+     pluginDiscoveryUrl: "{{ .Values.config.plugins.dcae_discovery_url }}"
+     pluginSourceUrl: "{{ .Values.config.plugins.dcae_source_url }}"
+     pluginStateUrl: "dcaed"
+     pluginDisplayOptions:
+        context:
+            displayName: "Monitoring"
+            displayContext: ["SERVICE"]
+            displayRoles: ["DESIGNER"]
+   - pluginId: DCAE-DS
+     pluginDiscoveryUrl: "{{ .Values.config.plugins.dcae_dt_discovery_url }}"
+     pluginSourceUrl: "{{ .Values.config.plugins.dcae_dt_source_url }}"
+     pluginStateUrl: "dcae-ds"
+     pluginDisplayOptions:
+       tab:
+           displayName: "DCAE-DS"
+           displayRoles: ["DESIGNER"]
+   - pluginId: WORKFLOW
+     pluginDiscoveryUrl: "{{ .Values.config.plugins.workflow_discovery_url }}"
+     pluginSourceUrl: "{{ .Values.config.plugins.workflow_source_url }}"
+     pluginStateUrl: "workflowDesigner"
+     pluginDisplayOptions:
+        tab:
+            displayName: "WORKFLOW"
+            displayRoles: ["DESIGNER", "TESTER"]
+
+connectionTimeout: 1000
\ No newline at end of file
index 03eb04e..fedbda8 100644 (file)
@@ -25,3 +25,16 @@ metadata:
     heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-plugins-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/plugins/*").AsConfig . | indent 2 }}
\ No newline at end of file
index 9a34263..46ba241 100644 (file)
@@ -98,6 +98,9 @@ spec:
             readOnly: true
           - name: {{ include "common.fullname" . }}-logs
             mountPath: /var/log/onap
+          - name: {{ include "common.fullname" . }}-configs
+            mountPath: /var/lib/jetty/config/catalog-fe/plugins-configuration.yaml
+            subPath: plugins-configuration.yaml
           - name: {{ include "common.fullname" . }}-logback
             mountPath: /tmp/logback.xml
             subPath: logback.xml
@@ -126,6 +129,10 @@ spec:
             name: {{ .Release.Name }}-sdc-filebeat-configmap
         - name: {{ include "common.fullname" . }}-data-filebeat
           emptyDir: {}
+        - name: {{ include "common.fullname" . }}-configs
+          configMap:
+            name : {{ include "common.fullname" . }}-plugins-configmap
+            defaultMode: 0777
         - name: {{ include "common.fullname" . }}-logback
           configMap:
             name : {{ include "common.fullname" . }}-logging-configmap
index f0909e2..e9b329c 100644 (file)
@@ -28,11 +28,18 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-frontend:1.3.5
+image: onap/sdc-frontend:1.4-STAGING-latest
 pullPolicy: Always
 
 config:
   javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=6000,server=y,suspend=n -Xmx256m -Xms256m"
+  plugins:
+    dcae_discovery_url: "http://sdc-dcae-fe:8183/dcaed/#/home"
+    dcae_source_url: "http://sdc.dcae.plugin.simpledemo.onap.org:30263/dcaed/#/home"
+    dcae_dt_discovery_url: "http://sdc-dcae-dt:8186/dcae/#/dcae/home"
+    dcae_dt_source_url: "http://sdc.dcae.plugin.simpledemo.onap.org:30265/dcae/#/dcae/home"
+    workflow_discovery_url: "http://sdc-wfd-fe:8080/workflows"
+    workflow_source_url: "http://sdc.workflow.plugin.simpledemo.onap.org:30256/workflows/"
 
 # default number of instances
 replicaCount: 1
index db4a462..3b87b1e 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Kibana
 name: sdc-kb
-version: 3.0.0
+version: 4.0.0
index 76c9162..02e1728 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-kibana:1.3.5
+image: onap/sdc-kibana:1.4-STAGING-latest
 pullPolicy: Always
 
 config:
index 59a5672..9f22430 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Onboarding API
 name: sdc-onboarding-be
-version: 3.0.0
+version: 4.0.0
index ee5f78b..87556b0 100644 (file)
@@ -55,8 +55,9 @@ spec:
           - containerPort: {{ .Values.service.internalPort2 }}
           {{ if eq .Values.liveness.enabled true }}
           livenessProbe:
-            tcpSocket:
-              port: {{ .Values.service.internalPort }}
+            exec:
+              command:
+              - "/var/lib/ready-probe.sh"
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end }}
index 63b320a..c2a52b4 100644 (file)
@@ -28,8 +28,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-onboard-backend:1.3.5
-onboardingInitImage: onap/sdc-onboard-cassandra-init:1.3.5
+image: onap/sdc-onboard-backend:1.4-STAGING-latest
+onboardingInitImage: onap/sdc-onboard-cassandra-init:1.4-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index dffba5a..feac7ac 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Workflow Designer backend
 name: sdc-wfd-be
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 50062a1..fc1538f 100644 (file)
@@ -32,6 +32,7 @@ spec:
         release: {{ .Release.Name }}
     spec:
       initContainers:
+      {{- if .Values.global.initJob.enabled }}
       - name: {{ include "common.name" . }}-job-completion
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
@@ -46,6 +47,7 @@ spec:
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
+      {{ end }}
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
index 2b14253..98de476 100644 (file)
@@ -13,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+{{ if .Values.global.initJob.enabled }}
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -66,3 +67,4 @@ spec:
             secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_password}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
+{{ end }}
\ No newline at end of file
index cb55f4a..9d1fbe6 100644 (file)
@@ -22,14 +22,16 @@ global:
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
+  initJob:
+    enabled: true
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/workflow-backend:1.3.2
-configInitImage: onap/workflow-init:1.3.2
+image: onap/workflow-backend:1.4.0-SNAPSHOT
+configInitImage: onap/workflow-init:1.4.0-SNAPSHOT
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 8498477..d5e6927 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Service Design and Creation Workflow Designer frontend
 name: sdc-wfd-fe
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
diff --git a/kubernetes/sdc/charts/sdc-wfd-fe/templates/ingress.yaml b/kubernetes/sdc/charts/sdc-wfd-fe/templates/ingress.yaml
new file mode 100644 (file)
index 0000000..d051eaf
--- /dev/null
@@ -0,0 +1,39 @@
+# 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.
+
+{{- if .Values.ingress.enabled }}
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+  name: {{ include "common.fullname" . }}-ingress
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+{{- with .Values.ingress.annotations }}
+  annotations:
+{{ toYaml . | indent 4 }}
+{{- end }}
+spec:
+  rules:
+  - http:
+      paths:
+      - path: /workflows/
+        backend:
+          serviceName: {{.Values.service.name}}
+          servicePort: {{.Values.service.internalPort}}
+{{ end }}
+
index 5d942e1..d9b4dee 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/workflow-frontend:1.3.2
+image: onap/workflow-frontend:1.4.0-SNAPSHOT
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -65,6 +65,15 @@ service:
 
 ingress:
   enabled: false
+  annotations:
+    ingress.kubernetes.io/secure-backends: "false"
+    nginx.ingress.kubernetes.io/secure-backends: "false"
+    nginx.ingress.kubernetes.io/proxy-body-size: "0"
+    nginx.ingress.kubernetes.io/ssl-redirect: "true"
+    nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
+    nginx.ingress.kubernetes.io/rewrite-target: /workflows/
+    nginx.ingress.kubernetes.io/server-snippet: |
+      underscores_in_headers on;
 
 resources: {}
   # We usually recommend not to specify default resources and to leave this as a conscious
index 849843d..6f49b16 100644 (file)
@@ -15,5 +15,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 46c58ef..bb5df2b 100755 (executable)
             ],
             "KB": "sdc-kb.{{include "common.namespace" .}}"
         },
-        "Plugins": {
-            "DCAE": {
-                "dcae_discovery_url": "http://sdc-dcae-fe.{{include "common.namespace" .}}:8183/dcaed/#/home",
-                "dcae_source_url": "http://sdc.dcae.plugin.simpledemo.onap.org:30263/dcaed/#/home"
-            },
-            "DCAE-TAB": {
-                "dcae_dt_discovery_url": "http://sdc-dcae-dt.{{include "common.namespace" .}}:8186/dcae/#/dcae/home",
-                "dcae_dt_source_url": "http://sdc.dcae.plugin.simpledemo.onap.org:30265/dcae/#/dcae/home"
-            },
-            "WORKFLOW": {
-                "workflow_discovery_url": "http://sdc-wfd-fe.{{include "common.namespace" .}}:8080",
-                "workflow_source_url": "http://sdc.workflow.plugin.simpledemo.onap.org:30256"
-            }
-        },
         "VnfRepo": {
             "vnfRepoPort": "{{.Values.config.environment.vnfRepoPort}}",
             "vnfRepoHost": "refrepo.{{include "common.namespace" .}}"
index 6d12ea7..7b04c64 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: SDN Controller
 name: sdnc
-version: 3.0.0
+version: 4.0.0
index 866a8d4..aceda60 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: SDNC DMaaP Listener
 name: dmaap-listener
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 9f23fac..71fbbc5 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index 917a6a2..f88b6ad 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdnc-dmaap-listener-image:1.4.3
+image: onap/sdnc-dmaap-listener-image:1.5-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -91,4 +91,4 @@ resources:
     requests:
       cpu: 1
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
index 013131d..de678bf 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: SDN-C Ansible Server
 name: sdnc-ansible-server
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 1f14dd3..7559622 100644 (file)
@@ -49,6 +49,7 @@ spec:
         - name: {{ include "common.name" . }}
           command: ["/bin/bash"]
           args: ["-c", "cd /opt/onap/ccsdk && ./startAnsibleServer.sh"]
+
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
index a9cb469..44a3f96 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdnc-ansible-server-image:1.4.3
+image: onap/sdnc-ansible-server-image:1.5-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 1484ec5..9efac5c 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: SDN-C Admin Portal
 name: sdnc-portal
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 7dc57fd..df407e6 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/admportal-sdnc-image:1.4.3
+image: onap/admportal-sdnc-image:1.5-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index ee5c7f9..da6342c 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: SDNC UEB Listener
 name: ueb-listener
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 9f23fac..71fbbc5 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index c44ba95..c1892ef 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdnc-ueb-listener-image:1.4.3
+image: onap/sdnc-ueb-listener-image:1.5-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 8c16310..56e2067 100644 (file)
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
-  - name: controller-blueprints
-    version: ~3.0.0
+  - name: cds
+    version: ~4.x-0
     repository: '@local'
+    condition: cds.enabled
   - name: mysql
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: network-name-gen
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: dgbuilder
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: sdnc-prom
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
     condition: config.geoEnabled
index d4e5daa..4344db0 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP SDNC Policy Driven Ownership Management
 name: sdnc-prom
-version: 3.0.0
+version: 4.0.0
index cf40869..509eadd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index f10d67a..5a6566a 100644 (file)
@@ -82,3 +82,35 @@ spec:
     path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}2
 {{ end }}
 {{- end -}}
+{{ if .Values.certpersistence.enabled }}
+---
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" . }}-pv-certs
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-pv-certs
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+    name: {{ include "common.fullname" . }}-certs
+spec:
+  capacity:
+    storage: {{ .Values.certpersistence.size }}
+  accessModes:
+    - {{ .Values.certpersistence.accessMode }}
+{{- if .Values.certpersistence.storageClass }}
+{{- if (eq "-" .Values.certpersistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.certpersistence.storageClass }}"
+{{- end }}
+{{- end }}
+  persistentVolumeReclaimPolicy: {{ .Values.certpersistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ .Values.global.persistence.mountPath | default .Values.certpersistence.mountPath }}/{{ .Values.certpersistence.mountSubPath }}
+{{ end }}
+
+
+
diff --git a/kubernetes/sdnc/templates/pvc.yaml b/kubernetes/sdnc/templates/pvc.yaml
new file mode 100644 (file)
index 0000000..aa9515b
--- /dev/null
@@ -0,0 +1,32 @@
+{{- if and .Values.certpersistence.enabled (not .Values.certpersistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ include "common.fullname" .}}-pvc-certs
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-pvc-certs
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.certpersistence.annotations }}
+  annotations:
+{{ toYaml .Values.certpersistence.annotations | indent 4 }}
+{{- end }}
+spec:
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}-pv-certs
+  accessModes:
+    - {{ .Values.certpersistence.accessMode }}
+  resources:
+    requests:
+      storage: {{ .Values.certpersistence.size }}
+{{- if .Values.certpersistence.storageClass }}
+{{- if (eq "-" .Values.certpersistence.storageClass) }}
+  storageClassName: ""
+{{- else }}
+  storageClassName: "{{ .Values.certpersistence.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
\ No newline at end of file
index b30ef38..24ca832 100644 (file)
@@ -95,6 +95,8 @@ spec:
               value: "{{ .Values.replicaCount }}"
             - name: MYSQL_HOST
               value: "{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
+            - name: JAVA_HOME
+              value: "{{ .Values.config.javaHome}}"
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
@@ -133,6 +135,8 @@ spec:
             name: {{ include "common.fullname" . }}-mdsal
           - mountPath: /var/log/onap
             name: logs
+          - mountPath: {{ .Values.certpersistence.certPath }}
+            name: {{ include "common.fullname" . }}-certs
           resources:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -180,6 +184,13 @@ spec:
           configMap:
             name: {{ include "common.fullname" . }}-properties
             defaultMode: 0644
+        - name: {{ include "common.fullname" . }}-certs
+  {{ if .Values.certpersistence.enabled }}
+          persistentVolumeClaim:
+            claimName: {{ include "common.fullname" . }}-pvc-certs
+  {{ else }}
+          emptyDir: {}
+  {{ end }}
   {{ if not .Values.persistence.enabled }}
         - name: {{ include "common.fullname" . }}-mdsal
           emptyDir: {}
@@ -198,4 +209,4 @@ spec:
       selector:
         matchLabels:
           name: {{ include "common.fullname" . }}
-  {{ end }}
+  {{ end }}
\ No newline at end of file
index a82f053..95bc31a 100644 (file)
@@ -32,7 +32,7 @@ global:
 # application images
 repository: nexus3.onap.org:10001
 pullPolicy: Always
-image: onap/sdnc-image:1.4.3
+image: onap/sdnc-image:1.5-STAGING-latest
 
 # flag to enable debugging - application support required
 debugEnabled: false
@@ -57,8 +57,12 @@ config:
   logstashPort: 5044
   ansibleServiceName: sdnc-ansible-server
   ansiblePort: 8000
+  javaHome: /usr/lib/jvm/java-1.8-openjdk
 
 # dependency / sub-chart configuration
+cds:
+  enabled: true
+
 dmaap-listener:
   nameOverride: sdnc-dmaap-listener
   config:
@@ -194,6 +198,22 @@ persistence:
   mountSubPath: sdnc/mdsal
   mdsalPath: /opt/opendaylight/current/daexim
 
+certpersistence:
+  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
+  accessMode: ReadWriteOnce
+  size: 50Mi
+  mountPath: /dockerdata-nfs
+  mountSubPath: sdnc/certs
+  certPath: /opt/opendaylight/current/certs
+  ##storageClass: "manual"
+
 ingress:
   enabled: false
 
index 6cbeb31..1f88ff5 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Mock Sniro Emulator
 name: sniro-emulator
-version: 3.0.0
+version: 4.0.0
index f3e793c..9996777 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index b8c92cb..2c96502 100755 (executable)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: ONAP Service Orchestrator
 name: so
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 1de4161..cbf3b83 100755 (executable)
@@ -15,4 +15,4 @@ apiVersion: v1
 appVersion: "1.0"
 description: A Helm chart for Kubernetes
 name: so-bpmn-infra
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index a9eac31..807bfab 100755 (executable)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 aai:
-  auth: 65885E7C4E860E420808030D8BC653073E6782CB5026EC8F49E3E5C6F3E27F6A
+  auth: 221187EFA3AD4E33600DE0488F287099934CE65C3D0697BCECC00BB58E784E07CD74A24581DC31DBC086FF63DF116378776E9BE3D1325885
   dme2:
     timeout: '30000'
   endpoint: https://aai.{{ include "common.namespace" . }}:8443
   workflowAaiDistributionDelay: PT30S
   pnfEntryNotificationTimeout: P14D
+cds:
+  endpoint: blueprints-processor
+  port: 9111
+  auth: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
 camunda:
   bpm:
     admin-user:
@@ -58,7 +62,7 @@ mso:
       endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
       auth: Basic YnBlbDpwYXNzd29yZDEk
     db:
-      auth: 33293332AEC4930F655D8E2E8BB08937
+      auth: A3745B5DBE165EFCF101D85A6FC81C211AB8BF604F8861B6C413D5DC90F8F30E0139DE44B8A342F4EF70AF
       password: wLg4sjrAFUS8rfVfdvTXeQ==
       endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/services/RequestsDbAdapter
       spring:
@@ -71,8 +75,7 @@ mso:
       db:
         endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/services/RequestsDbAdapter
     po:
-      auth: 33293332AEC4930F655D8E2E8BB08937
-      password: B8EBDE0311F0AF355CF3F2FD505A8CAD
+      auth: A3745B5DBE165EFCF101D85A6FC81C211AB8BF604F8861B6C413D5DC90F8F30E0139DE44B8A342F4EF70AF
     sdnc:
       endpoint: http://so-sdnc-adapter.{{ include "common.namespace" . }}:8086/adapters/SDNCAdapter
       rest:
@@ -122,7 +125,7 @@ mso:
       endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/
   rollback: 'true'
   sdnc:
-    password: 3141634BF7E070AA289CF2892C986C0B
+    password: 1D78CFC35382B6938A989066A7A7EAEF4FE933D2919BABA99EB4763737F39876C333EE5F
   service:
     agnostic:
       sniro:
@@ -252,6 +255,9 @@ mso:
         callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/vnfAdapterNotify
       rollback:
         callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/vnfAdapterNotify
+  use:
+    qualified:
+      host: false
   global:
     dmaap:
       username: testuser
@@ -259,8 +265,13 @@ mso:
       host: http://10.42.111.36:904
       publisher:
         topic: replaceme
+  naming:
+    endpoint: http://naming.demo.onap.com:8081/web/service/v1/genNetworkElementName
+    auth: Basic bTA0NzY4QG5vbi1wcm9kLm1zby5lY29tcC5hdHQuY29tOkF0dG0wNDc2OExpZmUhQA==
 policy:
   auth: Basic dGVzdHBkcDphbHBoYTEyMw==
+  default:
+    disposition: Skip
   client:
     auth: Basic bTAzNzQzOnBvbGljeVIwY2sk
   endpoint: http://pdp.{{ include "common.namespace" . }}:8081/pdp/api/
@@ -308,16 +319,6 @@ server:
   tomcat:
     max-threads: 50
 spring:
-  datasource:
-     driver-class-name: org.mariadb.jdbc.Driver
-     url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/camundabpmn
-     username: ${DB_USERNAME}
-     password: ${DB_PASSWORD}
-     dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
   security:
     usercredentials:
     -
index 8fd7b92..14d42be 100755 (executable)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: A Helm chart for so-catalog-db-adapter
 name: so-catalog-db-adapter
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 320af61..c59949c 100755 (executable)
@@ -39,3 +39,49 @@ spring:
 #Actuator
 management:
   context-path: /manage
+cloud_config:
+  identity_services:
+    RAX_KEYSTONE:
+      identity_url: "https://identity.api.rackspacecloud.com/v2.0"
+      mso_id: "RACKSPACE_ACCOUNT_ID"
+      mso_pass: "RACKSPACE_ACCOUNT_APIKEY"
+      admin_tenant: "{{ .Values.config.openStackServiceTenantName }}"
+      member_role: "admin"
+      tenant_metadata: true
+      identity_server_type: "KEYSTONE"
+      identity_authentication_type: "RACKSPACE_APIKEY"
+    DEFAULT_KEYSTONE:
+      identity_url: "{{ .Values.config.openStackKeyStoneUrl }}"
+      mso_id: "{{ .Values.config.openStackUserName }}"
+      mso_pass: "{{ .Values.config.openStackEncryptedPasswordHere }}"
+      admin_tenant: "{{ .Values.config.openStackServiceTenantName }}"
+      member_role: "admin"
+      tenant_metadata: true
+      identity_server_type: "KEYSTONE"
+      identity_authentication_type: "USERNAME_PASSWORD"
+  cloud_sites:
+    Dallas:
+      region_id: "DFW"
+      clli: "DFW"
+      aic_version: "2.5"
+      identity_service_id: "RAX_KEYSTONE"
+    Northern Virginia:
+      region_id: "IAD"
+      clli: "IAD"
+      aic_version: "2.5"
+      identity_service_id: "RAX_KEYSTONE"
+    Chicago:
+      region_id: "ORD"
+      clli: "ORD"
+      aic_version: "2.5"
+      identity_service_id: "RAX_KEYSTONE"
+    RegionOne:
+      region_id: "RegionOne"
+      clli: "RegionOne"
+      aic_version: "2.5"
+      identity_service_id: "DEFAULT_KEYSTONE"
+    DEFAULT:
+      region_id: "{{ .Values.config.openStackRegion }}"
+      clli: "{{ .Values.config.openStackRegion }}"
+      aic_version: "2.5"
+      identity_service_id: "DEFAULT_KEYSTONE"
index a7bf301..beeaf72 100755 (executable)
@@ -76,6 +76,13 @@ mariadb:
   nameOverride: so-mariadb
 ingress:
   enabled: false
+config:
+  openStackUserName: "vnf_user"
+  openStackRegion: "RegionOne"
+  openStackKeyStoneUrl: "http://1.2.3.4:5000/v2.0"
+  openStackServiceTenantName: "service"
+  openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
+  openStackTenantId: "d570c718cbc545029f40e50b75eb13df"
 nodeSelector: {}
 tolerations: []
 affinity: {}
index 449976b..9dccc64 100755 (executable)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: A Helm chart for DB secrets
 name: so-db-secrets
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 800b660..5e14c56 100755 (executable)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: MariaDB Service
 name: so-mariadb
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index b1544aa..fa16a7b 100755 (executable)
@@ -40,7 +40,7 @@ ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 config:
   mariadbRootPassword: password
   # gerrit branch where the latest heat code is checked in
-  gerritBranch: 3.0.0-ONAP
+  gerritBranch: master
   # gerrit project where the latest heat code is checked in
   gerritProject: http://gerrit.onap.org/r/so/docker-config.git
 # default number of instances
index f46d9f7..0ace01d 100644 (file)
@@ -19,4 +19,4 @@
 apiVersion: v1
 description: A Helm chart for ONAP Service Orchestration Monitoring
 name: so-monitoring
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index b34c514..9e9d180 100755 (executable)
@@ -15,4 +15,4 @@ apiVersion: v1
 appVersion: "1.0"
 description: A Helm chart for Kubernetes
 name: so-openstack-adapter
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 98b0976..592c390 100755 (executable)
 server:
   port: {{ index .Values.containerPort }}
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-    username: ${DB_ADMIN_USERNAME}
-    password: ${DB_ADMIN_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
   security:
     usercredentials:
     -
@@ -57,7 +47,7 @@ org:
         default_keystone_url_version: /v2.0
         default_keystone_reg_ex: "/[vV][0-9]"
         vnf:
-          bpelauth: A7FC9B308B7AF7A269072BA729A345625E0381E3071DE7EE50603677CB69C515
+          bpelauth: D1A67FA93B6A6419132D0F83CC771AF774FD3C60853C50C22C8C6FC5088CC79E9E81EDE9EA39F22B2F66A0068E
           checkRequiredParameters: true
           addGetFilesOnVolumeReq: false
           sockettimeout: 30
@@ -68,12 +58,13 @@ org:
           valet_enabled: false
           fail_requests_on_valet_failure: false
         network:
-          bpelauth: A7FC9B308B7AF7A269072BA729A345625E0381E3071DE7EE50603677CB69C515
+          bpelauth: D1A67FA93B6A6419132D0F83CC771AF774FD3C60853C50C22C8C6FC5088CC79E9E81EDE9EA39F22B2F66A0068E
           sockettimeout: 5
           connecttimeout: 5
           retrycount: 5
           retryinterval: -15
           retrylist: 408,429,500,502,503,504,900
+          encryptionKey: 07a7159d3bf51a0e53be7a8f89699be7
         tenant:
           default_keystone_url_version: /v2.0
           default_keystone_reg_ex: "/[vV][0-9]"
@@ -94,7 +85,14 @@ ecomp:
         pollTimeout: 7500
         pollInterval: 15
 mso:
+  auth: D1A67FA93B6A6419132D0F83CC771AF774FD3C60853C50C22C8C6FC5088CC79E9E81EDE9EA39F22B2F66A0068E
   logPath: ./logs/openstack
+  workflow:
+    endpoint: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/sobpmnengine
+  msoKey: 07a7159d3bf51a0e53be7a8f89699be7
+  config:
+    cadi:
+      aafId: poBpmn
   catalog:
     db:
       spring:
@@ -106,49 +104,3 @@ mso:
     core-pool-size: 50
     max-pool-size: 50
     queue-capacity: 500
-cloud_config:
-  identity_services:
-    RAX_KEYSTONE:
-      identity_url: "https://identity.api.rackspacecloud.com/v2.0"
-      mso_id: "RACKSPACE_ACCOUNT_ID"
-      mso_pass: "RACKSPACE_ACCOUNT_APIKEY"
-      admin_tenant: "{{ .Values.config.openStackServiceTenantName }}"
-      member_role: "admin"
-      tenant_metadata: true
-      identity_server_type: "KEYSTONE"
-      identity_authentication_type: "RACKSPACE_APIKEY"
-    DEFAULT_KEYSTONE:
-      identity_url: "{{ .Values.config.openStackKeyStoneUrl }}"
-      mso_id: "{{ .Values.config.openStackUserName }}"
-      mso_pass: "{{ .Values.config.openStackEncryptedPasswordHere }}"
-      admin_tenant: "{{ .Values.config.openStackServiceTenantName }}"
-      member_role: "admin"
-      tenant_metadata: true
-      identity_server_type: "KEYSTONE"
-      identity_authentication_type: "USERNAME_PASSWORD"
-  cloud_sites:
-    Dallas:
-      region_id: "DFW"
-      clli: "DFW"
-      aic_version: "2.5"
-      identity_service_id: "RAX_KEYSTONE"
-    Northern Virginia:
-      region_id: "IAD"
-      clli: "IAD"
-      aic_version: "2.5"
-      identity_service_id: "RAX_KEYSTONE"
-    Chicago:
-      region_id: "ORD"
-      clli: "ORD"
-      aic_version: "2.5"
-      identity_service_id: "RAX_KEYSTONE"
-    RegionOne:
-      region_id: "RegionOne"
-      clli: "RegionOne"
-      aic_version: "2.5"
-      identity_service_id: "DEFAULT_KEYSTONE"
-    DEFAULT:
-      region_id: "{{ .Values.config.openStackRegion }}"
-      clli: "{{ .Values.config.openStackRegion }}"
-      aic_version: "2.5"
-      identity_service_id: "DEFAULT_KEYSTONE"
index b03f1ff..0d547b1 100755 (executable)
@@ -14,4 +14,4 @@
 apiVersion: v1
 description: A Helm chart for request-db-adapter
 name: so-request-db-adapter
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 2755f94..7a326d3 100755 (executable)
@@ -25,26 +25,6 @@ mso:
       auth: Basic YnBlbDpwYXNzd29yZDEk
       endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    initialize: false
-    initialization-mode: never
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
-  jpa:
-    generate-ddl: false
-    show-sql: false
-    hibernate:
-      ddl-auto: validate
-      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
-      enable-lazy-load-no-trans: true
-    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
   security:
     usercredentials:
     -
@@ -58,8 +38,3 @@ spring:
 #Actuator
 management:
   context-path: /manage
-flyway:
-  baseline-on-migrate: true
-  url:  jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
-  user: ${DB_ADMIN_USERNAME}
-  password: ${DB_ADMIN_PASSWORD}
index 2d7e66f..5d4b5cc 100755 (executable)
@@ -15,4 +15,4 @@ apiVersion: v1
 appVersion: "1.0"
 description: A Helm chart for Kubernetes
 name: so-sdc-controller
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 370887e..bee68e6 100755 (executable)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 aai:
-  auth: 65885E7C4E860E420808030D8BC653073E6782CB5026EC8F49E3E5C6F3E27F6A
+  auth: 2A11B07DB6214A839394AA1EC5844695F5114FC407FF5422625FB00175A3DCB8A1FF745F22867EFA72D5369D599BBD88DA8BED4233CF5586
 server:
   port: {{ index .Values.containerPort }}
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
   security:
     usercredentials:
     -
@@ -38,15 +28,10 @@ spring:
       role: ACTUATOR
 request:
   datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
+    jdbc-url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
     username: ${DB_USERNAME}
     password: ${DB_PASSWORD}
     driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
 mso:
   msoKey: 07a7159d3bf51a0e53be7a8f89699be7
   logPath: ./logs/sdc
@@ -71,10 +56,11 @@ mso:
       consumerId: SO-COpenSource-Env11
       environmentName: AUTO
       asdcAddress: sdc-be.{{ include "common.namespace" . }}:8443
-      password: 613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247
+      password: 76966BDD3C7414A03F7037264FF2E6C8EEC6C28F2B67F2840A1ED857C0260FEE731D73F47F828E5527125D29FD25D3E0DE39EE44C058906BF1657DE77BF897EECA93BDC07FA64F
       pollingInterval: 60
       pollingTimeout: 60
       relevantArtifactTypes: HEAT,HEAT_ENV,HEAT_VOL
+      useHttpsWithDmaap: false
       activateServerTLSAuth: false
       keyStorePassword:
       keyStorePath:
index 4720a10..747e2ad 100755 (executable)
@@ -15,4 +15,4 @@ apiVersion: v1
 appVersion: "1.0"
 description: A Helm chart for Kubernetes
 name: so-sdnc-adapter
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 74905d2..c313dd5 100755 (executable)
@@ -83,6 +83,9 @@ org:
                             activate: POST|285000|sdncurl8|sdnc-request-header|com:att:sdnctl:nbncapi
                             assign: POST|285000|sdncurl8|sdnc-request-header|com:att:sdnctl:nbncapi
                             delete: POST|285000|sdncurl8|sdnc-request-header|com:att:sdnctl:nbncapi
+                        vnf-topology-aic-operation:
+                            activate: POST|270000|sdncurl11|sdnc-request-header|com:att:sdnctl:vnftopologyaic
+                            assign: POST|270000|sdncurl11|sdnc-request-header|com:att:sdnctl:vnftopologyaic
                         tunnelxconn-topology-operation:
                             activate: POST|270000|sdncurl10|sdnc-request-header|org:onap:sdnc:northbound:generic-resource
                             assign: POST|270000|sdncurl10|sdnc-request-header|org:onap:sdnc:northbound:generic-resource
@@ -97,7 +100,7 @@ org:
                             changedelete: POST|270000|sdncurl6|sdnc-request-header|org:onap:sdnctl:vnf
                             delete: POST|270000|sdncurl6|sdnc-request-header|org:onap:sdnctl:vnf
                             rollback: POST|270000|sdncurl6|sdnc-request-header|org:onap:sdnctl:vnf
-                    bpelauth: 023A0244AB819A0DE0131DBC3AC5FAB4D8544E1CB1A7FE3CE60F6E3292AC0D93
+                    bpelauth: 4C18603C5AE7E3A42A6CED95CDF9C0BA9B2109B3725747662E5D34E5FDF63DA9ADEBB08185098F14699195FDE9475100
                     bpelurl: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/SDNCAdapterCallbackService
                     generic-resource:
                         network-topology-operation:
@@ -136,13 +139,14 @@ org:
                     myurl: http://so-sdnc-adapter{{ include "common.namespace" . }}:8086/adapters/rest/SDNCNotify
                     rest:
                         bpelurl: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/WorkflowMessage
-                    sdncauth: 263f7d5f944d4d0c76db74b4148bec67d0bc796a874bc0d2a2a12aae89a866aa69133f700f391f784719a37f6a68d29bf5a2fbae1dab0402db7788c800c5ba73
+                    sdncauth: ED07A7EE5F099FA53369C3DF2240AD68A00154676EEDBC6F8C16BAA83B1912941B8941ABD48683D2C1072DA7040659692DE936A59BBF42A038CF71DE67B4A375190071EC76EA657801B033C135
                     sdncconnecttime: 5000
                     sdncurl10: 'http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/GENERIC-RESOURCE-API:'
                     sdncurl11: 'http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/VNFTOPOLOGYAIC-API:'
                     sdncurl12: 'http://sdnc.{{ include "common.namespace" . }}:8282/'
                     sdncurl5: 'http://sdnc.{{ include "common.namespace" . }}:8282/restconf/config'
                     sdncurl6: 'http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/VNF-API:'
+                    sdncurl7: 'http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/L3UCPE-API:'
                     sdncurl8: 'http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/NBNC-API:'
                     sdncurl9: 'http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/NORTHBOUND-API:service-topology-operation'
                     service:
@@ -154,6 +158,8 @@ org:
                     vfmodule:
                         '':
                             query: GET|60000|sdncurl12|
+                network:
+                    encryptionKey: 07a7159d3bf51a0e53be7a8f89699be7
 spring:
   security:
     usercredentials:
index 7c754b4..a218b11 100755 (executable)
@@ -15,4 +15,4 @@ apiVersion: v1
 appVersion: "1.0"
 description: A Helm chart for Kubernetes
 name: so-vfc-adapter
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index b06a975..72a2f61 100755 (executable)
@@ -19,11 +19,6 @@ spring:
      url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
      username: ${DB_USERNAME}
      password: ${DB_PASSWORD}
-     dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
   security:
     usercredentials:
     - username: bpel
index c289225..12e77c3 100755 (executable)
@@ -13,7 +13,7 @@
 # limitations under the License.
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 6adc212..e4542a2 100755 (executable)
@@ -30,14 +30,14 @@ mso:
           default:
             testApi: GR_API
   camundaURL: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/
-  camundaAuth: 1D9003AB8BAFFA0D2104B67FA89040AD70B5B495B2A5DF931DE236484EBC1681
+  camundaAuth: AE2E9BE6EF9249085AF98689C4EE087736A5500629A72F35068FFB88813A023581DD6E765071F1C04075B36EA4213A
   async:
     core-pool-size: 50
     max-pool-size: 50
     queue-capacity: 500
   sdc:
     client:
-      auth: F3473596C526938329DF877495B494DC374D1C4198ED3AD305EA3ADCBBDA1862
+      auth: 878785F4F31BC9CFA5AB52A172008212D8845ED2DE08AD5E56AF114720A4E49768B8F95CDA2EB971765D28EDCDAA24
     activate:
       instanceid: test
       userid: cs0008
@@ -48,7 +48,7 @@ mso:
         count: 3
   aai:
     endpoint: https://aai.{{ include "common.namespace" . }}:8443
-    auth: 2630606608347B7124C244AB0FE34F6F
+    auth: 6E081E10B1CA43A843E303733A74D9B23B601A6E22A21C7EF2C7F15A42F81A1A4E85E65268C2661F71321052C7F3E55B96A8E1E951F8BF6F
   so:
     operational-environment:
       dmaap:
@@ -58,23 +58,6 @@ mso:
       publisher:
         topic: com.att.ecomp.mso.operationalEnvironmentEvent
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
-  jpa:
-      show-sql: true
-      hibernate:
-        dialect: org.hibernate.dialect.MySQL5Dialect
-        ddl-auto: validate
-        naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
-        enable-lazy-load-no-trans: true
   jersey:
     type: filter
   security:
@@ -105,12 +88,14 @@ spring:
       role: ACTUATOR
 request:
   datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
+    jdbc-url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
     username: ${DB_USERNAME}
     password: ${DB_PASSWORD}
     driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
+org:
+  onap:
+    so:
+      cloud-owner: onap
+      adapters:
+        network:
+          encryptionKey: 07a7159d3bf51a0e53be7a8f89699be7
index 6a1f879..0327cd8 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP uui
 name: uui
-version: 3.0.0
+version: 4.0.0
index bede388..b665476 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP uui server
 name: uui-server
-version: 3.0.0
+version: 4.0.0
index db85323..3ee610f 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index 5f4dab5..03c5b95 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Virtual Function Controller (VF-C)
 name: vfc
-version: 3.0.0
+version: 4.0.0
index 9817a9b..f04a7fa 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Catalog
 name: vfc-catalog
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index e33d749..fe2b1aa 100644 (file)
@@ -73,6 +73,8 @@ spec:
             - name: MYSQL_ADDR
               value: "{{ .Values.global.config.dbServiceName }}:{{ .Values.global.config.dbPort }}"
           volumeMounts:
+          - name: {{ include "common.fullname" . }}-catalog
+            mountPath: /service/vfc/nfvo/catalog/static
           - name: {{ include "common.fullname" . }}-localtime
             mountPath: /etc/localtime
             readOnly: true
@@ -106,6 +108,13 @@ spec:
             mountPath: /usr/share/filebeat/data
 
       volumes:
+        - name: {{ include "common.fullname" . }}-catalog
+        {{- if .Values.persistence.enabled }}
+          persistentVolumeClaim:
+            claimName: {{ include "common.fullname" . }}
+        {{- else }}
+          emptyDir: {}
+        {{- end }}
         - name: {{ include "common.fullname" . }}-localtime
           hostPath:
             path: /etc/localtime
@@ -13,7 +13,6 @@
 # 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
@@ -28,10 +27,10 @@ metadata:
     name: {{ include "common.fullname" . }}
 spec:
   capacity:
-    storage: {{ .Values.persistence.size }}
+    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 -}}
+{{- end -}}
\ No newline at end of file
@@ -13,7 +13,6 @@
 # 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
@@ -45,4 +44,4 @@ spec:
   storageClassName: "{{ .Values.persistence.storageClass }}"
 {{- end }}
 {{- end }}
-{{- end -}}
+{{- end -}}
\ No newline at end of file
index b4a8cb5..fc6cf4e 100644 (file)
@@ -60,6 +60,27 @@ readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  ##
+  # storageClass: "-"
+  accessMode: ReadWriteMany
+  size: 2Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: vfc/catalog
+
 service:
   type: ClusterIP
   name: vfc-catalog
index 4a9bb99..64e6c29 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - DB
 name: vfc-db
-version: 3.0.0
+version: 4.0.0
index 328b95d..214d3bb 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - EMS Driver
 name: vfc-ems-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index b86f58f..96d008c 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Generic VNFM Driver
 name: vfc-generic-vnfm-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index cf3fc6f..61aaf32 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Huawei VNFM Driver
 name: vfc-huawei-vnfm-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 2a9161e..d3234ee 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Juju VNFM Driver
 name: vfc-juju-vnfm-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index a18d9bc..94de876 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - MultiVIM Proxy
 name: vfc-multivim-proxy
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 0d45db6..25414c4 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Nokia V2VNFM Driver
 name: vfc-nokia-v2vnfm-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index c39f54e..7748cc0 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Nokia VNFM Driver
 name: vfc-nokia-vnfm-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 519db8e..d417e87 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - NS Life Cycle Management
 name: vfc-nslcm
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 0730ff7..c883cac 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Resource Manager
 name: vfc-resmgr
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index f03b164..67c2164 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - VNF Life Cycle Management
 name: vfc-vnflcm
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 1fe5dc8..362715f 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - VNF Manager
 name: vfc-vnfmgr
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index cefadca..1251506 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - VNF Resource Manager
 name: vfc-vnfres
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 15f8868..591a995 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Workflow Engine
 name: vfc-workflow-engine
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 767d799..ccf00f8 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - Workflow
 name: vfc-workflow
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index cf12fce..36eb8dc 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - ZTE SDNC Driver
 name: vfc-zte-sdnc-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 627a6d3..4ac2046 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VFC - ZTE VNFM Driver
 name: vfc-zte-vnfm-driver
-version: 3.0.0
\ No newline at end of file
+version: 4.0.0
\ No newline at end of file
index 896eaf4..1d30dfd 100644 (file)
@@ -14,5 +14,5 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index c19a844..00eae1e 100644 (file)
@@ -18,6 +18,8 @@ global:
     msbPort: 80
     dbServiceName: vfc-db
     dbPort: 3306
+  persistence:
+    mountPath: /dockerdata-nfs
 
 # application configuration
 config:
index 9502b0c..deb0fc6 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP Virtual Infrastructure Deployment
 name: vid
-version: 3.0.0
+version: 4.0.0
index 757d7c5..dd00351 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 description: ONAP VID MariaDB Galera cluster
 name: vid_mariadb_galera
-version: 3.0.0
+version: 4.0.0
 keywords:
   - mariadb
   - mysql
index aff9f5b..ba6adc0 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-confd
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/mariadb/conf.d/*").AsConfig . | indent 2 }}
 ---
@@ -26,6 +31,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-externalconfig
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
   my_extra.cnf: |-
    [mysqld]
index f3e793c..9996777 100644 (file)
@@ -14,7 +14,7 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     # local reference to common chart, as it is
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
index cae46b4..2217858 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-log-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/vid/*").AsConfig . | indent 2 }}
 ---
@@ -25,6 +30,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-filebeat-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
 ---
index 7d17e36..5214e71 100644 (file)
@@ -48,7 +48,7 @@ spec:
       containers:
       - name: {{ include "common.name" . }}-job
         image: {{ .Values.mariadb_image }}
-        imagePullPolicy: "{{ .Values.pullPolicy }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
         - mountPath: /dbcmd-config/db_cmd.sh
           name: {{ include "common.fullname" . }}-config
index 3c8645f..63bbef2 100644 (file)
@@ -27,7 +27,7 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vid:3.2.2
+image: onap/vid:4.0-STAGING-latest
 pullPolicy: Always
 
 # mariadb image for initializing
index f0fb733..f8c4933 100644 (file)
@@ -15,4 +15,4 @@
 apiVersion: v1
 description: ONAP VNF SDK
 name: vnfsdk
-version: 3.0.0
+version: 4.0.0
index a01c7c0..fc43cb2 100644 (file)
@@ -14,8 +14,8 @@
 
 dependencies:
   - name: common
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
   - name: postgres
-    version: ~3.0.0
+    version: ~4.x-0
     repository: '@local'
index b53b920..8253a9b 100644 (file)
@@ -46,11 +46,11 @@ spec:
               apiVersion: v1
               fieldPath: metadata.namespace
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy}}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}
         resources:
 {{ include "common.resources" . | indent 12 }}
index 08d3107..5caf527 100644 (file)
@@ -44,7 +44,7 @@ spec:
               apiVersion: v1
               fieldPath: metadata.namespace
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy}}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy}}
         name: {{ include "common.name" . }}-readiness
       containers:
       - name: {{ include "common.name" . }}-job
diff --git a/kubernetes/vvp/charts/vvp-ci-uwsgi/Chart.yaml b/kubernetes/vvp/charts/vvp-ci-uwsgi/Chart.yaml
deleted file mode 100644 (file)
index 5304ccb..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: end-to-end flow tests based on Seleniunm
-name: vvp-ci-uwsgi
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-ci-uwsgi/resources/config/ci/__init__.py b/kubernetes/vvp/charts/vvp-ci-uwsgi/resources/config/ci/__init__.py
deleted file mode 100644 (file)
index 8b70506..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-# 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.
-
-import os
-from datetime import datetime
-
-# With this file at web/settings/__init__.py, we need three applications of
-# dirname() to find the project root.
-PROJECT_PATH = os.path.realpath(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
-LOGS_PATH    = os.path.join(PROJECT_PATH, "logs")
-
-ICE_ENVIRONMENT = os.environ['ICE_ENVIRONMENT']
-PROGRAM_NAME_URL_PREFIX = os.environ['PROGRAM_NAME_URL_PREFIX']
-SERVICE_PROVIDER = os.environ['SERVICE_PROVIDER']
-PROGRAM_NAME = os.environ['PROGRAM_NAME']
-SERVICE_PROVIDER_DOMAIN = os.environ['SERVICE_PROVIDER_DOMAIN']
-
-# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/
-SECRET_KEY = os.environ["SECRET_KEY"]
-
-# https://docs.djangoproject.com/en/1.10/ref/settings/#allowed-hosts
-# Anything in the Host header that does not match our expected domain should
-# raise SuspiciousOperation exception.
-ALLOWED_HOSTS = ['*']
-
-if ICE_ENVIRONMENT == 'production':
-    DEBUG = False
-
-    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
-    EMAIL_HOST = os.environ.get('ICE_EMAIL_HOST')
-    EMAIL_HOST_PASSWORD = os.environ['EMAIL_HOST_PASSWORD']
-    EMAIL_HOST_USER = os.environ['EMAIL_HOST_USER']
-    EMAIL_PORT = os.environ['EMAIL_PORT']
-else:
-    DEBUG = True
-    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
-
-
-# Note: Only SSL email backends are allowed
-EMAIL_USE_SSL = True
-
-REST_FRAMEWORK = {
-    'DEFAULT_AUTHENTICATION_CLASSES': (
-        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
-    ),
-    'PAGE_SIZE': 10,
-    # Use Django's standard `django.contrib.auth` permissions,
-    # or allow read-only access for unauthenticated users.
-    'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',),
-}
-APPEND_SLASH = False
-
-# Application definition
-
-INSTALLED_APPS = [
-
-    'django.contrib.auth',
-    'django.contrib.contenttypes',  # required by d.c.admin
-    'django.contrib.sessions',      # required by d.c.admin
-    'django.contrib.messages',      # required by d.c.admin
-    'django.contrib.staticfiles',
-    'django.contrib.admin',         # django admin site
-    'rest_framework',
-    'iceci.apps.IceCiConfig',
-]
-
-MIDDLEWARE_CLASSES = [
-    'django.middleware.security.SecurityMiddleware',
-    'django.contrib.sessions.middleware.SessionMiddleware',
-    'django.middleware.common.CommonMiddleware',
-    'django.middleware.csrf.CsrfViewMiddleware',
-    'django.contrib.auth.middleware.AuthenticationMiddleware',
-    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
-    'django.contrib.messages.middleware.MessageMiddleware',
-    'django.middleware.clickjacking.XFrameOptionsMiddleware',
-]
-
-ROOT_URLCONF = 'web.urls'
-
-TEMPLATES = [
-    {
-        'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [PROJECT_PATH + '/web/templates'],
-        'APP_DIRS': True,
-        'OPTIONS': {
-            'context_processors': [
-                'django.template.context_processors.debug',
-                'django.template.context_processors.request',
-                'django.contrib.auth.context_processors.auth',          # required by d.c.admin
-                'django.contrib.messages.context_processors.messages',  # required by d.c.admin
-            ],
-        },
-    },
-]
-
-WSGI_APPLICATION = 'web.wsgi.application'
-
-# Database
-# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
-
-DATABASES = {
-    'default': { # CI DB details.
-        'NAME': '/app/ice_ci_db.db' ,
-        'ENGINE': 'django.db.backends.sqlite3',
-        'TEST_NAME': '/app/ice_ci_db.db',
-    },
-}
-SINGLETONE_DB = {
-    'default': { # CI DB details.
-        'ENGINE': 'django.db.backends.postgresql',
-        'NAME': os.environ.get('CI_DB_NAME', 'ice_ci_db'),
-        'USER': os.environ.get('CI_DB_USER', 'iceci'),
-        'PASSWORD': os.environ.get('CI_DB_PASSWORD', 'Aa123456'),
-        'HOST': os.environ.get('CI_DB_HOST', 'localhost'),
-        'PORT': os.environ.get('CI_DB_PORT', '5433'),
-    },
-    'em_db': { # ICE DB details.
-        'ENGINE': 'django.db.backends.postgresql',
-        'NAME': os.environ.get('EM_DB_NAME', 'icedb'),
-        'USER': os.environ.get('EM_DB_USER', 'iceuser'),
-        'PASSWORD': os.environ.get('EM_DB_PASSWORD', 'Aa123456'),
-        'HOST': os.environ.get('EM_DB_HOST', 'localhost'),
-        'PORT': os.environ.get('EM_DB_PORT', '5433'),
-    },
-    'cms_db': { # ICE CMS details.
-        'ENGINE': 'django.db.backends.postgresql',
-        'NAME': os.environ.get('CMS_DB_NAME', 'icecmsdb'),
-        'USER': os.environ.get('CMS_DB_USER', 'icecmsuser'),
-        'PASSWORD': os.environ.get('CMS_DB_PASSWORD', 'Aa123456'),
-        'HOST': os.environ.get('CMS_DB_HOST', 'localhost'),
-        'PORT': os.environ.get('CMS_DB_PORT', '5433'),
-    }
-}
-
-# Password validation
-# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators
-
-AUTH_PASSWORD_VALIDATORS = [
-    {
-        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
-    },
-    {
-        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
-    },
-    {
-        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
-    },
-    {
-        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
-    },
-]
-
-
-# Internationalization
-# https://docs.djangoproject.com/en/1.9/topics/i18n/
-
-LANGUAGE_CODE = 'en-us'
-
-TIME_ZONE = 'UTC'
-
-USE_I18N = True
-
-USE_L10N = True
-
-USE_TZ = False
-
-
-# Static files (CSS, JavaScript, Images)
-# https://docs.djangoproject.com/en/1.9/howto/static-files/
-STATIC_ROOT = os.environ['STATIC_ROOT']
-STATIC_URL = '/static/'
-
-LOGGING = {
-    'version': 1,
-    'disable_existing_loggers': False,
-    'formatters': {  # All possible attributes are: https://docs.python.org/3/library/logging.html#logrecord-attributes
-        'verbose': {
-            'format': '%(asctime)s %(levelname)s %(module)s %(filename)s:%(lineno)d %(process)d %(thread)d %(message)s'
-        },
-        'simple': {
-            'format': '%(asctime)s %(levelname)s %(filename)s:%(lineno)d  %(message)s'
-        },
-    },
-    'handlers': {
-        'console': {
-            'class': 'logging.StreamHandler',
-            'formatter': 'simple'
-        },
-        'file1': {
-            'level': 'INFO',  # handler will ignore DEBUG (only process INFO, WARN, ERROR, CRITICAL, FATAL)
-            'class': 'logging.FileHandler',
-            'filename': os.environ.get('ICE_ICE_LOGGER_PATH', LOGS_PATH) + 'vvp-info.log',
-            'formatter': 'verbose'
-        },
-        'file2': {
-            'level': 'DEBUG',
-            'class': 'logging.FileHandler',
-            'filename': os.environ.get('ICE_ICE_LOGGER_PATH', LOGS_PATH) + 'vvp-debug.log',
-            'formatter': 'verbose'
-        },
-        'file3': {
-            'level': 'ERROR',
-            'class': 'logging.FileHandler',
-            'filename': os.environ.get('ICE_ICE_LOGGER_PATH', LOGS_PATH) + 'vvp-requests.log',
-            'formatter': 'verbose'
-        },
-        'file4': {
-            'level': 'ERROR',
-            'class': 'logging.FileHandler',
-            'filename': os.environ.get('ICE_ICE_LOGGER_PATH', LOGS_PATH) + 'vvp-db.log',
-            'formatter': 'verbose'
-        }
-    },
-    'loggers': {
-        'vvp-ci.logger': {
-            'handlers': ['file1', 'file2', 'file3', 'file4','console'],
-            'level': os.getenv('ICE_ICE_LOGGER_LEVEL', 'DEBUG'),
-        },
-        'django': {
-            'handlers': ['console'],
-            'level': os.getenv('ICE_DJANGO_LOGGER_LEVEL', 'DEBUG'),
-        },
-        'django.request': {
-            'handlers': ['file3'],
-            'level': os.getenv('ICE_ICE_REQUESTS_LOGGER_LEVEL', 'ERROR'),
-        },
-        'django.db.backends': {
-            'handlers': ['file4'],
-            'level': os.getenv('ICE_ICE_DB_LOGGER_LEVEL', 'ERROR'),
-        }
-    }
-}
-
-
-#############################
-# ICE-CI Related Configuration
-#############################
-ICE_CONTACT_FROM_ADDRESS = os.getenv('ICE_CONTACT_FROM_ADDRESS')
-ICE_CONTACT_EMAILS = list(os.getenv('ICE_CONTACT_EMAILS','user@example.com').split(','))
-ICE_CI_ENVIRONMENT_NAME = os.getenv('ICE_CI_ENVIRONMENT_NAME', 'Dev') # Dev / Docker / Staging
-ICE_EM_URL = "{domain}/{prefix}".format(domain=os.environ['ICE_EM_DOMAIN_NAME'], prefix=PROGRAM_NAME_URL_PREFIX)
-ICE_PORTAL_URL = os.environ['ICE_DOMAIN']
-EM_REST_URL = ICE_EM_URL + '/v1/engmgr/'
-
-#Number of test results presented in admin page. Illegal values: '0' or 'Null'
-NUMBER_OF_TEST_RESULTS = int(os.getenv('NUMBER_OF_TEST_RESULTS', '30'))
-ICE_BUILD_REPORT_NUM = os.getenv('ICE_BUILD_REPORT_NUM',"{:%Y-%m-%d-%H-%M-%S}".format(datetime.now()))
-IS_JUMP_STATE=os.getenv('IS_JUMP_STATE', "True")
-DATABASE_TYPE = 'sqlite'
-
-# FIXME: Does this authentication scheme actually gain us anything? What's the
-# threat model
-WEBHOOK_TOKEN = os.environ['SECRET_WEBHOOK_TOKEN']
-
-# The authentication token and URL needed for us to issue requests to the GitLab API.
-GITLAB_TOKEN = os.environ['SECRET_GITLAB_AUTH_TOKEN']
-GITLAB_URL = "http://vvp-gitlab/"
-
-JENKINS_URL = "http://vvp-jenkins:8080/"
-JENKINS_USERNAME = "admin"
-JENKINS_PASSWORD = os.environ['SECRET_JENKINS_PASSWORD']
-
-AWS_S3_HOST = os.environ['S3_HOST']
-AWS_S3_PORT = int(os.environ['S3_PORT'])
-AWS_S3_CUSTOM_DOMAIN = os.environ['S3_HOST']
-AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
-AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
diff --git a/kubernetes/vvp/charts/vvp-ci-uwsgi/resources/config/ci/gunicorn.ini b/kubernetes/vvp/charts/vvp-ci-uwsgi/resources/config/ci/gunicorn.ini
deleted file mode 100644 (file)
index 556fd55..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-bind = ":8282"
-chdir = '/app'
-pidfile = '/tmp/ice-project-master.pid'
-backlog = '5000'
-errorlog = '-'
-loglevel = 'info'
diff --git a/kubernetes/vvp/charts/vvp-ci-uwsgi/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-ci-uwsgi/templates/deployment.yaml
deleted file mode 100644 (file)
index 5c9df34..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        - containerPort: 80
-        - containerPort: 8282
-        - containerPort: 9000
-        volumeMounts:
-        - name: ci-settings
-          mountPath: /opt/configmaps/settings/
-        - name: site-crt
-          mountPath: /opt/secrets/site-crt/
-        env:
-        - name: ICE_ENVIRONMENT
-          value: "development"
-        - name: PROGRAM_NAME_URL_PREFIX
-          value: "vvp"
-        - name: SERVICE_PROVIDER
-          value: "NA"
-        - name: PROGRAM_NAME
-          value: "VVP"
-        - name: SERVICE_PROVIDER_DOMAIN
-          value: "na.com"
-        - name: SECRET_KEY
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: key}
-        - name: EM_DB_HOST
-          value: postgresql
-        - name: EM_DB_PORT
-          value: "5432"
-        - name: EM_DB_NAME
-          value: icedb
-        - name: EM_DB_USER
-          value: "em_postgresuser"
-        - name: EM_DB_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: postgresql-passwords, key: emPassword}
-        - name: CMS_DB_HOST
-          value: postgresql
-        - name: CMS_DB_PORT
-          value: "5432"
-        - name: CMS_DB_NAME
-          value: "icecmsdb"
-        - name: CMS_DB_USER
-          value: "cms_postgresuser"
-        - name: CMS_DB_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: postgresql-passwords, key: cmsPassword}
-        - name: CI_DB_HOST
-          value: postgresql
-        - name: CI_DB_PORT
-          value: "5432"
-        - name: CI_DB_NAME
-          value: icedb
-        - name: CI_DB_USER
-          value: "em_postgresuser"
-        - name: CI_DB_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: postgresql-passwords, key: ciPassword}
-        - name: STATIC_ROOT
-          value: "/app/htdocs"
-        - name: ICE_CONTACT_FROM_ADDRESS
-          value: "example"
-        - name: SECRET_WEBHOOK_TOKEN
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: em_webhook_token}
-        - name: SECRET_GITLAB_AUTH_TOKEN
-          valueFrom:
-            secretKeyRef: {name: gitlab-password, key: auth-token}
-        - name: SECRET_JENKINS_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: jenkins_admin_password}
-        - name: ICE_DOMAIN
-          value: https://development.vvp.example.com
-        - name: ICE_EM_DOMAIN_NAME
-          value: https://development.vvp.example.com
-        - name: OAUTHLIB_INSECURE_TRANSPORT
-          value: "1"
-        - name: CI_ADMIN_USER
-          value: "ciadminuser"
-        - name: CI_ADMIN_MAIL
-          value: "ciadminmail@example.com"
-        - name: CI_ADMIN_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: admin_password}
-        - name: S3_HOST
-          value: "dev-s3.vvp.example.com"
-        - name: S3_PORT
-          value: "443"
-        - name: AWS_ACCESS_KEY_ID
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_access_key_id}
-        - name: AWS_SECRET_ACCESS_KEY
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_secret_access_key}
-        command: ["/app/docker-entrypoint.sh", "/usr/local/bin/gunicorn", "-c", "/opt/configmaps/settings/gunicorn.ini", "web.wsgi:application", ]
-      volumes:
-      - name: ci-settings
-        configMap:
-          name: {{ include "common.fullname" . }}-settings
-      - name: site-crt
-        secret:
-          secretName: site-crt
diff --git a/kubernetes/vvp/charts/vvp-ci-uwsgi/templates/service.yaml b/kubernetes/vvp/charts/vvp-ci-uwsgi/templates/service.yaml
deleted file mode 100644 (file)
index a426001..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName | default "http" }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-ci-uwsgi/values.yaml b/kubernetes/vvp/charts/vvp-ci-uwsgi/values.yaml
deleted file mode 100644 (file)
index 1b58dd5..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001
-image: onap/vvp/test-engine:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: ClusterIP
-  internalPort: 8282
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/Chart.yaml b/kubernetes/vvp/charts/vvp-cms-uwsgi/Chart.yaml
deleted file mode 100644 (file)
index 3adf9a2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: backend uwsgi server which hosts django application
-name: vvp-cms-uwsgi
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/__init__.py b/kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/__init__.py
deleted file mode 100644 (file)
index b583985..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-# 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.
-
-from __future__ import absolute_import, unicode_literals
-import os
-from cms.envbool import envbool
-
-from django import VERSION as DJANGO_VERSION
-from django.utils.translation import ugettext_lazy as _
-from boto.s3.connection import OrdinaryCallingFormat
-
-
-######################
-# MEZZANINE SETTINGS #
-######################
-
-# The following settings are already defined with default values in
-# the ``defaults.py`` module within each of Mezzanine's apps, but are
-# common enough to be put here, commented out, for conveniently
-# overriding. Please consult the settings documentation for a full list
-# of settings Mezzanine implements:
-# http://mezzanine.jupo.org/docs/configuration.html#default-settings
-
-# Controls the ordering and grouping of the admin menu.
-#
-# ADMIN_MENU_ORDER = (
-#     ("Content", ("pages.Page", "blog.BlogPost",
-#        "generic.ThreadedComment", (_("Media Library"), "media-library"),)),
-#     ("Site", ("sites.Site", "redirects.Redirect", "conf.Setting")),
-#     ("Users", ("auth.User", "auth.Group",)),
-# )
-
-# A three item sequence, each containing a sequence of template tags
-# used to render the admin dashboard.
-#
-# DASHBOARD_TAGS = (
-#     ("blog_tags.quick_blog", "mezzanine_tags.app_list"),
-#     ("comment_tags.recent_comments",),
-#     ("mezzanine_tags.recent_actions",),
-# )
-
-# A sequence of templates used by the ``page_menu`` template tag. Each
-# item in the sequence is a three item sequence, containing a unique ID
-# for the template, a label for the template, and the template path.
-# These templates are then available for selection when editing which
-# menus a page should appear in. Note that if a menu template is used
-# that doesn't appear in this setting, all pages will appear in it.
-
-# PAGE_MENU_TEMPLATES = (
-#     (1, _("Top navigation bar"), "pages/menus/dropdown.html"),
-#     (2, _("Left-hand tree"), "pages/menus/tree.html"),
-#     (3, _("Footer"), "pages/menus/footer.html"),
-# )
-
-# A sequence of fields that will be injected into Mezzanine's (or any
-# library's) models. Each item in the sequence is a four item sequence.
-# The first two items are the dotted path to the model and its field
-# name to be added, and the dotted path to the field class to use for
-# the field. The third and fourth items are a sequence of positional
-# args and a dictionary of keyword args, to use when creating the
-# field instance. When specifying the field class, the path
-# ``django.models.db.`` can be omitted for regular Django model fields.
-#
-# EXTRA_MODEL_FIELDS = (
-#     (
-#         # Dotted path to field.
-#         "mezzanine.blog.models.BlogPost.image",
-#         # Dotted path to field class.
-#         "somelib.fields.ImageField",
-#         # Positional args for field class.
-#         (_("Image"),),
-#         # Keyword args for field class.
-#         {"blank": True, "upload_to": "blog"},
-#     ),
-#     # Example of adding a field to *all* of Mezzanine's content types:
-#     (
-#         "mezzanine.pages.models.Page.another_field",
-#         "IntegerField", # 'django.db.models.' is implied if path is omitted.
-#         (_("Another name"),),
-#         {"blank": True, "default": 1},
-#     ),
-# )
-
-# Setting to turn on featured images for blog posts. Defaults to False.
-#
-# BLOG_USE_FEATURED_IMAGE = True
-
-# If True, the django-modeltranslation will be added to the
-# INSTALLED_APPS setting.
-USE_MODELTRANSLATION = False
-
-
-########################
-# MAIN DJANGO SETTINGS #
-########################
-
-# Hosts/domain names that are valid for this site; required if DEBUG is False
-# See https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
-ALLOWED_HOSTS = ['*']
-
-# Set UTC time zone:
-TIME_ZONE = 'UTC'
-USE_TZ = True
-
-# Local time zone for this installation. Choices can be found here:
-# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
-# although not all choices may be available on all operating systems.
-# On Unix systems, a value of None will cause Django to use the same
-# timezone as the operating system.
-# If running in a Windows environment this must be set to the same as your
-# system time zone.
-TIME_ZONE = 'UTC'
-
-# If you set this to True, Django will use timezone-aware datetimes.
-USE_TZ = True
-
-# Language code for this installation. All choices can be found here:
-# http://www.i18nguy.com/unicode/language-identifiers.html
-LANGUAGE_CODE = "en"
-
-# Supported languages
-LANGUAGES = (
-    ('en', _('English')),
-)
-
-ENVIRONMENT = os.environ['ENVIRONMENT']
-
-# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/
-SECRET_KEY = os.environ["SECRET_KEY"]
-
-# A boolean that turns on/off debug mode. When set to ``True``, stack traces
-# are displayed for error pages. Should always be set to ``False`` in
-# production. Best set to ``True`` in local_settings.py
-DEBUG = envbool('DJANGO_DEBUG_MODE', False)
-
-# Note: Only SSL email backends are allowed
-EMAIL_USE_SSL = True
-
-# Whether a user's session cookie expires when the Web browser is closed.
-SESSION_EXPIRE_AT_BROWSER_CLOSE = True
-
-SITE_ID = 1
-
-# If you set this to False, Django will make some optimizations so as not
-# to load the internationalization machinery.
-USE_I18N = False
-
-AUTHENTICATION_BACKENDS = ("mezzanine.core.auth_backends.MezzanineBackend",)
-
-# The numeric mode to set newly-uploaded files to. The value should be
-# a mode you'd pass directly to os.chmod.
-FILE_UPLOAD_PERMISSIONS = 0o644
-
-
-#############
-# DATABASES #
-#############
-
-DATABASES = {
-    'default': {
-        'ENGINE': 'django.db.backends.postgresql',
-        'NAME': os.environ['PGDATABASE'],
-        'USER': os.environ['PGUSER'],
-        'PASSWORD': os.environ['PGPASSWORD'],
-        'HOST': os.environ['PGHOST'],
-        'PORT': os.environ['PGPORT'],
-    }
-}
-
-
-#########
-# PATHS #
-#########
-
-# Full filesystem path to the project.
-PROJECT_APP_PATH = os.path.dirname(os.path.abspath(__file__))
-PROJECT_APP = os.path.basename(PROJECT_APP_PATH)
-PROJECT_ROOT = BASE_DIR = os.path.dirname(PROJECT_APP_PATH)
-
-# Every cache key will get prefixed with this value - here we set it to
-# the name of the directory the project is in to try and use something
-# project specific.
-CACHE_MIDDLEWARE_KEY_PREFIX = PROJECT_APP
-
-# Package/module name to import the root urlpatterns from for the project.
-ROOT_URLCONF = 'cms.urls'
-
-TEMPLATES = [
-    {
-        "BACKEND": "django.template.backends.django.DjangoTemplates",
-        "DIRS": [
-            os.path.join(PROJECT_ROOT, "templates")
-        ],
-        "APP_DIRS": True,
-        "OPTIONS": {
-            "context_processors": [
-                "django.contrib.auth.context_processors.auth",
-                "django.contrib.messages.context_processors.messages",
-                "django.template.context_processors.debug",
-                "django.template.context_processors.i18n",
-                "django.template.context_processors.static",
-                "django.template.context_processors.media",
-                "django.template.context_processors.request",
-                "django.template.context_processors.tz",
-                "mezzanine.conf.context_processors.settings",
-                "mezzanine.pages.context_processors.page",
-            ],
-            "builtins": [
-                "mezzanine.template.loader_tags",
-            ],
-        },
-    },
-]
-
-if DJANGO_VERSION < (1, 9):
-    del TEMPLATES[0]["OPTIONS"]["builtins"]
-
-
-################
-# APPLICATIONS #
-################
-
-INSTALLED_APPS = (
-    "mezzanine_api",
-    "rest_framework",
-    "rest_framework_swagger",
-    "oauth2_provider",
-    "django.contrib.admin",
-    "django.contrib.auth",
-    "django.contrib.contenttypes",
-    "django.contrib.redirects",
-    "django.contrib.sessions",
-    "django.contrib.sites",
-    "django.contrib.sitemaps",
-    "django.contrib.staticfiles",
-    "mezzanine.boot",
-    "mezzanine.conf",
-    "mezzanine.core",
-    "mezzanine.generic",
-    "mezzanine.pages",
-    "mezzanine.blog",
-    "mezzanine.forms",
-    "mezzanine.galleries",
-    "mezzanine.twitter",
-    # "mezzanine.accounts",
-    # "mezzanine.mobile",
-    "cms" ,
-    "storages",
-)
-
-# List of middleware classes to use. Order is important; in the request phase,
-# these middleware classes will be applied in the order given, and in the
-# response phase the middleware will be applied in reverse order.
-MIDDLEWARE_CLASSES = (
-    "mezzanine.core.middleware.UpdateCacheMiddleware",
-    "mezzanine_api.middleware.ApiMiddleware",
-    'django.contrib.sessions.middleware.SessionMiddleware',
-    # Uncomment if using internationalisation or localisation
-    # 'django.middleware.locale.LocaleMiddleware',
-    'django.middleware.common.CommonMiddleware',
-    'django.middleware.csrf.CsrfViewMiddleware',
-    'django.contrib.auth.middleware.AuthenticationMiddleware',
-    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
-    'django.contrib.messages.middleware.MessageMiddleware',
-    'django.middleware.clickjacking.XFrameOptionsMiddleware',
-
-    "mezzanine.core.request.CurrentRequestMiddleware",
-    "mezzanine.core.middleware.RedirectFallbackMiddleware",
-    "mezzanine.core.middleware.TemplateForDeviceMiddleware",
-    "mezzanine.core.middleware.TemplateForHostMiddleware",
-    "mezzanine.core.middleware.AdminLoginInterfaceSelectorMiddleware",
-    "mezzanine.core.middleware.SitePermissionMiddleware",
-    "mezzanine.pages.middleware.PageMiddleware",
-    "mezzanine.core.middleware.FetchFromCacheMiddleware",
-)
-
-# Store these package names here as they may change in the future since
-# at the moment we are using custom forks of them.
-PACKAGE_NAME_FILEBROWSER = "filebrowser_safe"
-PACKAGE_NAME_GRAPPELLI = "grappelli_safe"
-
-#########################
-# OPTIONAL APPLICATIONS #
-#########################
-
-# These will be added to ``INSTALLED_APPS``, only if available.
-OPTIONAL_APPS = (
-    "debug_toolbar",
-    "django_extensions",
-    "compressor",
-    PACKAGE_NAME_FILEBROWSER,
-    PACKAGE_NAME_GRAPPELLI,
-)
-
-#####################
-# REST API SETTINGS #
-#####################
-try:
-    from mezzanine_api.settings import *
-except ImportError:
-    pass
-
-
-##################
-# LOCAL SETTINGS #
-##################
-
-# Allow any settings to be defined in local_settings.py which should be
-# ignored in your version control system allowing for settings to be
-# defined per ma    chine.
-
-# Instead of doing "from .local_settings import *", we use exec so that
-# local_settings has full access to everything defined in this module.
-# Also force into sys.modules so it's visible to Django's autoreload.
-
-f = os.path.join(PROJECT_APP_PATH, "local_settings/__init__.py")
-if os.path.exists(f):
-    import sys
-    import imp
-    module_name = "%s.local_settings" % PROJECT_APP
-    module = imp.new_module(module_name)
-    module.__file__ = f
-    sys.modules[module_name] = module
-    exec(open(f, "rb").read())
-
-
-####################
-# DYNAMIC SETTINGS #
-####################
-
-# set_dynamic_settings() will rewrite globals based on what has been
-# defined so far, in order to provide some better defaults where
-# applicable. We also allow this settings module to be imported
-# without Mezzanine installed, as the case may be when using the
-# fabfile, where setting the dynamic settings below isn't strictly
-# required.
-try:
-    from mezzanine.utils.conf import set_dynamic_settings
-except ImportError:
-    pass
-else:
-    set_dynamic_settings(globals())
-
-# default settings for mezzanine
-NEVERCACHE_KEY = os.getenv('CMS_NEVERCACHE_KEY', ''),
-# Application User
-CMS_APP_USER = os.getenv('CMS_APP_USER')
-CMS_APP_USER_PASSWORD = os.getenv('CMS_APP_USER_PASSWORD')
-CMS_APP_USER_MAIL = os.getenv('CMS_APP_USER_MAIL')
-# Client App (EM)
-CMS_APP_CLIENT_ID = os.getenv('CMS_APP_CLIENT_ID')
-CMS_APP_CLIENT_SECRET = os.getenv('CMS_APP_CLIENT_SECRET')
-CMS_APP_NAME = 'Engagement_Manager_App'
-REST_FRAMEWORK['DEFAULT_RENDERER_CLASSES'] = (
-    'rest_framework.renderers.JSONRenderer',
-)
-
-# S3 configuration for static resources storage and media upload
-
-# used by our custom storage.py
-MEDIA_BUCKET = "cms-media"
-STATIC_BUCKET = "cms-static"
-
-# django-storages configuration
-AWS_S3_HOST = os.environ['S3_HOST']
-AWS_S3_PORT = int(os.environ['S3_PORT'])
-AWS_S3_CUSTOM_DOMAIN = os.environ['S3_HOST']
-AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
-AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
-AWS_AUTO_CREATE_BUCKET = True
-AWS_PRELOAD_METADATA = True
-
-# Set by custom subclass.
-# AWS_STORAGE_BUCKET_NAME = "em-static"
-AWS_S3_CALLING_FORMAT = OrdinaryCallingFormat()
-DEFAULT_FILE_STORAGE = 'cms.settings.storage.S3MediaStorage'
-STATICFILES_STORAGE = 'cms.settings.storage.S3StaticStorage'
-
-# These seem to have no effect even when we don't override with custom_domain?
-STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, STATIC_BUCKET)
-MEDIA_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, MEDIA_BUCKET)
-
-STATIC_ROOT = os.environ['STATIC_ROOT']
-
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/gunicorn.ini b/kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/gunicorn.ini
deleted file mode 100644 (file)
index 29cca7d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-bind = ":80"
-chdir = '/srv'
-pidfile = '/tmp/ice-project-master.pid'
-backlog = '5000'
-errorlog = '-'
-loglevel = 'info'
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/storage.py b/kubernetes/vvp/charts/vvp-cms-uwsgi/resources/config/cms/storage.py
deleted file mode 100644 (file)
index 0abfae9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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.
-
-"""
-storage.py
-
-In order to make Django store trusted static files and untrusted media
-(user-uploaded) files in separate s3 buckets, we must create two different
-storage classes.
-
-https://www.caktusgroup.com/blog/2014/11/10/Using-Amazon-S3-to-store-your-Django-sites-static-and-media-files/
-http://www.leehodgkinson.com/blog/my-mezzanine-s3-setup/
-
-"""
-
-# FIXME this module never changes so might not need not be kept in a
-# configmap. Also it is (almost) the same as what we use in em; that does
-# not use S3BotoStorageMixin.
-
-# There is a newer storage based on boto3 but that doesn't support changing
-# the HOST, as we need to for non-amazon s3 services. It does support an
-# "endpoint"; setting AWS_S3_ENDPOINT_URL may cause it to work.
-from storages.backends.s3boto import S3BotoStorage
-from filebrowser_safe.storage import S3BotoStorageMixin
-from django.conf import settings
-
-
-# NOTE for some reason, collectstatic uploads to bucket/location but the
-# urls constructed are domain/location
-class S3StaticStorage(S3BotoStorage, S3BotoStorageMixin):
-    custom_domain = '%s/%s' % (settings.AWS_S3_HOST, settings.STATIC_BUCKET)
-    bucket_name = settings.STATIC_BUCKET
-    # location = ...
-
-
-class S3MediaStorage(S3BotoStorage, S3BotoStorageMixin):
-    custom_domain = '%s/%s' % (settings.AWS_S3_HOST, settings.MEDIA_BUCKET)
-    bucket_name = settings.MEDIA_BUCKET
-    # location = ...
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/templates/configmap.yaml b/kubernetes/vvp/charts/vvp-cms-uwsgi/templates/configmap.yaml
deleted file mode 100644 (file)
index d8b2bbb..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-settings
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/cms/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.fullname" . }}-secret
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-  key: "KCtkbV9yaigwMDU9XmV2emVzZDMjeHB5JC0kY15qI2NsemlsYngmXz0wbGg3by0zNCM="
-  app_user: "Y21zYXBwdXNlcg=="
-  app_user_mail: "Y21zYXBwdXNlckBleGFtcGxlLmNvbQ=="
-  app_user_password: "Y21zYXBwdXNlcnBhc3N3b3Jk"
-  app_client_id: "RWVCNFhlaW1vb2M2eGllU2VlS2FoOGRhZTFlaXBhZTRvdGFlc2hlZQ=="
-  app_client_secret: "aGFpTW9vcGllWmVlMXdlaTNsZWY0Z2FleWlhMnZhaHdvaHRoMG1haWQ5aXRoMnBoZWVzaGFpdGh1VG9vcjJKb2hzaGVpNWJhZXk3RWlxdWFldGhlaWI4cXVhaXF1ZWU3cGhpYXRoN2V1YjJhaU5haWMzb3U5dmFpemViZWlGNXU="
-  nevercache_key: "YV9qLWc1aCszKW9AMndpYXNtYmcoaHV4cHVqaD05NShwLSR2ejF4aiZ0K20pKy11ODQ="
----
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-cms-uwsgi/templates/deployment.yaml
deleted file mode 100644 (file)
index c2408c5..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        - containerPort: {{ .Values.service.internalPort1 }}
-        - containerPort: {{ .Values.service.internalPort2 }}
-        env:
-        - name: ENVIRONMENT
-          value: "development"
-        - name: SECRET_KEY
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: key}
-        - name: EMAIL_HOST
-          value: "localhost"
-        - name: EMAIL_HOST_USER
-          value: "example"
-        - name: EMAIL_PORT
-          value: "25"
-        - name: EMAIL_HOST_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: email-secret, key: password}
-        - name: PGHOST
-          value: vvp-postgres
-        - name: PGPORT
-          value: "5432"
-        - name: PGDATABASE
-          value: "icecmsdb"
-        - name: PGUSER
-          value: "cms_postgresuser"
-        - name: PGPASSWORD
-          valueFrom:
-            secretKeyRef: {name: postgresql-passwords, key: cmsPassword}
-        - name: ICE_CONTACT_FROM_ADDRESS
-          value: "example"
-        - name: CMS_NEVERCACHE_KEY
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: nevercache_key}
-        - name: CMS_APP_USER
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: app_user}
-        - name: CMS_APP_USER_MAIL
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: app_user_mail}
-        - name: CMS_APP_USER_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: app_user_password}
-        - name: CMS_APP_CLIENT_ID
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: app_client_id}
-        - name: CMS_APP_CLIENT_SECRET
-          valueFrom:
-            secretKeyRef: {name: {{ include "common.fullname" . }}-secret, key: app_client_secret}
-        - name: STATIC_ROOT
-          value: "/app/htdocs"
-        - name: DJANGO_DEBUG_MODE
-          value: "True"
-        - name: S3_HOST
-          value: "dev-s3.vvp.example.com"
-        - name: S3_PORT
-          value: "443"
-        - name: AWS_ACCESS_KEY_ID
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_access_key_id}
-        - name: AWS_SECRET_ACCESS_KEY
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_secret_access_key}
-        command: ["/docker-entrypoint.sh", "/usr/local/bin/gunicorn", "-c", "/opt/configmaps/settings/gunicorn.ini", "cms.wsgi:application", ]
-        volumeMounts:
-        - name: settings
-          mountPath: /opt/configmaps/settings/
-        - name: site-crt
-          mountPath: /opt/secrets/site-crt/
-      volumes:
-      - name: settings
-        configMap:
-          name: {{ include "common.fullname" . }}-settings
-      - name: site-crt
-        secret:
-          secretName: site-crt
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/templates/service.yaml b/kubernetes/vvp/charts/vvp-cms-uwsgi/templates/service.yaml
deleted file mode 100644 (file)
index 0c6c30d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort1 }}
-      name: {{ .Values.service.portName | default "http" }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-cms-uwsgi/values.yaml b/kubernetes/vvp/charts/vvp-cms-uwsgi/values.yaml
deleted file mode 100644 (file)
index e57b173..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001
-image: onap/vvp/cms:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: ClusterIP
-  internalPort1: 80
-  internalPort2: 9000 
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/Chart.yaml b/kubernetes/vvp/charts/vvp-em-uwsgi/Chart.yaml
deleted file mode 100644 (file)
index 4393322..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: backend uwsgi server which hosts django application
-name: vvp-em-uwsgi
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/__init__.py b/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/__init__.py
deleted file mode 100644 (file)
index ed57ca6..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-# 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.
-
-"""
-Django settings for VVP project.
-
-Environment variables that must exist:
-
-    ENVIRONMENT
-    SECRET_KEY
-    SECRET_WEBHOOK_TOKEN
-    SECRET_GITLAB_AUTH_TOKEN
-    SECRET_JENKINS_PASSWORD
-    SECRET_CMS_APP_CLIENT_ID
-    SECRET_CMS_APP_CLIENT_SECRET
-
-Environment variables that must exist in production:
-
-    EMAIL_HOST
-    EMAIL_HOST_PASSWORD
-    EMAIL_HOST_USER
-    EMAIL_PORT
-
-"""
-
-import os
-from vvp.settings.envbool import envbool
-from corsheaders.defaults import default_headers
-from boto.s3.connection import OrdinaryCallingFormat
-import datetime
-
-# With this file at ice/settings/__init__.py, we need three applications of
-# dirname() to find the project root.
-import engagementmanager
-PROJECT_PATH = os.path.dirname(os.path.dirname(engagementmanager.__file__))
-LOGS_PATH    = os.path.join(PROJECT_PATH, "logs")
-
-ENVIRONMENT = os.environ['ENVIRONMENT']
-PROGRAM_NAME_URL_PREFIX = os.environ['PROGRAM_NAME_URL_PREFIX']
-SERVICE_PROVIDER = os.environ['SERVICE_PROVIDER']
-PROGRAM_NAME = os.environ['PROGRAM_NAME']
-SERVICE_PROVIDER_DOMAIN = os.environ['SERVICE_PROVIDER_DOMAIN']
-
-# See https://docs.djangoproject.com/en/1.9/howto/deployment/checklist/
-SECRET_KEY = os.environ["SECRET_KEY"]
-
-# https://docs.djangoproject.com/en/1.10/ref/settings/#allowed-hosts
-# Anything in the Host header that does not match our expected domain should
-# raise SuspiciousOperation exception.
-ALLOWED_HOSTS = ['*']
-
-DEBUG = envbool('DJANGO_DEBUG_MODE', False)
-
-if ENVIRONMENT == 'production':
-    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
-    EMAIL_HOST = os.environ['EMAIL_HOST']
-    EMAIL_HOST_PASSWORD = os.environ['EMAIL_HOST_PASSWORD']
-    EMAIL_HOST_USER = os.environ['EMAIL_HOST_USER']
-    EMAIL_PORT = os.environ['EMAIL_PORT']
-else:
-    EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
-
-# Note: Only SSL email backends are allowed
-EMAIL_USE_SSL = True
-
-REST_FRAMEWORK = {
-    # Use Django's standard `django.contrib.auth` permissions,
-    # or allow read-only access for unauthenticated users.
-    'EXCEPTION_HANDLER': 'engagementmanager.utils.exception_handler.ice_exception_handler',
-    'PAGE_SIZE': 10,
-    'DEFAULT_PERMISSION_CLASSES': (
-        'rest_framework.permissions.IsAuthenticated',
-    ),
-    'DEFAULT_AUTHENTICATION_CLASSES': (
-        'rest_framework.authentication.SessionAuthentication',
-        'rest_framework.authentication.BasicAuthentication',
-        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
-    ),
-    'DEFAULT_PARSER_CLASSES': (
-        'engagementmanager.rest.parsers.XSSJSONParser',
-        'engagementmanager.rest.parsers.XSSFormParser',
-        'engagementmanager.rest.parsers.XSSMultiPartParser',
-    )
-}
-
-JWT_AUTH = {
-    'JWT_AUTH_HEADER_PREFIX': 'token',
-    'JWT_ALGORITHM': 'HS256',
-    'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1),
-    'JWT_DECODE_HANDLER': 'engagementmanager.utils.authentication.ice_jwt_decode_handler',
-}
-
-APPEND_SLASH = False
-
-# Application definition
-INSTALLED_APPS = [
-    'django.contrib.auth',          # required by d.c.admin
-    'corsheaders',
-    'django.contrib.contenttypes',  # required by d.c.admin
-    'django.contrib.sessions',      # required by d.c.admin
-    'django.contrib.messages',      # required by d.c.admin
-    'django.contrib.staticfiles',
-    'django.contrib.admin',         # django admin site
-    'rest_framework',
-    'engagementmanager.apps.EngagementmanagerConfig',
-    'validationmanager.apps.ValidationmanagerConfig',
-]
-
-MIDDLEWARE_CLASSES = [
-    'django.middleware.security.SecurityMiddleware',
-    'django.contrib.sessions.middleware.SessionMiddleware',
-    'django.middleware.common.CommonMiddleware',
-    'django.contrib.auth.middleware.AuthenticationMiddleware',          # required by d.c.admin
-    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
-    'django.contrib.messages.middleware.MessageMiddleware',
-    'django.middleware.clickjacking.XFrameOptionsMiddleware',
-    'corsheaders.middleware.CorsMiddleware',
-]
-
-ROOT_URLCONF = 'vvp.urls'
-
-TEMPLATES = [
-    {
-        'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [PROJECT_PATH + '/web/templates'],
-        'APP_DIRS': True,
-        'OPTIONS': {
-            'context_processors': [
-                'django.template.context_processors.debug',
-                'django.template.context_processors.request',
-                'django.contrib.auth.context_processors.auth',          # required by d.c.admin
-                'django.contrib.messages.context_processors.messages',  # required by d.c.admin
-            ],
-        },
-    },
-]
-
-WSGI_APPLICATION = 'vvp.wsgi.application'
-
-
-# Database
-# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
-DATABASES = {
-    'default': {
-        'ENGINE': 'django.db.backends.postgresql',
-        'NAME': os.environ['PGDATABASE'],
-        'USER': os.environ['PGUSER'],
-        'PASSWORD': os.environ['PGPASSWORD'],
-        'HOST': os.environ['PGHOST'],
-        'PORT': os.environ['PGPORT'],
-    }
-}
-
-
-# Password validation
-# https://docs.djangoproject.com/en/1.9/ref/settings/#auth-password-validators
-AUTH_PASSWORD_VALIDATORS = [
-    {'NAME': 'django.contrib.auth.password_validation.%s' % s} for s in [
-        'UserAttributeSimilarityValidator',
-        'MinimumLengthValidator',
-        'CommonPasswordValidator',
-        'NumericPasswordValidator',
-        ]]
-
-
-# Internationalization
-# https://docs.djangoproject.com/en/1.9/topics/i18n/
-LANGUAGE_CODE = 'en-us'
-TIME_ZONE = 'UTC'
-USE_I18N = True
-USE_L10N = True
-USE_TZ = True
-
-CORS_ALLOW_HEADERS = default_headers + ('ICE-USER-ID',)
-
-# Static files (CSS, JavaScript, Images)
-# https://docs.djangoproject.com/en/1.9/howto/static-files/
-STATIC_ROOT = os.environ['STATIC_ROOT']
-
-
-LOGGING = {
-    'version': 1,
-    'disable_existing_loggers': False,
-    'formatters': {  # All possible attributes are: https://docs.python.org/3/library/logging.html#logrecord-attributes
-        'verbose': {
-            'format': '%(asctime)s %(levelname)s %(name)s %(module)s %(lineno)d %(process)d %(thread)d %(message)s'
-        },
-        'simple': {
-            'format': '%(asctime)s %(levelname)s %(name)s %(message)s'
-        },
-    },
-    'handlers': {
-        'console': {
-            'class': 'logging.StreamHandler',
-            'formatter': 'simple'
-        },
-        'vvp-info.log': {
-            'level': 'INFO',  # handler will ignore DEBUG (only process INFO, WARN, ERROR, CRITICAL, FATAL)
-            'class': 'logging.FileHandler',
-            'filename': os.path.join(LOGS_PATH, 'vvp-info.log'),
-            'formatter': 'verbose'
-        },
-        'vvp-debug.log': {
-            'level': 'DEBUG',
-            'class': 'logging.FileHandler',
-            'filename': os.path.join(LOGS_PATH, 'vvp-debug.log'),
-            'formatter': 'verbose'
-        },
-        'vvp-requests.log': {
-            'level': 'ERROR',
-            'class': 'logging.FileHandler',
-            'filename': os.path.join(LOGS_PATH, 'vvp-requests.log'),
-            'formatter': 'verbose'
-        },
-        'vvp-db.log': {
-            'level': 'ERROR',
-            'class': 'logging.FileHandler',
-            'filename': os.path.join(LOGS_PATH, 'vvp-db.log'),
-            'formatter': 'verbose',
-        },
-    },
-    'loggers': {
-        'vvp.logger': {
-            'handlers': ['vvp-info.log', 'vvp-debug.log', 'vvp-requests.log', 'vvp-db.log', 'console'],
-            'level': 'DEBUG' if DEBUG else 'INFO',
-        },
-        'django': {
-            'handlers': ['console'],
-            'level': 'INFO' if DEBUG else 'ERROR',
-        },
-        'django.request': {
-            'handlers': ['vvp-requests.log', 'console'],
-            'level': 'INFO' if DEBUG else 'ERROR',
-        },
-        'django.db.backends': {
-            'handlers': ['vvp-db.log', 'console'],
-            'level': 'DEBUG' if DEBUG else 'ERROR',
-            'propagate': False,
-        },
-        # silence the hundred lines of useless "missing variable in template"
-        # complaints per admin pageview.
-        'django.template': {
-            'level': 'DEBUG',
-            'handlers': ['vvp-info.log', 'vvp-debug.log', 'console'],
-            'propagate': False,
-        },
-    }
-}
-
-
-#############################
-# VVP Related Configuration
-#############################
-CONTACT_FROM_ADDRESS =  os.getenv('CONTACT_FROM_ADDRESS', 'dummy@example.com')
-CONTACT_EMAILS = [s.strip() for s in os.getenv('CONTACT_EMAILS', 'user@example.com').split(',') if s]
-DOMAIN = os.getenv('EM_DOMAIN_NAME')
-TOKEN_EXPIRATION_IN_HOURS = 48
-DAILY_SCHEDULED_JOB_HOUR = 20
-NUMBER_OF_POLLED_ACTIVITIES = 5
-TEMP_PASSWORD_EXPIRATION_IN_HOURS = 48
-# This is the DNS name pointing to the private-network ip of the host machine
-# running (a haproxy that points to) (an nginx frontend for) this app
-API_DOMAIN = 'em'
-
-# The authentication token needed by Jenkins or Gitlab to issue webhook updates
-# to us. This is a "secret" shared by Jenkins and Django. It must be part of
-# the URL path component for the Jenkins webhook in ValidationManager to accept
-# a notification. It should be a set of random URL-path-safe characters, with
-# no slash '/'.
-# FIXME: Does this authentication scheme actually gain us anything? What's the
-# threat model
-WEBHOOK_TOKEN = os.environ['SECRET_WEBHOOK_TOKEN']
-
-# The authentication token and URL needed for us to issue requests to the GitLab API.
-GITLAB_TOKEN = os.environ['SECRET_GITLAB_AUTH_TOKEN']
-GITLAB_URL = "http://vvp-gitlab/"
-
-JENKINS_URL = "http://vvp-jenkins:8080/"
-JENKINS_USERNAME = "admin"
-JENKINS_PASSWORD = os.environ['SECRET_JENKINS_PASSWORD']
-
-IS_CL_CREATED_ON_REVIEW_STATE = envbool('IS_CL_CREATED_ON_REVIEW_STATE', False)  # Options: True, False
-IS_SIGNAL_ENABLED = envbool('IS_SIGNAL_ENABLED', True)
-RECENT_ENG_TTL = 3  # In days
-CMS_URL = "http://vvp-cms-uwsgi/api/"
-CMS_APP_CLIENT_ID = os.environ['SECRET_CMS_APP_CLIENT_ID']
-CMS_APP_CLIENT_SECRET = os.environ['SECRET_CMS_APP_CLIENT_SECRET']
-
-# slack integration
-SLACK_API_TOKEN = os.environ['SLACK_API_TOKEN']
-ENGAGEMENTS_CHANNEL = os.getenv('ENGAGEMENTS_CHANNEL', '')
-ENGAGEMENTS_NOTIFICATIONS_CHANNEL = os.getenv('ENGAGEMENTS_NOTIFICATIONS_CHANNEL:', '')
-DEVOPS_CHANNEL = os.getenv('DEVOPS_CHANNEL', '')
-DEVOPS_NOTIFICATIONS_CHANNEL = os.getenv('DEVOPS_NOTIFICATIONS_CHANNEL', '')
-
-# S3 configuration for static resources storage and media upload
-
-# used by our custom storage.py
-MEDIA_BUCKET = "em-media"
-STATIC_BUCKET = "em-static"
-
-# django-storages configuration
-AWS_S3_HOST = os.environ['S3_HOST']
-AWS_S3_PORT = int(os.environ['S3_PORT'])
-AWS_S3_CUSTOM_DOMAIN = os.environ['S3_HOST']
-AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
-AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
-AWS_AUTO_CREATE_BUCKET = True
-AWS_PRELOAD_METADATA = True
-
-# Set by custom subclass.
-# AWS_STORAGE_BUCKET_NAME = "em-static"
-AWS_S3_CALLING_FORMAT = OrdinaryCallingFormat()
-DEFAULT_FILE_STORAGE = 'vvp.settings.storage.S3MediaStorage'
-STATICFILES_STORAGE = 'vvp.settings.storage.S3StaticStorage'
-
-# These seem to have no effect even when we don't override with custom_domain?
-STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, STATIC_BUCKET)
-MEDIA_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, MEDIA_BUCKET)
-
-STATIC_ROOT = os.environ['STATIC_ROOT']
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/envbool.py b/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/envbool.py
deleted file mode 100644 (file)
index 31f4385..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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.
-
-"""
-envbool.py
-
-Return which environment is currently running on (to setting.py).
-
-"""
-import os
-
-
-def envbool(key, default=False, unknown=True):
-    """Return a boolean value based on that of an environment variable.
-
-    Environment variables have no native boolean type. They are always strings, and may be empty or
-    unset (which differs from empty.) Furthermore, notions of what is "truthy" in shell script
-    differ from that of python.
-
-    This function converts environment variables to python boolean True or False in
-    case-insensitive, expected ways to avoid pitfalls:
-
-        "True", "true", and "1" become True
-        "False", "false", and "0" become False
-        unset or empty becomes False by default (toggle with 'default' parameter.)
-        any other value becomes True by default (toggle with 'unknown' parameter.)
-
-    """
-    return {
-        'true': True, '1': True,  # 't': True,
-        'false': False, '0': False,  # 'f': False.
-        '': default,
-    }.get(os.getenv(key, '').lower(), unknown)
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/gunicorn.ini b/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/gunicorn.ini
deleted file mode 100644 (file)
index 29cca7d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-bind = ":80"
-chdir = '/srv'
-pidfile = '/tmp/ice-project-master.pid'
-backlog = '5000'
-errorlog = '-'
-loglevel = 'info'
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/storage.py b/kubernetes/vvp/charts/vvp-em-uwsgi/resources/config/em/storage.py
deleted file mode 100644 (file)
index c76046a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# 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.
-
-"""
-storage.py
-
-In order to make Django store trusted static files and untrusted media
-(user-uploaded) files in separate s3 buckets, we must create two different
-storage classes.
-
-https://www.caktusgroup.com/blog/2014/11/10/Using-Amazon-S3-to-store-your-Django-sites-static-and-media-files/
-http://www.leehodgkinson.com/blog/my-mezzanine-s3-setup/
-
-"""
-
-# FIXME this module never changes so might not need not be kept in a
-# configmap. Also it is (almost) the same as what we use in cms.
-
-# There is a newer storage based on boto3 but that doesn't support changing
-# the HOST, as we need to for non-amazon s3 services. It does support an
-# "endpoint"; setting AWS_S3_ENDPOINT_URL may cause it to work.
-from storages.backends.s3boto import S3BotoStorage
-from django.conf import settings
-
-
-# NOTE for some reason, collectstatic uploads to bucket/location but the
-# urls constructed are domain/location
-class S3StaticStorage(S3BotoStorage):
-    custom_domain = '%s/%s' % (settings.AWS_S3_HOST, settings.STATIC_BUCKET)
-    bucket_name = settings.STATIC_BUCKET
-    # location = ...
-
-
-class S3MediaStorage(S3BotoStorage):
-    custom_domain = '%s/%s' % (settings.AWS_S3_HOST, settings.MEDIA_BUCKET)
-    bucket_name = settings.MEDIA_BUCKET
-    # location = ...
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-em-uwsgi/templates/deployment.yaml
deleted file mode 100644 (file)
index 1d08f76..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        - containerPort: 80
-        - containerPort: 9000
-        volumeMounts:
-        - name: em-settings
-          mountPath: /opt/configmaps/settings/
-        - name: site-crt
-          mountPath: /opt/secrets/site-crt/
-        env:
-        - name: ENVIRONMENT
-          value: "development"
-        - name: PROGRAM_NAME_URL_PREFIX
-          value: "vvp"
-        - name: SERVICE_PROVIDER
-          value: "NA"
-        - name: PROGRAM_NAME
-          value: "VVP"
-        - name: SERVICE_PROVIDER_DOMAIN
-          value: "na.com"
-        - name: SECRET_KEY
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: key}
-        - name: EMAIL_HOST
-          value: "localhost"
-        - name: EMAIL_HOST_USER
-          value: "example"
-        - name: EMAIL_PORT
-          value: "25"
-        - name: EMAIL_HOST_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: email-secret, key: password}
-        - name: PGHOST
-          value: vvp-postgres
-        - name: PGPORT
-          value: "5432"
-        - name: PGDATABASE
-          value: icedb
-        - name: PGUSER
-          value: "em_postgresuser"
-        - name: PGPASSWORD
-          valueFrom:
-            secretKeyRef: {name: postgresql-passwords, key: emPassword}
-        - name: DOMAIN
-          value: https://development.vvp.example.com
-        - name: ICE_EM_DOMAIN_NAME
-          value: https://development.vvp.example.com
-        - name: CONTACT_FROM_ADDRESS
-          value: "example"
-        - name: OAUTHLIB_INSECURE_TRANSPORT
-          value: "1"
-        - name: SECRET_WEBHOOK_TOKEN
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: em_webhook_token}
-        - name: SECRET_GITLAB_AUTH_TOKEN
-          valueFrom:
-            secretKeyRef: {name: gitlab-password, key: auth-token}
-        - name: SECRET_JENKINS_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: jenkins_admin_password}
-        - name: SECRET_CMS_APP_CLIENT_ID
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: cms_app_client_id}
-        - name: SECRET_CMS_APP_CLIENT_SECRET
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: cms_app_client_secret}
-        - name: STATIC_ROOT
-          value: "/app/htdocs"
-        - name: DJANGO_DEBUG_MODE
-          value: "True"
-        - name: SLACK_API_TOKEN
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: slack_api_token}
-        - name: ENGAGEMENTS_CHANNEL
-          value: ""
-        - name: ENGAGEMENTS_NOTIFICATIONS_CHANNEL
-          value: ""
-        - name: DEVOPS_CHANNEL
-          value: ""
-        - name: DEVOPS_NOTIFICATIONS_CHANNEL
-          value: ""
-        - name: S3_HOST
-          value: "dev-s3.vvp.example.com"
-        - name: S3_PORT
-          value: "443"
-        - name: AWS_ACCESS_KEY_ID
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_access_key_id}
-        - name: AWS_SECRET_ACCESS_KEY
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_secret_access_key}
-        command: ["/docker-entrypoint.sh", "/usr/local/bin/gunicorn", "-c", "/opt/configmaps/settings/gunicorn.ini", "vvp.wsgi:application", ]
-      volumes:
-      - name: site-crt
-        secret:
-          secretName: site-crt
-      - name: em-settings
-        configMap:
-          name: {{ include "common.fullname" . }}-settings
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/templates/service.yaml b/kubernetes/vvp/charts/vvp-em-uwsgi/templates/service.yaml
deleted file mode 100644 (file)
index a426001..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName | default "http" }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-em-uwsgi/values.yaml b/kubernetes/vvp/charts/vvp-em-uwsgi/values.yaml
deleted file mode 100644 (file)
index a96ca26..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001
-image: onap/vvp/engagementmgr:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: ClusterIP
-  internalPort: 80
-  portName: em
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-ext-haproxy/Chart.yaml b/kubernetes/vvp/charts/vvp-ext-haproxy/Chart.yaml
deleted file mode 100644 (file)
index 721912d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: load balancer for external transport
-name: vvp-ext-haproxy
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-ext-haproxy/resources/config/ext-haproxy-cfg/file b/kubernetes/vvp/charts/vvp-ext-haproxy/resources/config/ext-haproxy-cfg/file
deleted file mode 100644 (file)
index ca7b40a..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-# 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.
-
-resolvers dns
-    nameserver pod_dns "10.3.0.10:53"
-    resolve_retries    3
-    timeout retry      1s
-    hold valid         30s
-
-defaults
-    mode http
-    timeout connect 5000ms
-    timeout client 50000ms
-    timeout server 50000ms
-    option httpclose
-    option redispatch
-    option abortonclose
-    option httplog
-    option dontlognull
-    default-server init-addr last,libc,none
-
-backend gitlab_ssh
-    mode tcp
-    option tcplog
-    timeout server 2h
-    server gitlabssh vvp-gitlab:22 resolvers dns
-
-frontend gitlab_ssh_frontend
-    mode tcp
-    option tcplog
-    timeout client 2h
-    bind 0.0.0.0:22
-    acl is_ssh dst_port 22
-    use_backend gitlab_ssh if is_ssh
-
-backend portal_backend
-    mode http
-    server ice_portal vvp:8181 resolvers dns
-
-backend api
-    mode http
-    server engagement_manager vvp-em-uwsgi:80 resolvers dns
-
-backend s3
-    mode http
-    balance roundrobin
-    option httpchk HEAD /
-    server ceph-01 10.252.0.21:8080 check inter 10000ms
-
-frontend portal
-    mode http
-    acl is_api_call path_beg -i /vvp
-    acl is_s3       hdr_beg(host) s3.  staging-s3.  dev-s3.
-    use_backend api if is_api_call
-    use_backend s3 if is_s3
-    bind 0.0.0.0:80
-    bind 0.0.0.0:443 ssl crt /etc/haproxy/site.pem force-tlsv12
-    default_backend portal_backend
-
-listen stats
-    bind 0.0.0.0:9001
-    mode http
-    stats enable  # Enable stats page
-    stats realm Haproxy\ Statistics
-    stats uri /haproxy_stats
-    stats auth "${HAPROXY_USER}:${HAPROXY_PASS}"
-    acl network_allowed src 10.252.0.0/16 127.0.0.1/32 10.2.0.0/16
-    http-request deny if !network_allowed
diff --git a/kubernetes/vvp/charts/vvp-ext-haproxy/templates/configmap.yaml b/kubernetes/vvp/charts/vvp-ext-haproxy/templates/configmap.yaml
deleted file mode 100644 (file)
index 0bb0e26..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-cfg
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/ext-haproxy-cfg/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/vvp/charts/vvp-ext-haproxy/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-ext-haproxy/templates/deployment.yaml
deleted file mode 100644 (file)
index afe8c75..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        - containerPort: 80
-        - containerPort: 22
-        - containerPort: 443
-        - containerPort: 9001
-        env:
-        - name: HAPROXY_USER
-          valueFrom:
-            secretKeyRef:
-              name: haproxy-auth
-              key: user
-        - name: HAPROXY_PASS
-          valueFrom:
-            secretKeyRef:
-              name: haproxy-auth
-              key: pass
-        volumeMounts:
-        - mountPath: /usr/local/etc/haproxy/
-          name: ext-haproxy-cfg
-        - mountPath: /etc/haproxy/
-          name: site-pem
-      volumes:
-      - name: ext-haproxy-cfg
-        configMap:
-          name: {{ include "common.fullname" . }}-cfg
-          items:
-          - key: file
-            path: haproxy.cfg
-      - name: site-pem
-        secret:
-          secretName: site-pem
diff --git a/kubernetes/vvp/charts/vvp-ext-haproxy/templates/service.yaml b/kubernetes/vvp/charts/vvp-ext-haproxy/templates/service.yaml
deleted file mode 100644 (file)
index bcc41c1..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort1 }}
-      name: {{ .Values.service.portName1 }}
-    - port: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.portName2 }}
-    - port: {{ .Values.service.internalPort3 }}
-      name: {{ .Values.service.portName3 }}
-    - port: {{ .Values.service.internalPort4 }}
-      name: {{ .Values.service.portName4 }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-ext-haproxy/values.yaml b/kubernetes/vvp/charts/vvp-ext-haproxy/values.yaml
deleted file mode 100644 (file)
index 88b32d7..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: docker.io
-image: haproxy:1.7.2-alpine
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: NodePort
-  portName1: web
-  internalPort1: 80
-  portName2: ssl
-  internalPort2: 443
-  portName3: ssh
-  internalPort3: 22
-  portName4: stats
-  internalPort4: 9000
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-gitlab/Chart.yaml b/kubernetes/vvp/charts/vvp-gitlab/Chart.yaml
deleted file mode 100644 (file)
index 4598d67..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: holds all customers files in repos
-name: vvp-gitlab 
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-gitlab/templates/configmap.yaml b/kubernetes/vvp/charts/vvp-gitlab/templates/configmap.yaml
deleted file mode 100644 (file)
index 821b5b7..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Secret
-metadata:
-  name: gitlab-password
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-  password: "YW82aWo2d29oV2VpcXU0ZQ=="
-  auth-token: "amFkdTZ5b2hqYWl5OFdvYjBJZUs="
----
-kind: Secret
-apiVersion: v1
-metadata:
-  name: jenkins-deploykey
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-  deploykey.pub: "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUlQWFNQT2ppSkYvWEdicmNpVXNja1hMbFA0Q0ZHNS9POHErQ0xRZW1CTlE="
diff --git a/kubernetes/vvp/charts/vvp-gitlab/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-gitlab/templates/deployment.yaml
deleted file mode 100644 (file)
index 09ffaac..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      containers:
-      - name: {{ include "common.name" . }}
-        image: {{ include "common.repository" . }}/{{ .Values.image }}
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        - containerPort: {{ .Values.service.internalPort1 }}
-        - containerPort: {{ .Values.service.internalPort2 }}
-        securityContext:
-          privileged: true
-        volumeMounts:
-        - mountPath: /var/opt/gitlab
-          name: gitlab
-          subPath: var/opt/gitlab
-        - mountPath: /etc/gitlab
-          name: gitlab
-          subPath: etc/gitlab
-        - mountPath: /var/log/gitlab
-          name: gitlab
-          subPath: var/log/gitlab
-        - mountPath: /tmp/deploykey
-          name: jenkins-deploykey
-        env:
-        - name: ADMIN_PASSWORD
-          valueFrom:
-            secretKeyRef:
-              name: gitlab-password
-              key: password
-        - name: AUTHENTICATION_TOKEN
-          valueFrom:
-            secretKeyRef:
-              name: gitlab-password
-              key: auth-token
-        - name: EXTERNAL_URL
-          value: "http://vvp-gitlab"
-      volumes:
-      - name: gitlab
-        emptyDir: {}
-      - name: jenkins-deploykey
-        secret:
-          secretName: jenkins-deploykey
-    imagePullSecrets:
-      - name: onapkey 
diff --git a/kubernetes/vvp/charts/vvp-gitlab/templates/service.yaml b/kubernetes/vvp/charts/vvp-gitlab/templates/service.yaml
deleted file mode 100644 (file)
index dd4a9cd..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort1 }}
-      name: {{ .Values.service.portName1 }}
-    - port: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.portName2 }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-gitlab/values.yaml b/kubernetes/vvp/charts/vvp-gitlab/values.yaml
deleted file mode 100644 (file)
index 4855c88..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001
-image: onap/vvp/gitlab:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: NodePort
-  internalPort1: 80
-  internalPort2: 22 
-  portName1: web
-  portName2: ssh
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-imagescanner/Chart.yaml b/kubernetes/vvp/charts/vvp-imagescanner/Chart.yaml
deleted file mode 100644 (file)
index f0b00dc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: scan for validity and viruses on users files
-name: vvp-imagescanner
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-imagescanner/resources/config/imagescanner/imagescannerconfig.py b/kubernetes/vvp/charts/vvp-imagescanner/resources/config/imagescanner/imagescannerconfig.py
deleted file mode 100644 (file)
index 1777b13..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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.
-
-import os
-from pathlib import Path
-from awsauth import S3Auth
-# A mapping from host names to Requests Authentication Objects; see
-# http://docs.python-requests.org/en/master/user/authentication/
-AUTHS = {}
-if 'S3_HOST' in os.environ:
-    AUTHS[os.environ['S3_HOST']] = S3Auth(
-        os.environ['AWS_ACCESS_KEY_ID'],
-        os.environ['AWS_SECRET_ACCESS_KEY'],
-        service_url='https://%s/' % os.environ['S3_HOST']
-        )
-LOGS_PATH = Path(os.environ['IMAGESCANNER_LOGS_PATH'])
-STATUSFILE = LOGS_PATH/'status.txt'
-# A dict passed as kwargs to jenkins.Jenkins constructor.
-JENKINS = {
-  'url': 'http://jenkins:8080',
-  'username': 'admin',
-  'password': os.environ['SECRET_JENKINS_PASSWORD'],
-  }
diff --git a/kubernetes/vvp/charts/vvp-imagescanner/templates/configmap.yaml b/kubernetes/vvp/charts/vvp-imagescanner/templates/configmap.yaml
deleted file mode 100644 (file)
index 59d6066..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: imagescanner-settings
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/imagescanner/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: slack-tokens
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-  notifications: ""
----
-kind: Secret
-apiVersion: v1
-metadata:
-  name: imagescanner-ssh
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-  # FIXME the imagescanner really should have its own private key, but then we
-  # have to adjust the gitlab wrapper script to set two public keys as
-  # deploykeys.
-  id_ed25519: "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNDRDEwanpvNGlSZjF4bTYzSWxMSEpGeTVUK0FoUnVmenZLdmdpMEhwZ1RVQUFBQUpqV3dKZDkxc0NYCmZRQUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQ0QxMGp6bzRpUmYxeG02M0lsTEhKRnk1VCtBaFJ1Znp2S3ZnaTBIcGdUVUEKQUFBRUFXRktNV0xsNkZnRUJ1Zzk3MSthdE5ZQnQ4R2R1V3pDWWd0L2o5VHU0U2g0UFhTUE9qaUpGL1hHYnJjaVVzY2tYTApsUDRDRkc1L084cStDTFFlbUJOUUFBQUFFM0JoZFd4QVVHRjFiQ2R6SUUxaFl5QlFjbThCQWc9PQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: site-certificate
-  namespace: {{ include "common.namespace" . }}
-data:
-  site.crt: |
-    -----BEGIN CERTIFICATE-----
-    MIIDEDCCAfgCCQDhahVKE9/eUjANBgkqhkiG9w0BAQsFADBKMRAwDgYDVQQKDAdF
-    eGFtcGxlMRAwDgYDVQQLDAdleGFtcGxlMSQwIgYDVQQDDBtkZXZlbG9wbWVudC52
-    dnAuZXhhbXBsZS5jb20wHhcNMTcxMjI0MTUzOTA3WhcNMTgxMjI0MTUzOTA3WjBK
-    MRAwDgYDVQQKDAdFeGFtcGxlMRAwDgYDVQQLDAdleGFtcGxlMSQwIgYDVQQDDBtk
-    ZXZlbG9wbWVudC52dnAuZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB
-    DwAwggEKAoIBAQCkvNGXe+bdvL2kvrP2L3WABt2WCFoZ2Pn8Px0eEsRiJHVD0eWz
-    rgJYHFJu0C0cK9NYSKxVVI8LnKH7Ny5MFfM4Tqyr3UEOLs+fSwaAqM5tSyZU/tEK
-    ractA7bi9fDk2lkcs+LLuZMqGPZ37UZcZwsUQ0BONHP668LqkWqT9hNLIN4ejInr
-    32WA3Y7hPNd8Cj+AaLt1x2cXYzi9hrE5l3h9ofkOpXsgDzeIHlp4jJ6kXXQf8UM5
-    1viqa2CWXHBHEG+5eftLSaeE6LAlNt5IJ6LcWEZgNtXr2es4LJC3FjXrv0gc04Cp
-    U2OfizpbhT11cLGaeXOq1cUCXNIb4FcJApoXAgMBAAEwDQYJKoZIhvcNAQELBQAD
-    ggEBAFGPDG9iurAhUKbFkY97xLA443U01bdwi7eAT5T9qo/RzOwcbuKWXVm1k5HK
-    CQO81nlLqLQwhI1+uTTmR41epuJxyGIaDgUySB+8fLzyRSIFaxKD+UeVPgipDNZs
-    h0sKSKrO6MoWzMLUYvdZRw6VIc+UpSCqPY+FKUBUHZtMpSFLnhHjRvVkiP4VvFXj
-    b7jQzHughzeITygws42fKK/MK7wQ6byaMVRbPbQKPAXNxd/UrSPeX+RzKRWOZ6R8
-    Ulyp7dezXCP77UaTZTsxwlurPQIZNMshDxE/SbWt0Q1g28rj5KfAjoZs5Tg/gmQ8
-    LLKI/b1OvKohaANGZ6We5U+ceeU=
-    -----END CERTIFICATE-----
-  wrapper.sh: |
-    #!/bin/sh
-    # This script is meant to be used as a wrapper, so that it can be easily
-    # used with docker or kubernetes' container command specification.
-    #
-    # Kubernetes' volumeMount creates symlinks for configMapped files at the
-    # target directory.
-    # Alpine's update-ca-certificates ignores symlinks.
-    # So we must contrive to copy the contents of the mounted cert (a symlink)
-    # into place as a normal file.
-    dev_cert="${0%/*}/site.crt"
-    echo >&2 "$0: Checking for site CA certificate at $dev_cert..."
-    if [ -s "$dev_cert" ]; then
-        echo >&2 "$0: Updating container CA certificate bundle with site certificate..."
-        cp -L "$dev_cert" /usr/local/share/ca-certificates/
-        update-ca-certificates
-    else
-        echo >&2 "$0: No site CA certificate found."
-    fi
-    echo >&2 "$0: Launching command: $@"
-    exec "$@"
-
diff --git a/kubernetes/vvp/charts/vvp-imagescanner/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-imagescanner/templates/deployment.yaml
deleted file mode 100644 (file)
index d01a7d6..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers: 
-      - name: imagescanner-worker
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        command:
-        - "sh"
-        - "/opt/site-certificate/wrapper.sh"
-        - "/usr/local/bin/imagescanner-worker"
-        securityContext:
-          privileged: true
-        volumeMounts:
-        - name: imagescanner-ssh
-          mountPath: /root/.ssh
-        - name: dev
-          mountPath: /dev
-        - name: logs
-          mountPath: /var/log/imagescanner
-        - name: imagescanner-settings
-          mountPath: /opt/imagescanner-settings
-        - name: site-certificate
-          mountPath: /opt/site-certificate
-        env:
-        - name: PYTHONPATH
-          value: /opt/imagescanner-settings
-        - name: S3_HOST
-          value: "dev-s3.vvp.example.com"
-        - name: S3_PORT
-          value: "443"
-        - name: AWS_ACCESS_KEY_ID
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_access_key_id}
-        - name: AWS_SECRET_ACCESS_KEY
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: aws_secret_access_key}
-        - name: SECRET_JENKINS_PASSWORD
-          value: ''
-        - name: REQUESTS_CA_BUNDLE
-          value: /etc/ssl/certs/ca-certificates.crt
-
-      - name: notifications-worker
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        command: ["/usr/local/bin/notifications-worker"]
-        securityContext:
-          privileged: true
-        env:
-        - name: SLACK_TOKEN
-          valueFrom:
-            secretKeyRef: {name: slack-tokens, key: notifications}
-        - name: DOMAIN
-          value: "dev-em.vvp.example.com"
-        - name: PYTHONPATH
-          value: /opt/imagescanner-settings
-        - name: SECRET_JENKINS_PASSWORD
-          valueFrom:
-            secretKeyRef: {name: em-secret, key: jenkins_admin_password}
-        volumeMounts:
-        - name: imagescanner-settings
-          mountPath: /opt/imagescanner-settings
-
-      - name: imagescanner-frontend
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        command: ["/usr/local/bin/imagescanner-frontend"]
-        securityContext:
-          privileged: true
-        ports:
-        - containerPort: 80
-        volumeMounts:
-        - name: logs
-          mountPath: /var/log/imagescanner
-        - name: imagescanner-settings
-          mountPath: /opt/imagescanner-settings
-        env:
-        - name: DEFAULT_SLACK_CHANNEL
-          value: "#notifications"
-        - name: SECRET_JENKINS_PASSWORD
-          value: ''
-
-      volumes:
-      - name: imagescanner-ssh
-        secret:
-          secretName: imagescanner-ssh
-          defaultMode: 0600
-      - name: dev
-        hostPath:
-          path: /dev
-      - name: logs
-        emptyDir: {}
-      - name: imagescanner-settings
-        configMap:
-          name: imagescanner-settings
-      - name: site-certificate
-        configMap:
-          name: site-certificate
diff --git a/kubernetes/vvp/charts/vvp-imagescanner/templates/service.yaml b/kubernetes/vvp/charts/vvp-imagescanner/templates/service.yaml
deleted file mode 100644 (file)
index a426001..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName | default "http" }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-imagescanner/values.yaml b/kubernetes/vvp/charts/vvp-imagescanner/values.yaml
deleted file mode 100644 (file)
index ed62413..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001
-image: onap/vvp/image-scanner:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: ClusterIP
-  internalPort: 80
-  portName: web 
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-int-haproxy/Chart.yaml b/kubernetes/vvp/charts/vvp-int-haproxy/Chart.yaml
deleted file mode 100644 (file)
index b2a1de8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: load balancer for internal (container to container) transport
-name: vvp-int-haproxy
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-int-haproxy/resources/config/int-haproxy-cfg/file b/kubernetes/vvp/charts/vvp-int-haproxy/resources/config/int-haproxy-cfg/file
deleted file mode 100644 (file)
index d497ba4..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-# 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.
-
-resolvers dns
-    nameserver pod_dns "10.3.0.10:53"
-    resolve_retries    3
-    timeout retry      1s
-    hold valid         30s
-
-defaults
-    mode http
-    timeout connect 5000ms
-    timeout client 50000ms
-    timeout server 50000ms
-    option httpclose
-    option redispatch
-    option abortonclose
-    option httplog
-    option dontlognull
-    default-server init-addr last,libc,none
-
-backend gitlab_web_backend
-    mode http
-    server gitlab_web_1 vvp-gitlab:80 resolvers dns
-
-frontend gitlab_web
-    mode http
-    bind 0.0.0.0:80
-
-    acl is_scanner  path_beg /imagescanner
-    acl is_em_admin hdr_beg(host) em.  staging-em.  dev-em.
-    acl is_cms      hdr_beg(host) cms. staging-cms. dev-cms.
-    acl is_ci_admin hdr_beg(host)      staging-ci.  dev-ci.
-    acl is_s3       hdr_beg(host) s3.  staging-s3.  dev-s3.
-
-    use_backend imagescanner if is_em_admin is_scanner
-    use_backend cms if is_cms
-    use_backend api if is_em_admin
-    use_backend ci  if is_ci_admin
-    use_backend s3  if is_s3
-
-    default_backend gitlab_web_backend
-
-backend s3
-    mode http
-    balance roundrobin
-    server ceph-01 10.252.0.21:8080
-
-backend cms
-  mode http
-  server cms_server vvp-cms-uwsgi:80 resolvers dns
-
-backend api
-    mode http
-    server engagement_manager vvp-em-uwsgi:80 resolvers dns
-
-backend ci
-    mode http
-    server ci_test vvp-ci-uwsgi:8282 resolvers dns
-
-listen jenkins
-    bind 0.0.0.0:8080
-    server jenkins vvp-jenkins:8080 resolvers dns
-
-backend imagescanner
-    mode http
-    server imagescanner vvp-imagescanner:80 resolvers dns
-
-listen stats
-    bind 0.0.0.0:9000
-    mode http
-    stats enable  # Enable stats page
-    stats realm Haproxy\ Statistics
-    stats uri /haproxy_stats
-    stats auth "${HAPROXY_USER}:${HAPROXY_PASS}"
-    acl network_allowed src 10.252.0.0/16 127.0.0.1/32 10.2.0.0/16
-    block if !network_allowed
diff --git a/kubernetes/vvp/charts/vvp-int-haproxy/templates/configmap.yaml b/kubernetes/vvp/charts/vvp-int-haproxy/templates/configmap.yaml
deleted file mode 100644 (file)
index 255f8f9..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-cfg 
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/int-haproxy-cfg/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/vvp/charts/vvp-int-haproxy/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-int-haproxy/templates/deployment.yaml
deleted file mode 100644 (file)
index 4344df3..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        - containerPort: 80
-        - containerPort: 8080
-        - containerPort: 9000
-        env:
-        - name: HAPROXY_USER
-          valueFrom:
-            secretKeyRef:
-              name: haproxy-auth
-              key: user
-        - name: HAPROXY_PASS
-          valueFrom:
-            secretKeyRef:
-              name: haproxy-auth
-              key: pass
-        volumeMounts:
-        - mountPath: /usr/local/etc/haproxy/
-          name: int-haproxy-cfg
-      volumes:
-      - name: int-haproxy-cfg
-        configMap:
-          name: {{ include "common.fullname" . }}-cfg
-          items:
-          - key: file
-            path: haproxy.cfg
diff --git a/kubernetes/vvp/charts/vvp-int-haproxy/templates/service.yaml b/kubernetes/vvp/charts/vvp-int-haproxy/templates/service.yaml
deleted file mode 100644 (file)
index 1f8fa2c..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort1 }}
-      name: {{ .Values.service.portName1 }}
-    - port: {{ .Values.service.internalPort2 }}
-      name: {{ .Values.service.portName2 }}
-    - port: {{ .Values.service.internalPort3 }}
-      name: {{ .Values.service.portName3 }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-int-haproxy/values.yaml b/kubernetes/vvp/charts/vvp-int-haproxy/values.yaml
deleted file mode 100644 (file)
index 8a304b4..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: docker.io
-image: haproxy:1.7.2-alpine
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: NodePort
-  portName1: web
-  internalPort1: 80
-  portName2: jenkins
-  internalPort2: 8080
-  portName3: stats
-  internalPort3: 9000
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-jenkins/Chart.yaml b/kubernetes/vvp/charts/vvp-jenkins/Chart.yaml
deleted file mode 100644 (file)
index 190312f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: run validation tasks
-name: vvp-jenkins 
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-jenkins/templates/configmap.yaml b/kubernetes/vvp/charts/vvp-jenkins/templates/configmap.yaml
deleted file mode 100644 (file)
index ba58c32..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-kind: Secret
-apiVersion: v1
-metadata:
-  name: jenkins-users-admin
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-  config.xml: "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPHVzZXI+CiAgPGZ1bGxOYW1lPmFkbWluPC9mdWxsTmFtZT4KICA8ZGVzY3JpcHRpb24+PC9kZXNjcmlwdGlvbj4KICA8cHJvcGVydGllcz4KICAgIDxodWRzb24uc2VjdXJpdHkuSHVkc29uUHJpdmF0ZVNlY3VyaXR5UmVhbG1fLURldGFpbHM+CiAgICAgIDxwYXNzd29yZEhhc2g+I2piY3J5cHQ6JDJhJDEwJERyaXVLdThPcTdpaWhtdi80bzlKOHV6cmg2QlVBaUtuejMuM21EMXBDb2dzUHJnOW42M1pXPC9wYXNzd29yZEhhc2g+CiAgICA8L2h1ZHNvbi5zZWN1cml0eS5IdWRzb25Qcml2YXRlU2VjdXJpdHlSZWFsbV8tRGV0YWlscz4KICA8L3Byb3BlcnRpZXM+CjwvdXNlcj4K"
----
-kind: Secret
-apiVersion: v1
-metadata:
-  name: jenkins-ssh
-  namespace: {{ include "common.namespace" . }}
-type: Opaque
-data:
-  # .ssh/config isn't really a secret, but it's the easiest way to get it into
-  # the same directory as the key
-  config: "SG9zdCAqClVzZXJLbm93bkhvc3RzRmlsZSAvZGV2L251bGwKU3RyaWN0SG9zdEtleUNoZWNraW5nIG5vCklkZW50aXR5RmlsZSAiL3Zhci9qZW5raW5zX2hvbWUvLnNzaC9pZF9lZDI1NTE5Igo="
-  id_ed25519: "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhPUUFBQUNDRDEwanpvNGlSZjF4bTYzSWxMSEpGeTVUK0FoUnVmenZLdmdpMEhwZ1RVQUFBQUpqV3dKZDkxc0NYCmZRQUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQ0QxMGp6bzRpUmYxeG02M0lsTEhKRnk1VCtBaFJ1Znp2S3ZnaTBIcGdUVUEKQUFBRUFXRktNV0xsNkZnRUJ1Zzk3MSthdE5ZQnQ4R2R1V3pDWWd0L2o5VHU0U2g0UFhTUE9qaUpGL1hHYnJjaVVzY2tYTApsUDRDRkc1L084cStDTFFlbUJOUUFBQUFFM0JoZFd4QVVHRjFiQ2R6SUUxaFl5QlFjbThCQWc9PQotLS0tLUVORCBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0K"
diff --git a/kubernetes/vvp/charts/vvp-jenkins/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-jenkins/templates/deployment.yaml
deleted file mode 100644 (file)
index def0c03..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        ports:
-        - containerPort: 8080
-        volumeMounts:
-        - name: jenkins-home
-          mountPath: /var/jenkins_home
-        - name: jenkins-users-admin
-          mountPath: /var/jenkins_home/users/admin
-        - name: jenkins-ssh
-          mountPath: /var/jenkins_home/.ssh
-      volumes:
-      - name: jenkins-home
-        emptyDir: {}
-      - name: jenkins-users-admin
-        secret:
-          secretName: jenkins-users-admin
-      - name: jenkins-ssh
-        secret:
-          secretName: jenkins-ssh
-          
diff --git a/kubernetes/vvp/charts/vvp-jenkins/templates/service.yaml b/kubernetes/vvp/charts/vvp-jenkins/templates/service.yaml
deleted file mode 100644 (file)
index a426001..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName | default "http" }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-jenkins/values.yaml b/kubernetes/vvp/charts/vvp-jenkins/values.yaml
deleted file mode 100644 (file)
index 083f88a..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001
-image: onap/vvp/jenkins:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: NodePort
-  internalPort: 8080
-  portName: jenkins 
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-postgres/Chart.yaml b/kubernetes/vvp/charts/vvp-postgres/Chart.yaml
deleted file mode 100644 (file)
index 3f4811b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: store all data of engagement manager
-name: vvp-postgres
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/conf/postgresql.conf b/kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/conf/postgresql.conf
deleted file mode 100644 (file)
index 46dec02..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# 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.
-
-#
-# initdb defaults
-#
-listen_addresses = '*' # what IP address(es) to listen on;
-max_connections = 100                   # (change requires restart)
-shared_buffers = 32MB                   # min 128kB
-datestyle = 'iso, mdy'
-lc_messages = 'en_US.UTF-8'                     # locale for system error message
-lc_monetary = 'en_US.UTF-8'                     # locale for monetary formatting
-lc_numeric = 'en_US.UTF-8'                      # locale for number formatting
-lc_time = 'en_US.UTF-8'                         # locale for time formatting
-default_text_search_config = 'pg_catalog.english'
-log_line_prefix = 'user=%u,db=%d '
-#
-# our customizations
-#
-dynamic_shared_memory_type = posix
-log_timezone = 'UTC'
-timezone = 'UTC'
diff --git a/kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/init/cms_db.sh b/kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/init/cms_db.sh
deleted file mode 100644 (file)
index c2a1f6b..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# 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.
-
-# sourced, not executed, by docker-entrypoint.sh (/bin/bash)
-
-# defaults
-: ${ICE_CMS_DB_USER:="icecmsuser"}
-: ${ICE_CMS_DB_NAME:="icecmsdb"}
-: ${ICE_CMS_DB_PASSWORD:="na"}
-
-psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<- EOF
-    CREATE USER ${ICE_CMS_DB_USER} WITH CREATEDB PASSWORD '${ICE_CMS_DB_PASSWORD}';
-    CREATE DATABASE ${ICE_CMS_DB_NAME} WITH OWNER ${ICE_CMS_DB_USER} ENCODING 'utf-8';
-EOF
diff --git a/kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/init/link_postgresql.sh b/kubernetes/vvp/charts/vvp-postgres/resources/config/postgres/init/link_postgresql.sh
deleted file mode 100644 (file)
index 9ca36a1..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# 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.
-
-# sourced, not executed, by docker-entrypoint.sh (/bin/bash)
-ln -sf /etc/postgresql/conf.d/postgresql.conf "${PGDATA}"/postgresql.conf
diff --git a/kubernetes/vvp/charts/vvp-postgres/templates/configmap.yaml b/kubernetes/vvp/charts/vvp-postgres/templates/configmap.yaml
deleted file mode 100644 (file)
index e5773f6..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: postgresql-conf 
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/postgres/conf/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: postgresql-initdb
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/postgres/init/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/vvp/charts/vvp-postgres/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-postgres/templates/deployment.yaml
deleted file mode 100644 (file)
index c7e537d..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      imagePullSecrets:
-      - name: onapkey
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        ports:
-        - containerPort: 5432
-        volumeMounts:
-        - mountPath: /var/lib/postgresql/data
-          name: postgresql-data
-        - mountPath: /etc/postgresql/conf.d/
-          name: postgresql-conf
-        - mountPath: /docker-entrypoint-initdb.d/
-          name: postgresql-initdb
-        env:
-        - name: POSTGRES_DB
-          value: icedb
-        - name: ICE_CMS_DB_NAME
-          value: icecmsdb
-        - name: POSTGRES_USER
-          value: em_postgresuser
-        - name: ICE_CMS_DB_USER
-          value: cms_postgresuser
-        - name: ICE_CMS_DB_PASSWORD
-          valueFrom:
-            secretKeyRef:
-              name: postgresql-passwords
-              key: cmsPassword
-        - name: POSTGRES_PASSWORD
-          valueFrom:
-            secretKeyRef:
-              name: postgresql-passwords
-              key: emPassword
-      volumes:
-      - name: postgresql-data
-        emptyDir: {}
-      - name: postgresql-conf
-        configMap:
-          name: postgresql-conf
-      - name: postgresql-initdb
-        configMap:
-          name: postgresql-initdb
diff --git a/kubernetes/vvp/charts/vvp-postgres/templates/service.yaml b/kubernetes/vvp/charts/vvp-postgres/templates/service.yaml
deleted file mode 100644 (file)
index a426001..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName | default "http" }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-postgres/values.yaml b/kubernetes/vvp/charts/vvp-postgres/values.yaml
deleted file mode 100644 (file)
index 000c049..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001 
-image: onap/vvp/postgresql:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: ClusterIP
-  name: vvp-postgres
-  portName: vvp-postgres
-  internalPort: 5432 
-  externalPort: 5432 
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/charts/vvp-redis/Chart.yaml b/kubernetes/vvp/charts/vvp-redis/Chart.yaml
deleted file mode 100644 (file)
index 4147dd2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-apiVersion: v1
-description: in memory key-value store for all project
-name: vvp-redis
-version: 3.0.0
diff --git a/kubernetes/vvp/charts/vvp-redis/templates/deployment.yaml b/kubernetes/vvp/charts/vvp-redis/templates/deployment.yaml
deleted file mode 100644 (file)
index 744b686..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  selector:
-    matchLabels:
-      app: {{ include "common.name" . }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ .Release.Name }}
-      name: {{ include "common.name" . }}
-    spec:
-      hostname: {{ include "common.name" . }}
-      containers:
-      - args:
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        name: {{ include "common.name" . }}
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/vvp/charts/vvp-redis/templates/service.yaml b/kubernetes/vvp/charts/vvp-redis/templates/service.yaml
deleted file mode 100644 (file)
index e46ab4b..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{ include "common.servicename" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  type: {{ .Values.service.type }}
-  ports:
-    {{if eq .Values.service.type "NodePort" -}}
-    - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
-    {{- else -}}
-    - port: {{ .Values.service.externalPort }}
-      targetPort: {{ .Values.service.internalPort }}
-    {{- end}}
-      name: {{ .Values.service.portName | default "http" }}
-  selector:
-    app: {{ include "common.name" . }}
diff --git a/kubernetes/vvp/charts/vvp-redis/values.yaml b/kubernetes/vvp/charts/vvp-redis/values.yaml
deleted file mode 100644 (file)
index 2eddd51..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: docker.io
-image: redis:alpine
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: ClusterIP
-  name: vvp-redis
-  portName: vvp-redis
-  internalPort: 6379
-  externalPort: 6379
-
-ingress:
-  enabled: false
diff --git a/kubernetes/vvp/requirements.yaml b/kubernetes/vvp/requirements.yaml
deleted file mode 100644 (file)
index 9f44c6d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright © 2018 Amdocs, AT&T, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-dependencies:
-  - name: common
-    version: ~3.0.0
-    repository: '@local'
diff --git a/kubernetes/vvp/resources/config/vvp/file b/kubernetes/vvp/resources/config/vvp/file
deleted file mode 100644 (file)
index 3acdcd8..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# 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.
-
-pid /nginx.pid;
-error_log  /dev/stdout warn;
-
-http {
-  access_log /dev/stdout;
-  server {
-    listen 0.0.0.0:8181;
-
-    location / {
-    include /etc/nginx/mime.types;
-    root /usr/share/nginx/html/;
-    }
-
-  }
-}
-
-events {
-    worker_connections  4096;
-}
diff --git a/kubernetes/vvp/resources/config/vvp/service_provider.json b/kubernetes/vvp/resources/config/vvp/service_provider.json
deleted file mode 100644 (file)
index bcdbbc6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# 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.
-
-{
-  "serviceProvider": {
-      "name": "NA"
-  },
-  "program": {
-      "name": "VVP"
-  }
-}
diff --git a/kubernetes/vvp/templates/configmap.yaml b/kubernetes/vvp/templates/configmap.yaml
deleted file mode 100644 (file)
index 0c3eacd..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-# 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.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: portal-nginx-config
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/vvp/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: onapkey
-data:
-  .dockercfg: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOiB7InVzZXJuYW1lIjogImRvY2tlciIsICJwYXNzd29yZCI6ICJkb2NrZXIiLCAiZW1haWwiOiAiZW1haWxAZW1haWwuY29tIn19
-type: kubernetes.io/dockercfg
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: em-secret
-type: Opaque
-data:
-  key: "IzkxZV9fdzNrPTc4MUB5KGVfIzZodTZ0JmgyNTQjdSkmYmorbTl0aHglayE2XiowNnI="
-  em_webhook_token: "QWlwN29oeDFlaUhhZXNob2g5c2hhaWx1OWVleDd0aGE="
-  gitlab_admin_password: "YW82aWo2d29oV2VpcXU0ZQ=="
-  jenkins_admin_password: "a29peWVCYWlUaDNrYWlOZw=="
-  cms_app_client_id: "RWVCNFhlaW1vb2M2eGllU2VlS2FoOGRhZTFlaXBhZTRvdGFlc2hlZQ=="
-  cms_app_client_secret: "aGFpTW9vcGllWmVlMXdlaTNsZWY0Z2FleWlhMnZhaHdvaHRoMG1haWQ5aXRoMnBoZWVzaGFpdGh1VG9vcjJKb2hzaGVpNWJhZXk3RWlxdWFldGhlaWI4cXVhaXF1ZWU3cGhpYXRoN2V1YjJhaU5haWMzb3U5dmFpemViZWlGNXU="
-  slack_api_token: ""
-  aws_access_key_id: "MlpCMTlVOUQ4SzZYVkpHNzVWWDA="
-  aws_secret_access_key: "N3hWV2Vxc0xJb3RLT3VhMHh2aGFwSXNDdDFWVTB4Nk0yRTRmVFJLTw=="
----
-kind: Secret
-apiVersion: v1
-metadata:
-  name: email-secret
-type: Opaque
-data:
-  password: "RVhBTVBMRQ=="
----
-kind: Secret
-apiVersion: v1
-metadata:
-  name: site-crt
-type: Opaque
-data:
-  # the public part of the certificate, not actually a secret.
-  site.crt: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZnQ0NRRGhhaFZLRTkvZVVqQU5CZ2txaGtpRzl3MEJBUXNGQURCS01SQXdEZ1lEVlFRS0RBZEYKZUdGdGNHeGxNUkF3RGdZRFZRUUxEQWRsZUdGdGNHeGxNU1F3SWdZRFZRUUREQnRrWlhabGJHOXdiV1Z1ZEM1MgpkbkF1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpJME1UVXpPVEEzV2hjTk1UZ3hNakkwTVRVek9UQTNXakJLCk1SQXdEZ1lEVlFRS0RBZEZlR0Z0Y0d4bE1SQXdEZ1lEVlFRTERBZGxlR0Z0Y0d4bE1TUXdJZ1lEVlFRRERCdGsKWlhabGJHOXdiV1Z1ZEM1MmRuQXVaWGhoYlhCc1pTNWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUNrdk5HWGUrYmR2TDJrdnJQMkwzV0FCdDJXQ0ZvWjJQbjhQeDBlRXNSaUpIVkQwZVd6CnJnSllIRkp1MEMwY0s5TllTS3hWVkk4TG5LSDdOeTVNRmZNNFRxeXIzVUVPTHMrZlN3YUFxTTV0U3laVS90RUsKcmFjdEE3Ymk5ZkRrMmxrY3MrTEx1Wk1xR1BaMzdVWmNad3NVUTBCT05IUDY2OExxa1dxVDloTkxJTjRlaklucgozMldBM1k3aFBOZDhDaitBYUx0MXgyY1hZemk5aHJFNWwzaDlvZmtPcFhzZ0R6ZUlIbHA0ako2a1hYUWY4VU01CjF2aXFhMkNXWEhCSEVHKzVlZnRMU2FlRTZMQWxOdDVJSjZMY1dFWmdOdFhyMmVzNExKQzNGalhydjBnYzA0Q3AKVTJPZml6cGJoVDExY0xHYWVYT3ExY1VDWE5JYjRGY0pBcG9YQWdNQkFBRXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUZHUERHOWl1ckFoVUtiRmtZOTd4TEE0NDNVMDFiZHdpN2VBVDVUOXFvL1J6T3djYnVLV1hWbTFrNUhLCkNRTzgxbmxMcUxRd2hJMSt1VFRtUjQxZXB1Snh5R0lhRGdVeVNCKzhmTHp5UlNJRmF4S0QrVWVWUGdpcEROWnMKaDBzS1NLck82TW9Xek1MVVl2ZFpSdzZWSWMrVXBTQ3FQWStGS1VCVUhadE1wU0ZMbmhIalJ2VmtpUDRWdkZYagpiN2pRekh1Z2h6ZUlUeWd3czQyZktLL01LN3dRNmJ5YU1WUmJQYlFLUEFYTnhkL1VyU1BlWCtSektSV09aNlI4ClVseXA3ZGV6WENQNzdVYVRaVHN4d2x1clBRSVpOTXNoRHhFL1NiV3QwUTFnMjhyajVLZkFqb1pzNVRnL2dtUTgKTExLSS9iMU92S29oYUFOR1o2V2U1VStjZWVVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
----
-piVersion: v1
-kind: Secret
-metadata:
-  name: postgresql-passwords
-type: Opaque
-data:
-  emPassword: "ZW1fcG9zdGdyZXNwYXNz"
-  cmsPassword: "Y21zX3Bvc3RncmVzcGFzcw=="
-  ciPassword: "Y2lkYnBhc3M="
----
-kind: Secret
-apiVersion: v1
-metadata:
-  name: site-pem
-type: Opaque
-data:
-  site.pem: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZnQ0NRRGhhaFZLRTkvZVVqQU5CZ2txaGtpRzl3MEJBUXNGQURCS01SQXdEZ1lEVlFRS0RBZEYKZUdGdGNHeGxNUkF3RGdZRFZRUUxEQWRsZUdGdGNHeGxNU1F3SWdZRFZRUUREQnRrWlhabGJHOXdiV1Z1ZEM1MgpkbkF1WlhoaGJYQnNaUzVqYjIwd0hoY05NVGN4TWpJME1UVXpPVEEzV2hjTk1UZ3hNakkwTVRVek9UQTNXakJLCk1SQXdEZ1lEVlFRS0RBZEZlR0Z0Y0d4bE1SQXdEZ1lEVlFRTERBZGxlR0Z0Y0d4bE1TUXdJZ1lEVlFRRERCdGsKWlhabGJHOXdiV1Z1ZEM1MmRuQXVaWGhoYlhCc1pTNWpiMjB3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUNrdk5HWGUrYmR2TDJrdnJQMkwzV0FCdDJXQ0ZvWjJQbjhQeDBlRXNSaUpIVkQwZVd6CnJnSllIRkp1MEMwY0s5TllTS3hWVkk4TG5LSDdOeTVNRmZNNFRxeXIzVUVPTHMrZlN3YUFxTTV0U3laVS90RUsKcmFjdEE3Ymk5ZkRrMmxrY3MrTEx1Wk1xR1BaMzdVWmNad3NVUTBCT05IUDY2OExxa1dxVDloTkxJTjRlaklucgozMldBM1k3aFBOZDhDaitBYUx0MXgyY1hZemk5aHJFNWwzaDlvZmtPcFhzZ0R6ZUlIbHA0ako2a1hYUWY4VU01CjF2aXFhMkNXWEhCSEVHKzVlZnRMU2FlRTZMQWxOdDVJSjZMY1dFWmdOdFhyMmVzNExKQzNGalhydjBnYzA0Q3AKVTJPZml6cGJoVDExY0xHYWVYT3ExY1VDWE5JYjRGY0pBcG9YQWdNQkFBRXdEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUZHUERHOWl1ckFoVUtiRmtZOTd4TEE0NDNVMDFiZHdpN2VBVDVUOXFvL1J6T3djYnVLV1hWbTFrNUhLCkNRTzgxbmxMcUxRd2hJMSt1VFRtUjQxZXB1Snh5R0lhRGdVeVNCKzhmTHp5UlNJRmF4S0QrVWVWUGdpcEROWnMKaDBzS1NLck82TW9Xek1MVVl2ZFpSdzZWSWMrVXBTQ3FQWStGS1VCVUhadE1wU0ZMbmhIalJ2VmtpUDRWdkZYagpiN2pRekh1Z2h6ZUlUeWd3czQyZktLL01LN3dRNmJ5YU1WUmJQYlFLUEFYTnhkL1VyU1BlWCtSektSV09aNlI4ClVseXA3ZGV6WENQNzdVYVRaVHN4d2x1clBRSVpOTXNoRHhFL1NiV3QwUTFnMjhyajVLZkFqb1pzNVRnL2dtUTgKTExLSS9iMU92S29oYUFOR1o2V2U1VStjZWVVPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgotLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KTUlJRXZRSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2N3Z2dTakFnRUFBb0lCQVFDa3ZOR1hlK2Jkdkwyawp2clAyTDNXQUJ0MldDRm9aMlBuOFB4MGVFc1JpSkhWRDBlV3pyZ0pZSEZKdTBDMGNLOU5ZU0t4VlZJOExuS0g3Ck55NU1GZk00VHF5cjNVRU9McytmU3dhQXFNNXRTeVpVL3RFS3JhY3RBN2JpOWZEazJsa2NzK0xMdVpNcUdQWjMKN1VaY1p3c1VRMEJPTkhQNjY4THFrV3FUOWhOTElONGVqSW5yMzJXQTNZN2hQTmQ4Q2orQWFMdDF4MmNYWXppOQpockU1bDNoOW9ma09wWHNnRHplSUhscDRqSjZrWFhRZjhVTTUxdmlxYTJDV1hIQkhFRys1ZWZ0TFNhZUU2TEFsCk50NUlKNkxjV0VaZ050WHIyZXM0TEpDM0ZqWHJ2MGdjMDRDcFUyT2ZpenBiaFQxMWNMR2FlWE9xMWNVQ1hOSWIKNEZjSkFwb1hBZ01CQUFFQ2dnRUFmaXVua3cvd2FBK3daOGN2YWZRN1dBenFGWWpjQ1VQbllzeXI3bWFOUm1XSgo4cUdGL2pIZDFjSUxXSmZVbE9qeiszL2RqWlV2NGNMYlJONmtkTjJ5NUlOTk9HeEM4U3ZsRkttUGwyYXlnMzYxCkl3L3U1dkROUTJxKzNlRmoyTU5xME5MdGR2N3d1YU5ZMGMxR3dHcWpUNmVhVHN0WnNPcDA1TmJ1KzlmU093ejgKcHJFOUVxU2FpbHBjMFpIMDNUb0JDY1ZpTFBRN0RDeWkzd0QvTHFaWXlqbnNKdnBWVjFGV2paTWRNQjVCTHlQNQp2Wkg5Qk1iQ0Eva2YrUDVYVjBtUU9rcWk3OVN0bEhHc21id3A5YzVEUnZiUHZ3TWdsdUpqVDRRNXZldXNtY1ozClF4ZGpXVVpLeXZUU2w2QmFVV0tmSkxhMGhPWHR1UXB5VHhhMDY3S1RNUUtCZ1FEU2tTUXM4aGhnYVhMQVJDMWUKcWwxK29ZNVNjckxVb3dBbHJoNXYxRjlzcTAyNEkrRXRPa3dUZHZkbDNTQjg0bmhyRDVZQ2JhcXlWRi9uNFRaQQpoMnZkUHVsZ3pOT0FPQUh5bjQyanpuQm5kcWtqaXQrdUhOUVBWVjA3bzVwaDk1N05DT25XNFFPZ01IeFhrbDRzCllROTlVYkJmTmdwTC9PY0NUOWhFbnl3d3pRS0JnUURJU0QvV2poMFZ3Nmd0VXlUcjFUMlQ0S3FzS09HTXNIZ1gKbWVqRkJnQVpoeTNSQTRxSnBLWkdPOWUyK0VvMWRSN1ErVjIzOXhaVy9WdEZDcmdLYUNENm9EWFFQM0grcC93VgpvRXozbDJoMWRrSmxYSVd1Z1ZUY05uOGNHeU1TUi9BMUEycFVQNkMwRTJqSTFXWURpT2VQdnFSVTZpczE4dGYwCkNwMjdnNU5tY3dLQmdGSEUvMUZjNms1MlpKTjVaa3oreDdQbk5RZWJkd3JRQ2J5WU0wV21LVEJnRFp4V2dwazMKckZkYXVaUWJIUVNpUmJUOXBubG04UVN6YzFMdXlFeWl5aVp1eWQ1SGJGSzhiVFUwOUtJS0J1aUcwZ1AxYUF1TApNbWFKOWR5MUdieTFsanQxSEtuUFU4TWZVUW9JMHYxVTY5ajBvaE0zUHlSbkg2WnNMMFhtc2hoNUFvR0FZT0tLCmR5a0NLdUFlUCtiRHFvM2FIdW9FeGdsMHFwRkhWdXR1TGJrc1hTMEdYZURmcUp3TWoxY3RqK1ptUjV2amoyWEMKRDFjbzZHWGhPL0htZTZwSm9kUFVsR3ZNb2tyeTZDZEdkRk03QmU5eVNRUkw2dEhIa2t1T2k3TVk4U1A1c0R0NQp1VTJhV09JMncwaHY4Ky9MVEw4RlVjcUJvclJhQVVVTmJvTkV6NzhDZ1lFQXF0bXI0YmJYeWRnNFpFckY5c2ZWCkh4NUhZdDQweU1QajJrR3hSWm9uQXYvaXBwaHpCNFRXZmZFckdCNlgvdzNnUWpla2Z6S2pFNU5rSGVvMytEQisKbzFqc1BySXhrcFlYSzAydlNWN3RZdnlaczBBWGlGcm5sZFBkSzlhNHRtWHhhZEQwZm1OSkxmU0hwd0tVNXdQagpOR2UzUG5rT1pMUlQ4MHVPWkVpMUx4Zz0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo="
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: haproxy-auth
-type: Opaque
-data:
-  user: "aGFwcm94eXVzZXI="
-  pass: "aGFwcm94eXBhc3M="
-
diff --git a/kubernetes/vvp/templates/deployment.yaml b/kubernetes/vvp/templates/deployment.yaml
deleted file mode 100644 (file)
index 293013f..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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.
-
-apiVersion: extensions/v1beta1
-kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-      name: {{ .Release.Name }}
-    spec:
-      containers:
-      - name: {{ include "common.name" . }}
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        volumeMounts:
-        - mountPath: /tmp/
-          name: portal-nginx-config
-        ports:
-        - containerPort: {{ .Values.service.internalPort }}
-        command: ["nginx", "-g", "daemon off;", "-c", "/tmp/nginx.conf"]
-      volumes:
-      - name: portal-nginx-config
-        configMap:
-          name: portal-nginx-config
-          items:
-          - key: file
-            path: nginx.conf
-          - key: service_provider.json
-            path: service_provider.json
-      imagePullSecrets:
-      - name: onapkey 
diff --git a/kubernetes/vvp/values.yaml b/kubernetes/vvp/values.yaml
deleted file mode 100644 (file)
index 740811e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
-  readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
-  loggingImage: beats/filebeat:5.5.0
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-# application image
-repository: nexus3.onap.org:10001
-image: onap/vvp/portal:1.0.0
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# probe configuration parameters
-liveness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-  # necessary to disable liveness probe when setting breakpoints
-  # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
-
-readiness:
-  initialDelaySeconds: 10
-  periodSeconds: 10
-
-service:
-  type: ClusterIP
-  internalPort: 8181
-  externalPort: 8181
-
-ingress:
-  enabled: false