Merge "improve logstash parsing"
authorMandeep Khinda <Mandeep.Khinda@amdocs.com>
Tue, 18 Sep 2018 17:54:26 +0000 (17:54 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 18 Sep 2018 17:54:26 +0000 (17:54 +0000)
326 files changed:
.gitignore
TOSCA/Helm/k8s_delete_env.sh [deleted file]
TOSCA/Helm/k8s_setup_env.sh [deleted file]
TOSCA/Helm/onap-blueprint.yaml [deleted file]
TOSCA/ONAP_TOSCA/onap_tosca.yaml [new file with mode: 0644]
kubernetes/aaf/resources/config/local/org.osaaf.aaf.cm.pkcs11 [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/resources/config/artifact-generator.properties
kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-babel/values.yaml
kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore
kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-champ/templates/configmap.yaml
kubernetes/aai/charts/aai-champ/templates/deployment.yaml
kubernetes/aai/charts/aai-champ/values.yaml
kubernetes/aai/charts/aai-data-router/resources/dynamic/conf/entity-event-policy.xml
kubernetes/aai/charts/aai-data-router/resources/dynamic/routes/entity-event.route
kubernetes/aai/charts/aai-data-router/values.yaml
kubernetes/aai/charts/aai-gizmo/resources/config/crud-beans.xml
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v10.json [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v7.json [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v8.json [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v9.json [new file with mode: 0644]
kubernetes/aai/charts/aai-gizmo/values.yaml
kubernetes/aai/charts/aai-graphadmin/.helmignore [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/Chart.yaml [moved from TOSCA/Helm/helmdelete.sh with 59% similarity]
kubernetes/aai/charts/aai-graphadmin/resources/config/aaiconfig.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/resources/config/localhost-access-logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/resources/config/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/resources/config/realm.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/templates/configmap.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/templates/job.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/templates/service.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-graphadmin/values.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-modelloader/resources/config/model-loader.properties
kubernetes/aai/charts/aai-modelloader/values.yaml
kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.osaaf.location.props [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/permissions.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks [new file with mode: 0644]
kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties
kubernetes/aai/charts/aai-resources/resources/config/application.properties
kubernetes/aai/charts/aai-resources/resources/config/janusgraph-cached.properties
kubernetes/aai/charts/aai-resources/resources/config/janusgraph-realtime.properties
kubernetes/aai/charts/aai-resources/resources/config/logback.xml
kubernetes/aai/charts/aai-resources/templates/configmap.yaml
kubernetes/aai/charts/aai-resources/templates/deployment.yaml
kubernetes/aai/charts/aai-resources/templates/service.yaml
kubernetes/aai/charts/aai-resources/values.yaml
kubernetes/aai/charts/aai-search-data/resources/config/es-payload-translation.json
kubernetes/aai/charts/aai-search-data/values.yaml
kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-default.properties [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/roles.config with 90% similarity]
kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-override.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-schema-prod.properties [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-http-config.properties with 93% similarity]
kubernetes/aai/charts/aai-sparky-be/resources/config/application-resources.properties [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-subscriptionService.xml with 67% similarity]
kubernetes/aai/charts/aai-sparky-be/resources/config/application-ssl.properties [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-ssl-config.properties with 87% similarity]
kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-sparky-be/resources/config/application.properties [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/sparky-application.properties with 52% similarity]
kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml [deleted file]
kubernetes/aai/charts/aai-sparky-be/templates/configmap.yaml
kubernetes/aai/charts/aai-sparky-be/templates/deployment.yaml
kubernetes/aai/charts/aai-sparky-be/values.yaml
kubernetes/aai/charts/aai-spike/Chart.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/requirements.yaml [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unified-search.xml with 67% similarity]
kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/logback.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v10.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v11.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v12.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v13.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v14.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v7.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v8.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v9.json [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/schemaIngest.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/resources/config/spike.properties [moved from TOSCA/Helm/helminstall.sh with 50% similarity]
kubernetes/aai/charts/aai-spike/templates/configmap.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/templates/deployment.yaml [new file with mode: 0644]
kubernetes/aai/charts/aai-spike/templates/secrets.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/deployment.yaml with 50% similarity]
kubernetes/aai/charts/aai-spike/templates/service.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/templates/service.yaml with 80% similarity]
kubernetes/aai/charts/aai-spike/values.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/values.yaml with 71% similarity]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/cadi.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.osaaf.location.props [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/permissions.properties [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks [new file with mode: 0644]
kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties
kubernetes/aai/charts/aai-traversal/resources/config/application.properties
kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-cached.properties
kubernetes/aai/charts/aai-traversal/resources/config/janusgraph-realtime.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/templates/configmap.yaml
kubernetes/aai/templates/deployment.yaml
kubernetes/aai/values.yaml
kubernetes/appc/charts/appc-ansible-server/templates/configmap.yaml
kubernetes/appc/requirements.yaml
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/installAppcDb.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/bin/startODL.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/appc.properties
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/dblib.properties
kubernetes/appc/resources/config/appc/opt/onap/appc/data/properties/svclogic.properties
kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/bin/showActiveGraphs.sh
kubernetes/appc/resources/config/appc/opt/onap/appc/svclogic/config/svclogic.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/installSdncDb.sh
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/bin/startODL.sh
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/dblib.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/data/properties/svclogic.properties
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh
kubernetes/appc/resources/config/appc/opt/onap/ccsdk/svclogic/config/svclogic.properties
kubernetes/appc/templates/configmap.yaml
kubernetes/appc/templates/pv.yaml
kubernetes/appc/templates/secrets.yaml
kubernetes/appc/templates/statefulset.yaml
kubernetes/appc/values.yaml
kubernetes/cli/templates/deployment.yaml
kubernetes/cli/values.yaml
kubernetes/common/mariadb-galera/templates/pv.yaml
kubernetes/common/mariadb-galera/templates/service.yaml
kubernetes/common/mariadb-galera/templates/statefulset.yaml
kubernetes/common/mariadb-galera/values.yaml
kubernetes/common/pgpool/Chart.yaml [moved from kubernetes/vnfsdk/charts/vnfsdk-postgres/Chart.yaml with 84% similarity]
kubernetes/common/pgpool/configs/pgpool.conf [new file with mode: 0644]
kubernetes/common/pgpool/configs/pool_hba.conf [new file with mode: 0644]
kubernetes/common/pgpool/configs/pool_passwd [new file with mode: 0644]
kubernetes/common/pgpool/requirements.yaml [new file with mode: 0644]
kubernetes/common/pgpool/templates/configmap.yaml [new file with mode: 0755]
kubernetes/common/pgpool/templates/deployment.yaml [new file with mode: 0644]
kubernetes/common/pgpool/templates/service.yaml [new file with mode: 0644]
kubernetes/common/pgpool/values.yaml [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-unifiedFilterRequest.xml with 63% similarity]
kubernetes/consul/resources/config/consul-agent-config/policy-health.json
kubernetes/contrib/charts/netbox/charts/netbox-app/resources/config/provisioning/provision.sh
kubernetes/contrib/charts/netbox/charts/netbox-app/templates/pvc.yaml
kubernetes/contrib/charts/netbox/charts/netbox-app/values.yaml
kubernetes/contrib/charts/netbox/charts/netbox-nginx/templates/service.yaml
kubernetes/contrib/charts/netbox/charts/netbox-nginx/values.yaml
kubernetes/contrib/charts/netbox/charts/netbox-postgres/templates/pvc.yaml
kubernetes/contrib/charts/netbox/charts/netbox-postgres/values.yaml
kubernetes/contrib/charts/netbox/values.yaml
kubernetes/dmaap/charts/dmaap-bus-controller/templates/configmap.yaml
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-db/templates/configmap.yaml
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-node/templates/configmap.yaml
kubernetes/dmaap/charts/dmaap-data-router/charts/dmaap-dr-prov/templates/configmap.yaml
kubernetes/dmaap/charts/message-router/templates/configmap.yaml
kubernetes/esr/templates/configmap.yaml
kubernetes/helm/plugins/deploy/deploy.sh [new file with mode: 0755]
kubernetes/helm/plugins/deploy/plugin.yaml [new file with mode: 0644]
kubernetes/helm/plugins/undeploy/plugin.yaml [new file with mode: 0644]
kubernetes/helm/plugins/undeploy/undeploy.sh [new file with mode: 0755]
kubernetes/log/Chart.yaml
kubernetes/log/charts/log-elasticsearch/Chart.yaml
kubernetes/log/charts/log-kibana/Chart.yaml
kubernetes/log/charts/log-logstash/Chart.yaml
kubernetes/multicloud/charts/multicloud-ocata/templates/configmap.yaml
kubernetes/multicloud/charts/multicloud-ocata/templates/deployment.yaml
kubernetes/multicloud/charts/multicloud-ocata/values.yaml
kubernetes/multicloud/charts/multicloud-vio/templates/configmap.yaml
kubernetes/multicloud/charts/multicloud-vio/templates/deployment.yaml
kubernetes/multicloud/charts/multicloud-vio/values.yaml
kubernetes/multicloud/charts/multicloud-windriver/templates/configmap.yaml
kubernetes/multicloud/charts/multicloud-windriver/templates/deployment.yaml
kubernetes/multicloud/charts/multicloud-windriver/values.yaml
kubernetes/multicloud/templates/configmap.yaml
kubernetes/multicloud/templates/deployment.yaml
kubernetes/multicloud/values.yaml
kubernetes/nbi/templates/deployment.yaml
kubernetes/nbi/values.yaml
kubernetes/onap/requirements.yaml
kubernetes/onap/resources/environments/dev.yaml
kubernetes/onap/values.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-cassandra/templates/configmap.yaml
kubernetes/oof/charts/oof-has/charts/oof-has-music/templates/configmap.yaml
kubernetes/oof/charts/oof-has/templates/configmap.yaml
kubernetes/oof/charts/oof-has/values.yaml
kubernetes/oof/templates/configmap.yaml
kubernetes/oof/values.yaml
kubernetes/policy/charts/drools/resources/scripts/update-vfw-op-policy.sh
kubernetes/policy/resources/config/pe/push-policies.sh
kubernetes/pomba/charts/pomba-aaictxbuilder/resources/config/application.properties
kubernetes/pomba/charts/pomba-aaictxbuilder/values.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/resources/config/builders/networkdiscovery.properties [new file with mode: 0755]
kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties
kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdnc.properties
kubernetes/pomba/charts/pomba-contextaggregator/values.yaml
kubernetes/pomba/charts/pomba-kibana/resources/config/default-mapping.json
kubernetes/pomba/charts/pomba-kibana/resources/config/default.json
kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json
kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json
kubernetes/pomba/charts/pomba-networkdiscovery/resources/config/application.properties
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml
kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml
kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy [new file with mode: 0644]
kubernetes/pomba/charts/pomba-validation-service/templates/configmap.yaml
kubernetes/pomba/charts/pomba-validation-service/templates/deployment.yaml
kubernetes/pomba/charts/pomba-validation-service/values.yaml
kubernetes/portal/charts/portal-app/templates/configmap.yaml
kubernetes/portal/charts/portal-cassandra/templates/configmap.yaml
kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml
kubernetes/portal/charts/portal-sdk/templates/configmap.yaml
kubernetes/portal/charts/portal-widget/templates/configmap.yaml
kubernetes/portal/templates/configmap.yaml
kubernetes/robot/demo-k8s.sh
kubernetes/robot/ete-k8s.sh
kubernetes/robot/resources/config/eteshare/config/integration_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 [changed mode: 0644->0755]
kubernetes/sdc/charts/sdc-be/templates/configmap.yaml
kubernetes/sdc/charts/sdc-fe/templates/configmap.yaml
kubernetes/sdc/charts/sdc-onboarding-be/templates/configmap.yaml
kubernetes/sdc/charts/sdc-wfd-be/templates/deployment.yaml
kubernetes/sdc/charts/sdc-wfd-be/values.yaml
kubernetes/sdc/charts/sdc-wfd-fe/values.yaml
kubernetes/sdc/templates/configmap.yaml
kubernetes/sdnc/charts/dmaap-listener/resources/config/aai.properties [new file with mode: 0644]
kubernetes/sdnc/charts/dmaap-listener/templates/configmap.yaml
kubernetes/sdnc/charts/dmaap-listener/templates/deployment.yaml
kubernetes/sdnc/charts/dmaap-listener/values.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/templates/configmap.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/templates/deployment.yaml
kubernetes/sdnc/charts/sdnc-ansible-server/values.yaml
kubernetes/sdnc/charts/sdnc-portal/templates/configmap.yaml
kubernetes/sdnc/charts/sdnc-portal/templates/deployment.yaml
kubernetes/sdnc/charts/sdnc-portal/values.yaml
kubernetes/sdnc/charts/ueb-listener/templates/configmap.yaml
kubernetes/sdnc/charts/ueb-listener/templates/deployment.yaml
kubernetes/sdnc/charts/ueb-listener/values.yaml
kubernetes/sdnc/resources/config/conf/lcm-dg.properties
kubernetes/sdnc/sdnc-prom/templates/configmap.yaml
kubernetes/sdnc/templates/configmap.yaml
kubernetes/sdnc/templates/service.yaml
kubernetes/sdnc/templates/statefulset.yaml
kubernetes/sdnc/values.yaml
kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml
kubernetes/so/charts/so-bpmn-infra/templates/configmap.yaml
kubernetes/so/charts/so-bpmn-infra/templates/deployment.yaml
kubernetes/so/charts/so-bpmn-infra/values.yaml
kubernetes/so/charts/so-catalog-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-catalog-db-adapter/templates/configmap.yaml
kubernetes/so/charts/so-catalog-db-adapter/templates/deployment.yaml
kubernetes/so/charts/so-catalog-db-adapter/values.yaml
kubernetes/so/charts/so-mariadb/templates/deployment.yaml
kubernetes/so/charts/so-mariadb/values.yaml
kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-openstack-adapter/templates/configmap.yaml
kubernetes/so/charts/so-openstack-adapter/templates/deployment.yaml
kubernetes/so/charts/so-openstack-adapter/values.yaml
kubernetes/so/charts/so-request-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-request-db-adapter/templates/configmap.yaml
kubernetes/so/charts/so-request-db-adapter/templates/deployment.yaml
kubernetes/so/charts/so-request-db-adapter/values.yaml
kubernetes/so/charts/so-sdc-controller/resources/config/overrides/override.yaml
kubernetes/so/charts/so-sdc-controller/templates/configmap.yaml
kubernetes/so/charts/so-sdc-controller/templates/deployment.yaml
kubernetes/so/charts/so-sdc-controller/values.yaml
kubernetes/so/charts/so-sdnc-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-sdnc-adapter/templates/configmap.yaml
kubernetes/so/charts/so-sdnc-adapter/templates/deployment.yaml
kubernetes/so/charts/so-sdnc-adapter/values.yaml
kubernetes/so/charts/so-vfc-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-vfc-adapter/templates/configmap.yaml
kubernetes/so/charts/so-vfc-adapter/templates/deployment.yaml
kubernetes/so/charts/so-vfc-adapter/values.yaml
kubernetes/so/resources/config/overrides/override.yaml
kubernetes/so/templates/configmap.yaml
kubernetes/so/templates/deployment.yaml
kubernetes/so/values.yaml
kubernetes/vid/charts/vid-mariadb-galera/Chart.yaml [moved from kubernetes/vid/charts/vid-galera/Chart.yaml with 87% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/NOTES.txt [moved from kubernetes/vid/charts/vid-galera/templates/NOTES.txt with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/configmap.yaml [moved from kubernetes/vid/charts/vid-galera/templates/configmap.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/pv.yaml [moved from kubernetes/vid/charts/vid-galera/templates/pv.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/pvc.yaml [moved from kubernetes/vid/charts/vid-galera/templates/pvc.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/secrets.yaml [moved from kubernetes/vid/charts/vid-galera/templates/secrets.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/service.yaml [moved from kubernetes/vid/charts/vid-galera/templates/service.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/templates/statefulset.yaml [moved from kubernetes/vid/charts/vid-galera/templates/statefulset.yaml with 100% similarity]
kubernetes/vid/charts/vid-mariadb-galera/values.yaml [moved from kubernetes/vid/charts/vid-galera/values.yaml with 99% similarity]
kubernetes/vid/resources/config/db_cmd.sh [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-prepareSchema.xml with 58% similarity]
kubernetes/vid/resources/config/vid-pre-init.sql [moved from kubernetes/aai/charts/aai-sparky-be/resources/config/camel-rests/sparky-core-filter-aggregation.xml with 50% similarity]
kubernetes/vid/templates/check-job-completion-configmap.yaml [deleted file]
kubernetes/vid/templates/cluster-ready-configmap.yaml [deleted file]
kubernetes/vid/templates/configmap.yaml
kubernetes/vid/templates/deployment.yaml
kubernetes/vid/templates/galera-sql-configmap.yaml [deleted file]
kubernetes/vid/templates/service.yaml
kubernetes/vid/templates/vid-galera-config-job.yaml
kubernetes/vid/values.yaml
kubernetes/vnfsdk/requirements.yaml
kubernetes/vnfsdk/resources/config/marketplace_tables_postgres.sql [new file with mode: 0644]
kubernetes/vnfsdk/templates/configmap.yaml [moved from kubernetes/vid/templates/dbcmd-configmap.yaml with 67% similarity]
kubernetes/vnfsdk/templates/deployment.yaml
kubernetes/vnfsdk/templates/job.yaml [new file with mode: 0644]
kubernetes/vnfsdk/values.yaml

index 9656519..3728761 100644 (file)
@@ -4,6 +4,9 @@ kubernetes/dist/*
 requirements.lock
 **/charts/*.tgz
 
+# AAI Schema
+**/schema/*
+
 
 # Eclipse
 .classpath
diff --git a/TOSCA/Helm/k8s_delete_env.sh b/TOSCA/Helm/k8s_delete_env.sh
deleted file mode 100644 (file)
index c715e22..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright (c) 2017 AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#============LICENSE_END============================================
-
-kubectl delete secret $1-docker-registry-key
-kubectl delete clusterrolebinding $1-admin-binding
-kubectl delete namespace $1
-
-
-
diff --git a/TOSCA/Helm/k8s_setup_env.sh b/TOSCA/Helm/k8s_setup_env.sh
deleted file mode 100644 (file)
index 1e226f2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright (c) 2017 AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#============LICENSE_END============================================
-
-printf "%s" "$*"
-printf `pwd`
-printf "%s" "---------------"
-
-kubectl create namespace $1
-kubectl create clusterrolebinding $1-admin-binding --clusterrole=cluster-admin --serviceaccount=$1:default
-kubectl --namespace $1 create secret docker-registry $1-docker-registry-key --docker-server=nexus3.onap.org:10001 --docker-username=docker --docker-password=docker --docker-email=@
\ No newline at end of file
diff --git a/TOSCA/Helm/onap-blueprint.yaml b/TOSCA/Helm/onap-blueprint.yaml
deleted file mode 100644 (file)
index c5b699b..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright (c) 2017 AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#============LICENSE_END============================================
-
-tosca_definitions_version: cloudify_dsl_1_3
-
-imports:
-  - http://www.getcloudify.org/spec/cloudify/3.4.2/types.yaml
-  - http://www.getcloudify.org/spec/fabric-plugin/1.5/plugin.yaml
-
-inputs:
-  # For agent, toggle to true.
-  install_method:
-    default: none # For fabric use false.
-  ip:
-  user:
-    default: centos
-  namespace:
-    default: onap
-
-node_types:
-  cloudify.nodes.Helm:
-    derived_from: cloudify.nodes.SoftwareComponent
-    properties:
-      cwd:
-        default: /home/centos/oom/kubernetes
-      args:
-        default:
-        - onap
-        - mso
-    interfaces:
-      cloudify.interfaces.lifecycle:
-        # This is for fabric: # Run Anywhere.
-        start:
-          implementation: fabric.fabric_plugin.tasks.run_script
-          inputs:
-            script_path:
-              default: helminstall.sh # Relative to the blueprint file.
-            process:
-              default: &process_vars
-                cwd: { get_property: [ SELF, cwd ] }
-                args: { get_property: [ SELF, args ] }
-            fabric_env:
-              default: &fabric_env
-                user: { get_property: [ k8s_master, agent_config, user ] }
-                host_string: { get_property: [ k8s_master, ip ] }
-                key: { get_property: [ k8s_master, agent_config, key ] }
-        stop:
-          implementation: fabric.fabric_plugin.tasks.run_script
-          inputs:
-            script_path:
-              default: helmdelete.sh
-            process:
-              default: *process_vars
-            fabric_env:
-              default: *fabric_env
-
-node_templates:
-
-  k8s_master:
-     type: cloudify.nodes.Compute
-     properties:
-       ip: { get_input: ip }
-       agent_config:
-         install_method: { get_input: install_method } # False for Fabric.
-         key: { get_secret: agent_key_private }
-         user: { get_input: user }
-
-  k8s_env:
-    type: cloudify.nodes.SoftwareComponent
-    properties:
-    interfaces:
-      cloudify.interfaces.lifecycle:
-         start:
-          implementation: fabric.fabric_plugin.tasks.run_script
-          inputs:
-            script_path: k8s_setup_env.sh
-            process:
-              args:  [{ get_input: namespace }]
-            fabric_env:
-              host_string: { get_input: ip }
-              user: { get_input: user }
-              key: { get_secret: agent_key_private }
-         stop:
-          implementation: fabric.fabric_plugin.tasks.run_script
-          inputs:
-            script_path: k8s_delete_env.sh
-            process:
-              args:  [{ get_input: namespace }]
-            fabric_env:
-              host_string: { get_input: ip }
-              user: { get_input: user }
-              key: { get_secret: agent_key_private }
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_master
-
-  consul:
-     type: cloudify.nodes.Helm
-     properties:
-       args:
-       - { get_input: namespace }
-       - consul
-     relationships:
-       - type: cloudify.relationships.connected_to
-         target: k8s_env
-
-  msb:
-     type: cloudify.nodes.Helm
-     properties:
-       args:
-       - { get_input: namespace }
-       - msb
-     relationships:
-       - type: cloudify.relationships.connected_to
-         target: k8s_env
-
-  so:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - so
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  appc:
-     type: cloudify.nodes.Helm
-     properties:
-       args:
-       - { get_input: namespace }
-       - appc
-     relationships:
-       - type: cloudify.relationships.connected_to
-         target: k8s_env
-
-  dmaap:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - dmaap
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  oof:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - oof
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  sdnc:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - sdnc
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  vid:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - vid
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  robot:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - robot
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  policy:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - policy
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  portal:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - portal
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  aai:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - aai
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  sdc:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - sdc
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  log:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - log
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  cli:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - cli
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  multicloud:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - multicloud
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  clamp:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - clamp
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  vnfsdk:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - vnfsdk
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  uui:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - uui
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  aaf:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - aaf
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  vfc:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - vfc
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  dcaegen2:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - dcaegen2
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  esr:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - esr
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  sniro-emulator:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - sniro-emulator
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
-
-  nbi:
-    type: cloudify.nodes.Helm
-    properties:
-      args:
-      - { get_input: namespace }
-      - nbi
-    relationships:
-      - type: cloudify.relationships.connected_to
-        target: k8s_env
\ No newline at end of file
diff --git a/TOSCA/ONAP_TOSCA/onap_tosca.yaml b/TOSCA/ONAP_TOSCA/onap_tosca.yaml
new file mode 100644 (file)
index 0000000..a48f4bc
--- /dev/null
@@ -0,0 +1,432 @@
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#============LICENSE_END============================================
+tosca_definitions_version: cloudify_dsl_1_3
+
+imports:
+  - http://www.getcloudify.org/spec/cloudify/4.3.1/types.yaml
+  - plugin:helm?version=3.0.0
+
+inputs:
+  tiller-server-ip:
+    description: the IP address of Kubernetes master
+  tiller-server-port:
+    description: the nodeport of tiller server
+  namespace:
+    default: onap
+  chart-repo-url:
+    default: https://nexus.onap.org/content/sites/oom-helm-staging
+  chart-version :
+    default: 2.0.0
+  stable-repo-url:
+    description: URL for stable repository
+    type: string
+    default: 'https://kubernetes-charts.storage.googleapis.com'
+
+
+
+node_templates:
+
+  onap_env:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: onap
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+      config: '{ "aaf": {"enabled": false}, "aai": {"enabled": false}, "appc": {"enabled": false}, "clamp": {"enabled": false}, "cli": {"enabled": false}, "consul": {"enabled": false}, "dcaegen2": {"enabled": false}, "dmaap": {"enabled": false}, "esr": {"enabled": false}, "log": {"enabled": false}, "sniro-emulator": {"enabled": false}, "msb": {"enabled": false}, "multicloud": {"enabled": false}, "nbi": {"enabled": false}, "oof": {"enabled": false}, "policy": {"enabled": false}, "pomba": {"enabled": false}, "portal": {"enabled": false}, "robot": {"enabled": false}, "sdc": {"enabled": false}, "sdnc": {"enabled": false}, "so": {"enabled": false}, "uui": {"enabled": false}, "vfc": {"enabled": false}, "vid": {"enabled": false}, "vnfsdk": {"enabled": false} }'
+
+  aaf:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: aaf
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  aai:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: aai
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  appc:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: appc
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  clamp:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: clamp
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  cli:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: cli
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  consul:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: consul
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  contrib:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: contrib
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  dcaegen2:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: dcaegen2
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+
+  dmaap:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: dmaap
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  esr:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: esr
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  log:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: log
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  sniro-emulator:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: sniro-emulator
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  oof:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: oof
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  msb:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: msb
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  multicloud:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: multicloud
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  nbi:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: nbi
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  policy:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: policy
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  pomba:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: pomba
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  portal:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: portal
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  robot:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: robot
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  sdc:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: sdc
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  sdnc:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: sdnc
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  so:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: so
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  uui:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: uui
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  vfc:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: vfc
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  vid:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: vid
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
+
+  vnfsdk:
+    type: onap.nodes.component
+    properties:
+      tiller-server-ip: { get_input: tiller-server-ip }
+      tiller-server-port: { get_input: tiller-server-port }
+      component-name: vnfsdk
+      chart-repo-url: { get_input: chart-repo-url }
+      chart-version: { get_input: chart-version }
+      namespace: { get_input: namespace }
+      stable-repo-url: { get_input: stable-repo-url}
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: onap_env
\ No newline at end of file
diff --git a/kubernetes/aaf/resources/config/local/org.osaaf.aaf.cm.pkcs11 b/kubernetes/aaf/resources/config/local/org.osaaf.aaf.cm.pkcs11
new file mode 100644 (file)
index 0000000..05fe60f
--- /dev/null
@@ -0,0 +1 @@
+name = localca
index 51445e4..91396b9 100644 (file)
@@ -280,3 +280,6 @@ AAI.model-version-id.vpn-binding=21a146e5-9901-448c-9197-723076770119
 #vserver widget details
 AAI.model-invariant-id.vserver=ff69d4e0-a8e8-4108-bdb0-dd63217e63c7
 AAI.model-version-id.vserver=8ecb2c5d-7176-4317-a255-26274edfdd53
+#cr widget details
+AAI.model-invariant-id.cr=425b2158-e51d-4509-9945-dad4556474a3
+AAI.model-version-id.cr=2a160989-b202-47dd-874b-4a0f275998f7
diff --git a/kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties b/kubernetes/aai/charts/aai-babel/resources/config/filter-types.properties
new file mode 100644 (file)
index 0000000..fcf139f
--- /dev/null
@@ -0,0 +1 @@
+AAI.instance-group-types=org.openecomp.groups.NetworkCollection,org.openecomp.groups.VfcInstanceGroup
index 199525a..7ba1c6b 100644 (file)
@@ -25,7 +25,7 @@ global:
 #################################################################
 
 # application image
-image: onap/babel:1.2.0
+image: onap/babel:1.3-STAGING-latest
 
 # application configuration
 config:
index 9eec841..c4c7271 100644 (file)
Binary files a/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore and b/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore differ
index 9d7ddd1..38fd64c 100644 (file)
@@ -24,11 +24,17 @@ xsi:schemaLocation="
        http://www.springframework.org/schema/util/spring-util.xsd
        ">
 
-    <!-- Event publisher to pass to the Champ library for logging raw graph
-         events (Kafka implementation). -->
-    <bean id="champEventPublisher" class="org.onap.aai.event.client.KafkaEventPublisher" >
-        <constructor-arg name="hosts" value="message-router-kafka.{{.Release.Namespace}}:9092" />
-        <constructor-arg name="topic" value="champRawEvents" />
+    <bean id="champEventPublisher" class="org.onap.aai.event.client.DMaaPEventPublisher" >
+        <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:{{.Values.event.port.dmaap}}" />
+        <constructor-arg name="topic" value="{{.Values.event.publisher.topic}}" />
+        <constructor-arg name="username" value="" />
+        <constructor-arg name="password" value="" />
+        <constructor-arg name="maxBatchSize" value="100" />
+        <constructor-arg name="maxAgeMs" value="250" />
+        <constructor-arg name="delayBetweenBatchesMs" value="50" />
+        <constructor-arg name="transportType" value="HTTPAUTH" />
+        <constructor-arg name="protocol" value="{{.Values.event.protocol}}" />
+        <constructor-arg name="contentType" value="application/json" />
     </bean>
 
     <!-- Graph Implementation Configuration-->
@@ -46,8 +52,7 @@ xsi:schemaLocation="
 
         {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
         {{- $global := . }}
-        <entry key="storage.hostname" value="{{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}"/>
-        <entry key="storage.port" value="9160"/>
+        <entry key="storage.hostname" value="{{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}"/>
     </util:map>
 
     <!-- Janus Implementation -->
diff --git a/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-champ/resources/config/log/logback.xml
new file mode 100644 (file)
index 0000000..1fbd913
--- /dev/null
@@ -0,0 +1,191 @@
+<!--
+Copyright © 2018 Amdocs, AT&T
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<configuration scan="true" scanPeriod="3 seconds" debug="true">
+  <!-- Service-specific properties -->
+  <property name="componentName" value="AAI-CHAMP" />
+
+  <!-- directory path for logs -->
+  <property name="logDir" value="/var/log/onap" />
+  <property name="logDirectory" value="${logDir}/${componentName}" />
+
+  <!--  default eelf log file names -->
+  <property name="generalLogName" value="error" />
+  <property name="metricsLogName" value="metrics" />
+  <property name="auditLogName" value="audit" />
+  <property name="debugLogName" value="debug" />
+
+  <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|Champ|%mdc{PartnerName}|%logger||%.-5level|%msg%n" />
+  <property name="auditMetricPattern" value="%m%n" />
+
+  <!-- Example evaluator filter applied against console appender -->
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!-- EELF Appenders -->
+  <!-- ============================================================================ -->
+
+  <appender name="EELF"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${generalLogName}.log</file>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELF" />
+  </appender>
+
+  <appender name="EELFAudit"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${auditLogName}.log</file>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${auditMetricPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFAudit" />
+  </appender>
+
+  <appender name="EELFMetrics"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${metricsLogName}.log</file>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${auditMetricPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFMetrics"/>
+  </appender>
+
+  <appender name="EELFDebug"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${debugLogName}.log</file>
+    <rollingPolicy
+      class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFDebug" />
+    <includeCallerData>false</includeCallerData>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!--  EELF loggers -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="info" additivity="false">
+    <appender-ref ref="asyncEELF" />
+    <appender-ref ref="asyncEELFDebug" />
+  </logger>
+
+  <logger name="com.att.eelf.audit" level="info" additivity="false">
+    <appender-ref ref="asyncEELFAudit" />
+  </logger>
+
+  <logger name="com.att.eelf.metrics" level="info" additivity="false">
+    <appender-ref ref="asyncEELFMetrics" />
+  </logger>
+
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" />
+  <logger name="org.springframework.beans" level="WARN" />
+  <logger name="org.springframework.web" level="WARN" />
+  <logger name="com.blog.spring.jms" level="WARN" />
+
+  <!-- AJSC Services (bootstrap services) -->
+  <logger name="ajsc" level="WARN" />
+  <logger name="ajsc.RouteMgmtService" level="WARN" />
+  <logger name="ajsc.ComputeService" level="WARN" />
+  <logger name="ajsc.VandelayService" level="WARN" />
+  <logger name="ajsc.FilePersistenceService" level="WARN" />
+  <logger name="ajsc.UserDefinedJarService" level="WARN" />
+  <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+  <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+
+  <!-- AJSC related loggers -->
+  <logger name="ajsc.restlet" level="WARN" />
+  <logger name="ajsc.servlet" level="WARN" />
+
+  <!-- General loggers -->
+  <logger name="com.att" level="INFO" />
+  <logger name="org.onap" level="INFO" />
+  <logger name="org.openecomp" level="INFO" />
+
+  <!-- Other Loggers that may help troubleshoot -->
+  <logger name="net.sf" level="WARN" />
+  <logger name="org.apache.commons.httpclient" level="WARN" />
+  <logger name="org.apache.commons" level="WARN" />
+  <logger name="org.apache.coyote" level="WARN" />
+  <logger name="org.apache.jasper" level="WARN" />
+
+  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+       May aid in troubleshooting) -->
+  <logger name="org.apache.camel" level="WARN" />
+  <logger name="org.apache.cxf" level="WARN" />
+  <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.service" level="WARN" />
+  <logger name="org.restlet" level="WARN" />
+  <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+  <!-- logback internals logging -->
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+
+  <root>
+    <appender-ref ref="asyncEELF" />
+    <!-- <appender-ref ref="asyncEELFDebug" /> -->
+  </root>
+
+</configuration>
index baeb238..42733a7 100644 (file)
@@ -28,3 +28,11 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/dynamic/conf/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
\ No newline at end of file
index dc8cbb5..d2f7bca 100644 (file)
@@ -31,23 +31,6 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - aai-resources
-        - --container-name
-        - message-router-kafka
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -97,7 +80,10 @@ spec:
           - mountPath: /opt/app/champ-service/dynamic/conf/champ-beans.xml
             name: {{ include "common.fullname" . }}-dynamic-config
             subPath: champ-beans.xml
-          - mountPath: /logs
+          - mountPath: /opt/app/champ-service/bundleconfig/etc/logback.xml
+            name: {{ include "common.fullname" . }}-logback-config
+            subPath: logback.xml
+          - mountPath: /var/log/onap
             name: {{ include "common.fullname" . }}-logs
           resources:
 {{ toYaml .Values.resources | indent 12 }}
@@ -110,6 +96,19 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
 
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+            name: filebeat-conf
+          - mountPath: /var/log/onap
+            name: {{ include "common.fullname" . }}-logs
+          - mountPath: /usr/share/filebeat/data
+            name: aai-filebeat
+
       volumes:
         - name: localtime
           hostPath:
@@ -131,5 +130,16 @@ spec:
               path: champ-beans.xml
         - name: {{ include "common.fullname" . }}-logs
           emptyDir: {}
+        - name: {{ include "common.fullname" . }}-logback-config
+          configMap:
+            name: {{ include "common.fullname" . }}-log-configmap
+            items:
+            - key: logback.xml
+              path: logback.xml
+        - name: filebeat-conf
+          configMap:
+            name: aai-filebeat
+        - name: aai-filebeat
+          emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 12ced6f..a6435dd 100644 (file)
@@ -25,7 +25,7 @@ global:
 #################################################################
 
 # application image
-image: onap/champ:1.2.3
+image: onap/champ:1.3-STAGING-latest
 
 # application configuration
 config:
@@ -61,3 +61,11 @@ ingress:
   enabled: false
 
 resources: {}
+
+# XML beans configuration
+event:
+  port:
+    dmaap: 3905
+  protocol: https
+  publisher:
+    topic: champRawEvents
index bfa35c2..acfe0a5 100644 (file)
     <property name="searchEndpointDocuments" value = "documents" />
     <property name="searchEntitySearchIndex" value="entity-search-index" />
     <property name="searchTopographySearchIndex" value="topography-search-index" />
-    <property name="searchEntityAutoSuggestIndex" value="entity-autosuggest-index" />
-    <property name="searchAggregationVnfIndex" value="aggregate-vnf-index" />
+    <property name="searchEntityAutoSuggestIndex" value="entityautosuggestindex" />
+    <property name="searchAggregationVnfIndex" value="aggregate_generic-vnf_index" />
     <property name="searchCertName" value="client-cert-onap.p12" />
     <property name="searchKeystorePwd" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" />
     <property name="searchKeystore" value="tomcat_keystore" />
   </bean>
+  
+  <bean id="consumerBeanEntityEvent" class="org.onap.aai.event.client.DMaaPEventConsumer " >
+    <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:3904" />
+    <constructor-arg name="topic" value="AAI-EVENT" />
+    <constructor-arg name="username" value="" />
+    <constructor-arg name="password" value="" />
+    <constructor-arg name="consumerGroup" value="datarouter" />
+    <constructor-arg name="consumerId" value="datarouter" />
+    <constructor-arg name="timeoutMs" value="1000" />
+    <constructor-arg name="messageLimit" value="100" />
+    <constructor-arg name="transportType" value="HTTPAUTH" />
+  </bean>
 
   <bean id="entityEventPolicy" class="org.onap.aai.datarouter.policy.EntityEventPolicy" init-method="startup" >
     <constructor-arg ref="eepConfig"/>
index d349ee9..14db6d6 100644 (file)
@@ -1,4 +1,4 @@
 <route xmlns="http://camel.apache.org/schema/spring" trace="true">\r
-  <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;groupName=datarouter&amp;groupId=datarouter&amp;url=http://message-router.{{.Release.Namespace}}:3904"/>\r
+  <from uri="event-bus:mybus/?eventTopic=AAI-EVENT&amp;consumer=#consumerBeanEntityEvent" />\r
   <to uri="bean:entityEventPolicy?method=process"/>\r
-</route>\r
+</route>
\ No newline at end of file
index 52acac0..10521ab 100644 (file)
@@ -21,7 +21,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/data-router:1.2.2
+image: onap/data-router:1.3-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
index a507886..48db706 100644 (file)
@@ -1,3 +1,4 @@
+<!--
 # Copyright © 2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+-->
 
 <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v10.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v10.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v7.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v7.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v8.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v8.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
diff --git a/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v9.json b/kubernetes/aai/charts/aai-gizmo/resources/config/model/edge_properties_v9.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
index bab3372..50c9d77 100644 (file)
@@ -23,7 +23,7 @@ global:
 #################################################################
 
 # application image
-image: onap/gizmo:1.2.1
+image: onap/gizmo:1.3-STAGING-latest
 
 # application configuration
 config:
diff --git a/kubernetes/aai/charts/aai-graphadmin/.helmignore b/kubernetes/aai/charts/aai-graphadmin/.helmignore
new file mode 100644 (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
similarity index 59%
rename from TOSCA/Helm/helmdelete.sh
rename to kubernetes/aai/charts/aai-graphadmin/Chart.yaml
index 201471b..0b4de7c 100644 (file)
@@ -1,21 +1,23 @@
-#!/bin/bash
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright (c) 2017 AT&T
 #
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
-#         http://www.apache.org/licenses/LICENSE-2.0
+#    http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#============LICENSE_END============================================
-
-helm delete $2 --purge
-
+# ============LICENSE_END=========================================================
 
+apiVersion: v1
+description: ONAP AAI GraphAdmin
+name: aai-graphadmin
+version: 2.0.0
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/aaiconfig.properties
new file mode 100644 (file)
index 0000000..0aeb2d1
--- /dev/null
@@ -0,0 +1,123 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+aai.config.checktime=1000
+
+# this could come from siteconfig.pl?
+aai.config.nodename=AutomaticallyOverwritten
+
+aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/
+aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/{{ .Values.global.config.schema.version.api.default }}/
+aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/
+
+{{ if .Values.global.config.basic.auth.enabled }}
+aai.tools.enableBasicAuth=true
+aai.tools.username={{ .Values.global.config.basic.auth.username }}
+aai.tools.password={{ .Values.global.config.basic.auth.passwd }}
+{{ end }}
+
+aai.truststore.filename={{ .Values.global.config.truststore.filename }}
+aai.truststore.passwd.x={{ .Values.global.config.truststore.passwd }}
+aai.keystore.filename={{ .Values.global.config.keystore.filename }}
+aai.keystore.passwd.x={{ .Values.global.config.keystore.passwd }}
+
+aai.notification.current.version={{ .Values.global.config.schema.version.api.default }}
+aai.notificationEvent.default.status=UNPROCESSED
+aai.notificationEvent.default.eventType={{ .Values.global.config.notification.eventType }}
+aai.notificationEvent.default.domain={{ .Values.global.config.notification.domain }}
+aai.notificationEvent.default.sourceName=aai
+aai.notificationEvent.default.sequenceNumber=0
+aai.notificationEvent.default.severity=NORMAL
+aai.notificationEvent.default.version={{ .Values.global.config.schema.version.api.default }}
+# This one lets us enable/disable resource-version checking on updates/deletes
+aai.resourceversion.enableflag=true
+aai.logging.maxStackTraceEntries=10
+aai.default.api.version={{ .Values.global.config.schema.version.api.default }}
+
+# Used by Data Grooming
+aai.grooming.default.max.fix={{ .Values.config.maxFix.dataGrooming | int }}
+aai.grooming.default.sleep.minutes={{ .Values.config.sleepMinutes.dataGrooming | int }}
+
+# Used by DupeTool
+aai.dupeTool.default.max.fix={{ .Values.config.maxFix.dupeTool | int }}
+aai.dupeTool.default.sleep.minutes={{ .Values.config.sleepMinutes.dupeTool | int }}
+
+
+aai.model.proc.max.levels=50
+aai.edgeTag.proc.max.levels=50
+
+# Used by the ForceDelete tool
+aai.forceDel.protected.nt.list=cloud-region
+aai.forceDel.protected.edge.count=10
+aai.forceDel.protected.descendant.count=10
+
+#used by the dataGrooming and dataSnapshot cleanup tasks
+aai.cron.enable.datagroomingcleanup={{ .Values.config.cron.dataCleanup.dataGrooming.enabled }}
+aai.cron.enable.datasnapshotcleanup={{ .Values.config.cron.dataCleanup.dataSnapshot.enabled }}
+aai.datagrooming.agezip={{ .Values.config.cron.dataCleanup.dataGrooming.ageZip | int }}
+aai.datagrooming.agedelete={{ .Values.config.cron.dataCleanup.dataGrooming.ageDelete | int  }}
+
+aai.datasnapshot.agezip={{ .Values.config.cron.dataCleanup.dataSnapshot.ageZip | int }}
+aai.datasnapshot.agedelete={{ .Values.config.cron.dataCleanup.dataSnapshot.ageDelete | int }}
+
+#used by the dataSnapshot and dataGrooming tasks
+aai.cron.enable.dataSnapshot={{ .Values.config.cron.dataSnapshot.enabled }}
+
+aai.cron.enable.dataGrooming={{ .Values.config.cron.dataGrooming.enabled }}
+
+#used by the dataGrooming tasks
+aai.datagrooming.enableautofix=true
+aai.datagrooming.enabledupefixon=true
+aai.datagrooming.enabledontfixorphans=true
+aai.datagrooming.enabletimewindowminutes=true
+aai.datagrooming.enableskiphostcheck=false
+aai.datagrooming.enablesleepminutes=false
+aai.datagrooming.enableedgesonly=false
+aai.datagrooming.enableskipedgechecks=false
+aai.datagrooming.enablemaxfix=false
+aai.datagrooming.enablesinglecommits=false
+aai.datagrooming.enabledupecheckoff=false
+aai.datagrooming.enableghost2checkoff=false
+aai.datagrooming.enableghost2fixon=false
+aai.datagrooming.enablef=false
+
+# used by the dataGrooming to set values
+aai.datagrooming.timewindowminutesvalue=10500
+aai.datagrooming.sleepminutesvalue=100
+aai.datagrooming.maxfixvalue=10
+aai.datagrooming.fvalue=10
+
+#timeout for traversal enabled flag
+aai.graphadmin.timeoutenabled={{ .Values.config.timeout.enabled }}
+#default timeout limit added for graphadmin if not overridden (in ms)
+aai.graphadmin.timeoutlimit={{ .Values.config.timeout.limit }}
+
+#timeout app specific -1 to bypass for that app id, a whole number to override the timeout with that value (in ms)
+aai.graphadmin.timeout.appspecific={{ .Values.global.config.realtime.clients }}
+
+# Disable the process check which are oriented towards linux OS
+# These props should only be true for local on windows
+aai.disable.check.snapshot.running=false
+aai.disable.check.grooming.running=false
+
+# Specify the params listed right here that you would have send to the dataSnapshot shell script
+# JUST_TAKE_SNAPSHOT
+# THREADED_SNAPSHOT 2 DEBUG
+# THREADED_SNAPSHOT 2
+aai.datasnapshot.params={{ .Values.config.cron.dataSnapshot.params }}
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/application.properties
new file mode 100644 (file)
index 0000000..7557247
--- /dev/null
@@ -0,0 +1,87 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+# The following info parameters are being referenced by ajsc6
+info.build.artifact=aai-graphadmin
+info.build.name=resources
+info.build.description=Resources Microservice
+info.build.version=1.2.0
+
+spring.application.name=aai-graphadmin
+spring.jersey.type=filter
+
+server.contextPath=/
+spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
+
+spring.profiles.active={{ .Values.global.config.profiles.active }}
+spring.jersey.application-path=${schema.uri.base.path}
+#The max number of active threads in this pool
+server.tomcat.max-threads=200
+#The minimum number of threads always kept alive
+server.tomcat.min-Spare-Threads=25
+#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
+server.tomcat.max-idle-time=60000
+
+# If you get an application startup failure that the port is already taken
+# If thats not it, please check if the key-store file path makes sense
+server.local.startpath=aai-graphadmin/src/main/resources/
+server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
+
+server.port=8449
+server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
+server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }}
+server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
+server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }}
+server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
+server.ssl.client-auth=want
+server.ssl.key-store-type=JKS
+
+# JMS bind address host port
+jms.bind.address=tcp://localhost:61649
+dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3905
+
+# Schema related attributes for the oxm and edges
+# Any additional schema related attributes should start with prefix schema
+schema.configuration.location=N/A
+schema.source.name={{ .Values.global.config.schema.source.name }}
+schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/
+schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/
+
+schema.ingest.file=${server.local.startpath}/application.properties
+
+# Schema Version Related Attributes
+
+schema.uri.base.path={{ .Values.global.config.schema.uri.base.path }}
+# Lists all of the versions in the schema
+schema.version.list={{ .Values.global.config.schema.version.list }}
+# Specifies from which version should the depth parameter to default to zero
+schema.version.depth.start={{ .Values.global.config.schema.version.depth }}
+# Specifies from which version should the related link be displayed in response payload
+schema.version.related.link.start={{ .Values.global.config.schema.version.related.link }}
+
+# Specifies from which version should the client see only the uri excluding host info
+# Before this version server base will also be included
+schema.version.app.root.start={{ .Values.global.config.schema.version.app.root }}
+# Specifies from which version should the namespace be changed
+schema.version.namespace.change.start={{ .Values.global.config.schema.version.namespace.change }}
+# Specifies from which version should the client start seeing the edge label in payload
+schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.label }}
+# Specifies the version that the application should default to
+schema.version.api.default={{ .Values.global.config.schema.version.api.default }}
+
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-cached.properties
new file mode 100644 (file)
index 0000000..6a28dee
--- /dev/null
@@ -0,0 +1,99 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+query.fast-property=true
+query.smart-limit=false
+
+{{ if .Values.global.config.cluster.cassandra.dynamic }}
+
+{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
+{{- $global := . }}
+
+storage.backend=cassandra
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
+
+storage.cassandra.keyspace=aaigraph
+
+storage.cassandra.read-consistency-level=LOCAL_QUORUM
+storage.cassandra.write-consistency-level=LOCAL_QUORUM
+storage.cassandra.replication-factor=3
+storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
+
+{{ else }}
+
+{{ if .Values.global.config.storage }}
+
+storage.backend={{ .Values.global.config.storage.backend }}
+
+{{ if eq .Values.global.config.storage.backend "cassandra" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
+storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
+storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
+storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
+storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "cql" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cql.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
+
+storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
+storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
+storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "hbase" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.hbase.table={{ .Values.global.config.storage.name }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ end }}
+
+{{ end }}
+
+{{ end }}
+
+storage.lock.wait-time=300
+#caching on
+cache.db-cache = true
+cache.db-cache-clean-wait = 20
+cache.db-cache-time = 180000
+cache.db-cache-size = 0.3
+
+#load graphson file on startup
+load.snapshot.file=false
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/janusgraph-realtime.properties
new file mode 100644 (file)
index 0000000..7832d1a
--- /dev/null
@@ -0,0 +1,93 @@
+#
+# ============LICENSE_START=======================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+query.fast-property=true
+query.smart-limit=false
+
+{{ if .Values.global.config.cluster.cassandra.dynamic }}
+
+{{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
+{{- $global := . }}
+
+storage.backend=cassandra
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
+
+storage.cassandra.keyspace=aaigraph
+
+storage.cassandra.read-consistency-level=LOCAL_QUORUM
+storage.cassandra.write-consistency-level=LOCAL_QUORUM
+storage.cassandra.replication-factor=3
+storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
+
+{{ else }}
+
+{{ if .Values.global.config.storage }}
+
+storage.backend={{ .Values.global.config.storage.backend }}
+
+{{ if eq .Values.global.config.storage.backend "cassandra" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
+storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
+storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
+storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
+storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "cql" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cql.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
+
+storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
+storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
+storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "hbase" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.hbase.table={{ .Values.global.config.storage.name }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ end }}
+
+{{ end }}
+
+{{ end }}
+
+storage.lock.wait-time=300
+# Setting db-cache to false ensure the fastest propagation of changes across servers
+cache.db-cache = false
+#load graphson file on startup
+load.snapshot.file=false
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/localhost-access-logback.xml b/kubernetes/aai/charts/aai-graphadmin/resources/config/localhost-access-logback.xml
new file mode 100644 (file)
index 0000000..95d4123
--- /dev/null
@@ -0,0 +1,60 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+
+-->
+<configuration>
+       <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+       <appender name="ACCESS"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${AJSC_HOME}/logs/ajsc-jetty/localhost_access.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.CustomLogPatternLayoutEncoder">
+                       <Pattern>%a %u %z [%t] "%m %U%q" %s %b %y %i{X-TransactionId} %i{X-FromAppId} %i{X-Forwarded-For} %i{X-AAI-SSL-Client-CN} %i{X-AAI-SSL-Client-OU} %i{X-AAI-SSL-Client-O} %i{X-AAI-SSL-Client-L} %i{X-AAI-SSL-Client-ST} %i{X-AAI-SSL-Client-C} %i{X-AAI-SSL-Client-NotBefore} %i{X-AAI-SSL-Client-NotAfter} %i{X-AAI-SSL-Client-DN} %D</Pattern>
+               </encoder>
+       </appender>
+       <appender-ref ref="ACCESS" />
+</configuration>
+
+<!-- 
+%a - Remote IP address
+%A - Local IP address
+%b - Bytes sent, excluding HTTP headers, or '-' if no bytes were sent
+%B - Bytes sent, excluding HTTP headers
+%h - Remote host name
+%H - Request protocol
+%l - Remote logical username from identd (always returns '-')
+%m - Request method
+%p - Local port
+%q - Query string (prepended with a '?' if it exists, otherwise an empty string
+%r - First line of the request
+%s - HTTP status code of the response
+%S - User session ID
+%t - Date and time, in Common Log Format format
+%u - Remote user that was authenticated
+%U - Requested URL path
+%v - Local server name
+%I - current request thread name (can compare later with stacktraces)
+
+%z - Custom pattern that parses the cert for the subject
+%y - Custom pattern determines rest or dme2
+ -->
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/logback.xml b/kubernetes/aai/charts/aai-graphadmin/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..787fc64
--- /dev/null
@@ -0,0 +1,708 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright 2018 AT&T Intellectual Property. All rights reserved.
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+
+-->
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+       <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+
+       <property resource="application.properties" />
+
+       <property name="namespace" value="graph-admin"/>
+
+       <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+       
+       <property name="logDirectory" value="${AJSC_HOME}/logs" />
+       <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+       <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+       <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+       <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+       <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%ecompStatusCode|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+       
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+               <encoder>
+                       <pattern>
+                               %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+                       </pattern>
+               </encoder>
+       </appender>
+
+       <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/rest/sane.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+                       </pattern>
+               </encoder>
+       </appender>
+
+       <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <includeCallerData>true</includeCallerData>
+               <appender-ref ref="SANE" />
+       </appender>
+
+       <appender name="METRIC"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <file>${logDirectory}/rest/metrics.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <includeCallerData>true</includeCallerData>
+               <appender-ref ref="METRIC" />
+       </appender>
+
+       <appender name="DEBUG"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <file>${logDirectory}/rest/debug.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <includeCallerData>true</includeCallerData>
+               <appender-ref ref="DEBUG" />
+       </appender>
+
+       <appender name="ERROR"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <file>${logDirectory}/rest/error.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${"eelfErrorLogPattern"}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <includeCallerData>true</includeCallerData>
+               <appender-ref ref="ERROR" />
+       </appender>
+
+       <appender name="AUDIT"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/rest/audit.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfAuditLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <includeCallerData>true</includeCallerData>
+               <appender-ref ref="AUDIT" />
+       </appender>
+
+       <appender name="translog"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <file>${logDirectory}/rest/translog.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfTransLogPattern}</pattern>
+               </encoder>
+       </appender>
+       
+       <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <includeCallerData>true</includeCallerData>
+               <appender-ref ref="translog" />
+       </appender>
+
+       <appender name="dmaapAAIEventConsumer"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${"eelfErrorLogPattern"}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dmaapAAIEventConsumerDebug"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <appender name="dmaapAAIEventConsumerMetric"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <appender name="external"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <file>${logDirectory}/external/external.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+                       </fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+       
+       <!-- DataGrooming logs started -->
+       <appender name="dataGrooming" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <File>${logDirectory}/dataGrooming/error.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataGrooming/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfErrorLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataGroomingdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dataGrooming/debug.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataGrooming/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataGroomingmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dataGrooming/metrics.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataGrooming/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       
+       <!-- DataGrooming logs ended -->
+       
+       <!-- DataSnapshot logs started -->
+       <appender name="dataSnapshot" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <File>${logDirectory}/dataSnapshot/error.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataSnapshot/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfErrorLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataSnapshotdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dataSnapshot/debug.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataSnapshot/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataSnapshotmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dataSnapshot/metrics.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataSnapshot/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       
+       <!-- DataSnapshot logs ended -->
+       
+       <!-- CreateDBSchema logs started  -->
+       <appender name="createDBSchema" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <File>${logDirectory}/createDBSchema/error.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/createDBSchema/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${"eelfErrorLogPattern"}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="createDBSchemadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/createDBSchema/debug.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/createDBSchema/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="createDBSchemametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/createDBSchema/metrics.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/createDBSchema/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <!-- CreateDBSchema logs ended  -->     
+       
+       <!-- DataCleanupTasks logs started  -->
+       <appender name="dataCleanuperror" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <File>${logDirectory}/misc/error.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/misc/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${"eelfErrorLogPattern"}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataCleanupdebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/misc/debug.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/misc/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataCleanupmetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/misc/metrics.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/misc/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <!-- DataCleanupTasks logs ended  -->   
+                       
+       <!-- pullInvData logs started -->
+       <appender name="pullInvData" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <File>${logDirectory}/pullInvData/error.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/pullInvData/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${"eelfErrorLogPattern"}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="pullInvDatadebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/pullInvData/debug.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/pullInvData/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="pullInvDatametric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/pullInvData/metrics.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/pullInvData/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       <!-- pullInvData logs ended -->
+                               <!-- DataGrooming logs started -->
+       <appender name="dataExportError" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+               </filter>
+               <File>${logDirectory}/dataExport/error.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataExport/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfErrorLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataExportDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dataExport/debug.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataExport/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfLogPattern}</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="dataExportMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <File>${logDirectory}/dataExport/metrics.log</File>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/dataExport/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder class="org.onap.aai.logging.EcompEncoder">
+                       <pattern>${eelfMetricLogPattern}</pattern>
+               </encoder>
+       </appender>
+       
+       <logger name="org.onap.aai" level="DEBUG" additivity="false">
+               <appender-ref ref="asyncDEBUG" />
+               <appender-ref ref="asyncERROR" />
+               <appender-ref ref="asyncMETRIC" />
+               <appender-ref ref="asyncSANE" />
+       </logger>
+
+       <!-- Spring related loggers -->
+       <logger name="org.springframework" level="WARN" />
+       <logger name="org.springframework.beans" level="WARN" />
+       <logger name="org.springframework.web" level="WARN" />
+       <logger name="com.blog.spring.jms" level="WARN" />
+       <logger name="com.jayway.jsonpath" level="WARN" />
+
+       <!-- AJSC Services (bootstrap services) -->
+       <logger name="ajsc" level="WARN" />
+       <logger name="ajsc.RouteMgmtService" level="WARN" />
+       <logger name="ajsc.ComputeService" level="WARN" />
+       <logger name="ajsc.VandelayService" level="WARN" />
+       <logger name="ajsc.FilePersistenceService" level="WARN" />
+       <logger name="ajsc.UserDefinedJarService" level="WARN" />
+       <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+       <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+
+       <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet 
+               logging) -->
+       <logger name="org.codehaus.groovy" level="WARN" />
+       <logger name="com.att.scamper" level="WARN" />
+       <logger name="ajsc.utils" level="WARN" />
+       <logger name="ajsc.utils.DME2Helper" level="WARN" />
+       <logger name="ajsc.filters" level="WARN" />
+       <logger name="ajsc.beans.interceptors" level="WARN" />
+       <logger name="ajsc.restlet" level="WARN" />
+       <logger name="ajsc.servlet" level="WARN" />
+       <logger name="com.att.ajsc" level="WARN" />
+       <logger name="com.att.ajsc.csi.logging" level="WARN" />
+       <logger name="com.att.ajsc.filemonitor" level="WARN" />
+       <logger name="com.netflix.loadbalancer" level="WARN" />
+
+       <logger name="org.apache.zookeeper" level="WARN" />
+
+       <!-- Other Loggers that may help troubleshoot -->
+       <logger name="net.sf" level="WARN" />
+       <logger name="org.apache.commons.httpclient" level="WARN" />
+       <logger name="org.apache.commons" level="WARN" />
+       <logger name="org.apache.coyote" level="WARN" />
+       <logger name="org.apache.jasper" level="WARN" />
+
+       <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
+               May aid in troubleshooting) -->
+       <logger name="org.apache.camel" level="WARN" />
+       <logger name="org.apache.cxf" level="WARN" />
+       <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.service" level="WARN" />
+       <logger name="org.restlet" level="WARN" />
+       <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+       <logger name="org.hibernate.validator" level="WARN" />
+       <logger name="org.hibernate" level="WARN" />
+       <logger name="org.hibernate.ejb" level="OFF" />
+
+       <!-- logback internals logging -->
+       <logger name="ch.qos.logback.classic" level="WARN" />
+       <logger name="ch.qos.logback.core" level="WARN" />
+
+       <logger name="org.eclipse.jetty" level="WARN" />
+
+       <!-- logback jms appenders & loggers definition starts here -->
+       <appender name="auditLogs"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+               <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
+               </file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+                       </fileNamePattern>
+                       <minIndex>1</minIndex>
+                       <maxIndex>9</maxIndex>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>5MB</maxFileSize>
+               </triggeringPolicy>
+               <encoder>
+                       <pattern>eelfAuditLogPattern</pattern>
+               </encoder>
+       </appender>
+       <appender name="perfLogs"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+               <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
+               </file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+                       </fileNamePattern>
+                       <minIndex>1</minIndex>
+                       <maxIndex>9</maxIndex>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>5MB</maxFileSize>
+               </triggeringPolicy>
+               <encoder>
+                       <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+               </encoder>
+       </appender>
+       <logger name="AuditRecord" level="INFO" additivity="false">
+               <appender-ref ref="auditLogs" />
+       </logger>
+       <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
+               <appender-ref ref="auditLogs" />
+       </logger>
+       <logger name="PerfTrackerRecord" level="INFO" additivity="false">
+               <appender-ref ref="perfLogs" />
+       </logger>
+       <!-- logback jms appenders & loggers definition ends here -->
+
+       <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+                       additivity="false">
+               <appender-ref ref="asynctranslog" />
+       </logger>
+
+       <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+               <appender-ref ref="asyncAUDIT"/>
+       </logger>
+
+       <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+               <appender-ref ref="asyncAUDIT"/>
+       </logger>
+
+       <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+               <appender-ref ref="dmaapAAIEventConsumer" />
+               <appender-ref ref="dmaapAAIEventConsumerDebug" />
+               <appender-ref ref="dmaapAAIEventConsumerMetric" />
+       </logger>
+
+       <logger name="org.onap.aai.datasnapshot" level="DEBUG" additivity="false">
+               <appender-ref ref="dataSnapshot"/>
+               <appender-ref ref="dataSnapshotdebug"/>
+               <appender-ref ref="dataSnapshotmetric"/>
+               <appender-ref ref="STDOUT"/>
+       </logger>
+
+       <logger name="org.onap.aai.datagrooming" level="DEBUG" additivity="false">
+               <appender-ref ref="dataGrooming"/>
+               <appender-ref ref="dataGroomingdebug"/>
+               <appender-ref ref="dataGroomingmetric"/>
+               <appender-ref ref="STDOUT"/>
+       </logger>
+
+       <logger name="org.onap.aai.schema" level="DEBUG" additivity="false">
+               <appender-ref ref="createDBSchema"/>
+               <appender-ref ref="createDBSchemadebug"/>
+               <appender-ref ref="createDBSchemametric"/>
+       </logger>
+
+       <logger name="org.onap.aai.dbgen" level="DEBUG" additivity="false">
+               <appender-ref ref="createDBSchema"/>
+               <appender-ref ref="createDBSchemadebug"/>
+               <appender-ref ref="createDBSchemametric"/>
+       </logger>
+
+       <logger name="org.onap.aai.dbgen.PullInvData" level="DEBUG" additivity="false">
+               <appender-ref ref="pullInvData"/>
+               <appender-ref ref="pullInvDatadebug"/>
+               <appender-ref ref="pullInvDatametric"/>
+       </logger>
+       
+       <logger name="org.onap.aai.datacleanup" level="INFO" additivity="false">
+       <appender-ref ref="dataCleanuperror" />
+       <appender-ref ref="dataCleanupdebug" />
+       <appender-ref ref="dataCleanupmetric" />
+       <appender-ref ref="STDOUT"/>
+       </logger>
+       <logger name="org.onap.aai.dataexport" level="DEBUG" additivity="false">
+               <appender-ref ref="dataExportError"/>
+               <appender-ref ref="dataExportDebug"/>
+               <appender-ref ref="dataExportMetric"/>
+               <appender-ref ref="STDOUT"/>
+       </logger>
+       <logger name="org.apache" level="WARN" />
+       <logger name="org.zookeeper" level="WARN" />
+       <logger name="com.netflix" level="WARN" />
+       <logger name="org.janusgraph" level="WARN" />
+       <logger name="com.att.aft.dme2" level="WARN" />
+
+       <!-- ============================================================================ -->
+       <!-- General EELF logger -->
+       <!-- ============================================================================ -->
+       <logger name="com.att.eelf" level="WARN" additivity="false">
+               <appender-ref ref="asyncDEBUG" />
+               <appender-ref ref="asyncERROR" />
+               <appender-ref ref="asyncMETRIC" />
+       </logger>
+
+       <root level="DEBUG">
+               <appender-ref ref="external" />
+               {{ if .Values.global.config.logback.console.enabled }}
+               <appender-ref ref="STDOUT" />
+               {{ end }}
+       </root>
+</configuration>
diff --git a/kubernetes/aai/charts/aai-graphadmin/resources/config/realm.properties b/kubernetes/aai/charts/aai-graphadmin/resources/config/realm.properties
new file mode 100644 (file)
index 0000000..f401b8a
--- /dev/null
@@ -0,0 +1,32 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+# format : username: password[,rolename ...]
+# default username/password: AAI/AAI, MSO/MSO, ModelLoader/ModelLoader...
+AAI:OBF:1gfr1ev31gg7,admin
+MSO:OBF:1jzx1lz31k01,admin
+SDNC:OBF:1itr1i0l1i151isv,admin
+DCAE:OBF:1g8u1f9d1f991g8w,admin
+POLICY:OBF:1mk61i171ima1im41i0j1mko,admin
+ASDC:OBF:1f991j0u1j001f9d,admin
+VID:OBF:1jm91i0v1jl9,admin
+APPC:OBF:1f991ksf1ksf1f9d,admin
+ModelLoader:OBF:1qvu1v2h1sov1sar1wfw1j7j1wg21saj1sov1v1x1qxw,admin
+AaiUI:OBF:1gfr1p571unz1p4j1gg7,admin
+OOF:OBF:1img1ke71ily,admin
diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/configmap.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..1fe9e5c
--- /dev/null
@@ -0,0 +1,74 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/localhost-access-logback.xml").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-real-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-realtime.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-db-cached-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/janusgraph-cached.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaiconfig-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aaiconfig.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-springapp-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-realm-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..9b0ec63
--- /dev/null
@@ -0,0 +1,191 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+      annotations:
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+    spec:
+      hostname: aai-graphadmin
+    {{ if .Values.global.initContainers.enabled }}
+      initContainers:
+      - command:
+      {{  if .Values.global.jobs.createSchema.enabled  }}
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-aai-graphadmin-create-db-schema
+      {{  else }}
+        - /root/ready.py
+        args:
+        - --container-name
+        - aai-cassandra
+      {{  end  }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      {{  end  }}
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: LOCAL_USER_ID
+          value: {{ .Values.config.userId | quote }}
+        - name: LOCAL_GROUP_ID
+          value: {{ .Values.config.groupId | quote }}
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-realtime.properties
+          name: {{ include "common.fullname" . }}-db-real-conf
+          subPath: janusgraph-realtime.properties
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-cached.properties
+          name: {{ include "common.fullname" . }}-db-cached-conf
+          subPath: janusgraph-cached.properties
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/aaiconfig.properties
+          name: {{ include "common.fullname" . }}-aaiconfig-conf
+          subPath: aaiconfig.properties
+        - mountPath: /opt/aai/logroot/AAI-RES
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-graphadmin/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
+          subPath: logback.xml
+        - mountPath: /opt/app/aai-graphadmin/resources/localhost-access-logback.xml
+          name: {{ include "common.fullname" . }}-localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-graphadmin/resources/application.properties
+          name: {{ include "common.fullname" . }}-springapp-conf
+          subPath: application.properties
+          {{ $global := . }}
+          {{ range $job := .Values.global.config.auth.files }}
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/auth/{{ . }}
+          name: {{ include "common.fullname" $global }}-auth-truststore-sec
+          subPath: {{ . }}
+          {{ end }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        - containerPort: {{ .Values.service.internalPort2 }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{ if .Values.liveness.enabled }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end }}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        resources:
+{{ toYaml .Values.resources | indent 10 }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
+
+      # side car containers
+      - name: filebeat-onap
+        image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - mountPath: /usr/share/filebeat/filebeat.yml
+          subPath: filebeat.yml
+          name: filebeat-conf
+        - mountPath: /var/log/onap
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /usr/share/filebeat/data
+          name: {{ include "common.fullname" . }}-filebeat
+
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: filebeat-conf
+        configMap:
+          name: aai-filebeat
+      - name: {{ include "common.fullname" . }}-logs
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: {{ include "common.fullname" . }}-db-real-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-real-configmap
+      - name: {{ include "common.fullname" . }}-db-cached-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-cached-configmap
+      - name: {{ include "common.fullname" . }}-aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: {{ include "common.fullname" . }}-realm-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: {{ include "common.fullname" . }}-auth-truststore-sec
+        secret:
+         secretName: aai-auth-truststore-secret
+         items:
+          {{ range $job := .Values.global.config.auth.files }}
+           - key: {{ . }}
+             path: {{ . }}
+          {{ end }}
+      restartPolicy: {{ .Values.restartPolicy }}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/job.yaml
new file mode 100644 (file)
index 0000000..0a8ed5c
--- /dev/null
@@ -0,0 +1,166 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+# In ONAP, the following job will always be run on each installation
+# The following job will go through the latest oxm and
+# create properties based on the data type defined in the oxm
+# and create the required indexes for the appropriate properties
+# This can be run multiple times as the code if the index or property already exists
+# then the index or property won't be created again
+# NOTE - During the execution of the createSchema job, there should
+# be no other janusgraph connection to the graph as its the reason
+# that resources traversal and graphadmin wait until this job is done
+# If you are using an existing cassandra cluster not coming from oom
+# then it is your job to ensure that there are no connections to the database
+
+{{ if .Values.global.jobs.createSchema.enabled }}
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-create-db-schema
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-job
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  backoffLimit: 20
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-job
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+      annotations:
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - aai-cassandra
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - /bin/bash
+        - docker-entrypoint.sh
+        - createDBSchema.sh
+        env:
+        - name: LOCAL_USER_ID
+          value: {{ .Values.global.config.userId | quote }}
+        - name: LOCAL_GROUP_ID
+          value: {{ .Values.global.config.groupId | quote }}
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-realtime.properties
+          name: {{ include "common.fullname" . }}-db-real-conf
+          subPath: janusgraph-realtime.properties
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-cached.properties
+          name: {{ include "common.fullname" . }}-db-cached-conf
+          subPath: janusgraph-cached.properties
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/aaiconfig.properties
+          name: {{ include "common.fullname" . }}-aaiconfig-conf
+          subPath: aaiconfig.properties
+        - mountPath: /opt/aai/logroot/AAI-RES
+          name: {{ include "common.fullname" . }}-logs
+        - mountPath: /opt/app/aai-graphadmin/resources/logback.xml
+          name: {{ include "common.fullname" . }}-log-conf
+          subPath: logback.xml
+        - mountPath: /opt/app/aai-graphadmin/resources/localhost-access-logback.xml
+          name: {{ include "common.fullname" . }}-localhost-access-log-conf
+          subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-graphadmin/resources/application.properties
+          name: {{ include "common.fullname" . }}-springapp-conf
+          subPath: application.properties
+          {{ $global := . }}
+          {{ range $job := .Values.global.config.auth.files }}
+        - mountPath: /opt/app/aai-graphadmin/resources/etc/auth/{{ . }}
+          name: {{ include "common.fullname" $global }}-auth-truststore-sec
+          subPath: {{ . }}
+          {{ end }}
+        resources:
+{{ toYaml .Values.resources | indent 10 }}
+      {{- if .Values.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 8 }}
+      {{- end -}}
+      {{- if .Values.affinity }}
+      affinity:
+{{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: filebeat-conf
+        configMap:
+          name: aai-filebeat
+      - name: {{ include "common.fullname" . }}-logs
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-filebeat
+        emptyDir: {}
+      - name: {{ include "common.fullname" . }}-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-log
+      - name: {{ include "common.fullname" . }}-localhost-access-log-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-localhost-access-log-configmap
+      - name: {{ include "common.fullname" . }}-db-real-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-real-configmap
+      - name: {{ include "common.fullname" . }}-db-cached-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-db-cached-configmap
+      - name: {{ include "common.fullname" . }}-aaiconfig-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-springapp-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-springapp-configmap
+      - name: {{ include "common.fullname" . }}-realm-conf
+        configMap:
+         name: {{ include "common.fullname" . }}-realm-configmap
+      - name: {{ include "common.fullname" . }}-auth-truststore-sec
+        secret:
+         secretName: aai-auth-truststore-secret
+         items:
+          {{ range $job := .Values.global.config.auth.files }}
+           - key: {{ . }}
+             path: {{ . }}
+          {{ end }}
+      restartPolicy: Never
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+{{ end }}
diff --git a/kubernetes/aai/charts/aai-graphadmin/templates/service.yaml b/kubernetes/aai/charts/aai-graphadmin/templates/service.yaml
new file mode 100644 (file)
index 0000000..f4d9ba5
--- /dev/null
@@ -0,0 +1,49 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+  {{if eq .Values.service.type "NodePort" -}}
+  - port: {{ .Values.service.internalPort }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+    name: {{ .Values.service.portName }}
+  - port: {{ .Values.service.internalPort2 }}
+    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+    name: {{ .Values.service.portName2 }}
+  {{- else -}}
+  - port: {{ .Values.service.internalPort }}
+    name: {{ .Values.service.portName }}
+  - port: {{ .Values.service.internalPort2 }}
+    name: {{ .Values.service.portName2 }}
+  {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+  clusterIP: None
diff --git a/kubernetes/aai/charts/aai-graphadmin/values.yaml b/kubernetes/aai/charts/aai-graphadmin/values.yaml
new file mode 100644 (file)
index 0000000..6b7997f
--- /dev/null
@@ -0,0 +1,127 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+# Default values for resources.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+global: # global defaults
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/aai-graphadmin:1.0-STAGING-latest
+pullPolicy: Always
+restartPolicy: Always
+
+# default number of instances
+replicaCount: 1
+
+# Configuration for the graphadmin deployment
+config:
+
+  # Specifies the timeout limit for the REST API requests
+  timeout:
+    enabled: true
+    limit: 180000
+
+  # Default maximum records to fix for the data grooming and dupeTool
+  maxFix: 
+    dataGrooming: 150
+    dupeTool: 25
+    
+  # Default number of sleep minutes for dataGrooming and dupeTool
+  sleepMinutes:
+    dataGrooming: 7
+    dupeTool: 7
+
+  # Cron specific attributes to be triggered for the graphadmin spring cron tasks
+  cron:
+    # Specifies that the data grooming tool which runs duplicates should be enabled
+    dataGrooming:
+      enabled: true
+    # Specifies that the data snapshot which takes a graphson snapshot should be enabled
+    dataSnapshot:
+      enabled: true
+      params: JUST_TAKE_SNAPSHOT
+
+    # Data cleanup which zips snapshots older than x days and deletes older than y days
+    dataCleanup:
+
+      dataGrooming:
+        enabled: true
+        # Zips up the dataGrooming files older than 5 days
+        ageZip: 5
+        # Deletes the dataGrooming files older than 30 days
+        ageDelete: 30
+
+      dataSnapshot:
+        enabled: true
+        # Zips up the dataSnapshot graphson files older than 5 days
+        ageZip: 5
+        # Deletes the dataSnapshot graphson files older than 30 days
+        ageDelete: 30
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 60
+  periodSeconds: 60
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: false
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  # REST API port for the graphadmin microservice
+  portName: aai-graphadmin-8449
+  internalPort: 8449
+  portName2: aai-graphadmin-5005
+  internalPort2: 5005
+
+ingress:
+  enabled: false
+
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+#resources:
+#  limits:
+#    cpu: 2
+#    memory: 4Gi
+#  requests:
+#    cpu: 2
+#    memory: 4Gi
diff --git a/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore
new file mode 100644 (file)
index 0000000..9eec841
Binary files /dev/null and b/kubernetes/aai/charts/aai-modelloader/resources/config/auth/tomcat_keystore differ
index 746bdb4..246e528 100644 (file)
@@ -42,3 +42,5 @@ ml.babel.BASE_URL=https://aai-babel.{{.Release.Namespace}}:9516
 ml.babel.GENERATE_ARTIFACTS_URL=/services/babel-service/v1/app/generateArtifacts
 ml.babel.KEYSTORE_FILE=babel-client-cert.p12
 ml.babel.KEYSTORE_PASSWORD=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+ml.babel.TRUSTSTORE_FILE=tomcat_keystore
+ml.babel.TRUSTSTORE_PASSWORD=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
index c980eb5..977860f 100644 (file)
@@ -21,7 +21,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/model-loader:1.2.1
+image: onap/model-loader:1.3-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaf/cadi.properties
new file mode 100644 (file)
index 0000000..c8d0b04
--- /dev/null
@@ -0,0 +1,8 @@
+
+cadi_loglevel=INFO
+cadi_prop_files=/opt/app/aai-resources/resources/aaf/org.osaaf.location.props:/opt/app/aai-resources/resources/aaf/org.onap.aai.props
+
+# OAuth2
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
+
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile
new file mode 100644 (file)
index 0000000..3416d4a
--- /dev/null
@@ -0,0 +1,27 @@
+2otP92kNFHdexroZxvgYY7ffslFiwCD3CiVYMIfUF2edqZK7972NwkvE_mbaBo6jh8lByLIqrWAf
+jyzoiVsvQ_kCa0cS1xaRLpcxv3bx1b7o3hGPBqpd6vmSG4y2JLzNlCBZWuTJz827wr8p_fWrYuUm
+4L1WoaEe8W5PRnXjl4hDqbJBAlEoRIBXugUDt_7O5wgx2Rl3HVoOczZtf0RzONZ1F0BmKf3QlAUe
+moSbARitYRgIPt5sLbT7qPyoEpGDhQ1XBowR744-wsjBc-14yO62Ajp5xWKTp15uWn3_HHuw1SAf
+GWSBRGlSlEVkXQqi9Hw5jDttKVzHX1ckwR0SQOirbtHPHplxPX3WKjKhSdSeMzw6LOAHIQYRMKBT
+74oGnULAfPtV7TaGwOKriT3P49CoPdt9On89-LGyCZSxDWKH0K-rgB6I2_hPT2Uzr3jmXiMa-sfh
+iMvyQ7ABBVx0OFsUuNb5mcU2O6dWiQreL5RerrloV_X3ZtnNjxENXKjQ5KBR1A5ISPjFFK-kf4Rb
+p6FSII8LcsiqgdWuZ4GX_C6x8HX4A-vD0x3Uc9CfoXY-k23cNIy-R-W-oB-P2OgdWDNgZ7VaOLNt
+3L-NwWpNblfYvs93cNmkbVAwCZ3r0OP7RFeuON84TRaynK_Fh2S3rypRyJcUmM1pvpZqJ5_-umSW
+hUs1OqkdLv3xjlVzzK-3nMr0q3Zcyp4XdyLYtcX5I3Xqk9ZcsyAT7ghmHhV8KjUjue7OcfAWg0m7
+RJLGq6VC8HeK4HEMa4lF677Qh7DRufghIDEmQSIDfGA790WGSA8HqcOvAL4hURCHyCWiPa5i8ksX
+xX4HyqF8PCVCLJ_ZhzcuIlc0jStAexWbJU_vcyX7XgUaHCkF-M-zv1FP6Z3DHBMD2QqSWjmyNCCk
+8sIuwzs62P_j2o9jG33kssedCrUWOwZancU107-5H0Zw-UWvtCqUfmRZ7TsEbWY7lk_SKfLfAN5q
+ncOQgU_VxDXUFDST4LN_WVECRafK3UtwWomxWSji25Lbf6NVni3ok-yLMDZR-wrE-54jLPES9j0i
+5N0xrk9CfsvGUpUZ1_XQcgaxI6m27DtCCJXb5ywenPBiUIJCMCTq88CqNZxGpju2i4BJcUH2hUHe
+GKhO8pgslwhtEVot9EDwdzSrJkWFCfb6ud4zMxrqdi7-mLWMOydg6lhpEFEX5wu2BLIujGsZlEGE
+_K9jGfBypjXuJCKDZIuPfEnf_7idjKis_JcFB7x4Hx2HHDcBjlWWFZN_VIEnPkQSyZEC26RTFP3k
+zkY3GwUfA36a4XW2pu3gE9wz-W6fkONfzOZ6YiyCm_dRFUVuGSdJG02Hh5iXYlMOGJltPzWH2jVf
+S-QTOmXQTKSOheXoJO6O-9uQbsRf-kq-6w1pvIOp4ms35w4_0Xj0Xr2a9y-L9PdBZvrUsa-jxsZU
+LyA-YY4Ej6QwDBDTD2MGjF1E5_ekYgjoNlltM9rJjofruM4ym0n7LPHC7YXXQSEFOZYeTKi6wUDw
+hQ1DoWHgu4PQ2lexada8sxQdConbPe2iW16h-PrO5D12E4XbT00fqaMlBmjQwzdNRdCC2NRPIQ5W
+nwaO8dZ9yjxsjT7ZVHb9-DRblb3XDocponzxVXqUGtJAie4WXQnerX0ApTWGaHEr5y56JJVS_3LP
+bKrbXBXcs4jTUX4ECXRrOs8JQDQNysXhvTPCu0XUxNZpjx6KLxDs93k2OcESHjl5J6n6OKKJqqoN
+JEyFO5LGXpnmUJbn0-CaHHPRI1mHwEu4brY8wDZd9A0PD1KGXDoCHMfEk1lGblQdyOcVrXZ6uSBk
+Z6zHDnwSCHO1mPYqtelJQehZoFuPSv9PIgKLxs_qJOtZFnXII5YO1mGXgiIBWBjUFDR5HG4ENS6y
+J4MCF-JLMp-PVMAkOaCIQRRDpRnMm_fT1sc_P562Diu_pcdt-r55pMFQYGoGfjRmxQBKk0-SsdnP
+mlZIiis9DfQEN0q3QQdNRYBJD7tmhUwhAPZdLgXqJA8sZf8UyFQhhpsky79NT343YL9smUlF
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12
new file mode 100644 (file)
index 0000000..023e2ea
Binary files /dev/null and b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 differ
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props
new file mode 100644 (file)
index 0000000..906f170
--- /dev/null
@@ -0,0 +1,13 @@
+############################################################
+# Properties Generated by AT&T Certificate Manager
+# @copyright 2016, AT&T
+############################################################
+cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US
+cadi_keyfile=/opt/app/aai-resources/resources/aaf/org.onap.aai.keyfile
+cadi_keystore=/opt/app/aai-resources/resources/aaf/org.onap.aai.p12
+cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5INQjrea7GTV
+#cadi_key_password=enc:<KEY PASSWORD (optional if the same as KEYSTORE PASSWORD)>
+cadi_alias=aai@aai.onap.org
+cadi_truststore=/opt/app/aai-resources/resources/aaf/truststoreONAPall.jks
+cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2
+cadi_loglevel=INFO
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.osaaf.location.props b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.osaaf.location.props
new file mode 100644 (file)
index 0000000..77c3d53
--- /dev/null
@@ -0,0 +1,24 @@
+##
+## org.osaaf.location.props
+##
+## Localized Machine Information
+##
+# Almeda California ?
+cadi_latitude=37.78187
+cadi_longitude=-122.26147
+
+# Locate URL (which AAF Env)
+aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095
+
+
+# AAF URL
+aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0
+
+# AAF Environment Designation
+aaf_env=DEV
+
+# OAuth2 Endpoints
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
+
+
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/permissions.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaf/permissions.properties
new file mode 100644 (file)
index 0000000..4234121
--- /dev/null
@@ -0,0 +1,2 @@
+permission.type=org.onap.aai.resources
+permission.instance=*
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks b/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks
new file mode 100644 (file)
index 0000000..2da1dcc
Binary files /dev/null and b/kubernetes/aai/charts/aai-resources/resources/config/aaf/truststoreONAPall.jks differ
index d0e322d..4b5ab07 100644 (file)
@@ -35,51 +35,33 @@ aai.config.checktime=1000
 # this could come from siteconfig.pl?
 aai.config.nodename=AutomaticallyOverwritten
 
-
-
-aai.auth.cspcookies_on=false
-aai.dbmodel.filename=ex5.json
-
 aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/
-aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/v11/
+aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/{{ .Values.global.config.schema.version.api.default }}/
 aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/
 
+{{ if .Values.global.config.basic.auth.enabled }}
 aai.tools.enableBasicAuth=true
-aai.tools.username=AAI
-aai.tools.password=AAI
+aai.tools.username={{ .Values.global.config.basic.auth.username }}
+aai.tools.password={{ .Values.global.config.basic.auth.passwd }}
+{{ end }}
 
-aai.truststore.filename=aai_keystore
-aai.truststore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
-aai.keystore.filename=aai_keystore
-aai.keystore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+aai.truststore.filename={{ .Values.global.config.truststore.filename }}
+aai.truststore.passwd.x={{ .Values.global.config.truststore.passwd }}
+aai.keystore.filename={{ .Values.global.config.keystore.filename }}
+aai.keystore.passwd.x={{ .Values.global.config.keystore.passwd }}
 
-
-aai.notification.current.version=v11
+aai.notification.current.version={{ .Values.global.config.schema.version.api.default }}
 aai.notificationEvent.default.status=UNPROCESSED
-aai.notificationEvent.default.eventType=AAI-EVENT
-aai.notificationEvent.default.domain=dev
+aai.notificationEvent.default.eventType={{ .Values.global.config.notification.eventType }}
+aai.notificationEvent.default.domain={{ .Values.global.config.notification.domain }}
 aai.notificationEvent.default.sourceName=aai
 aai.notificationEvent.default.sequenceNumber=0
 aai.notificationEvent.default.severity=NORMAL
-aai.notificationEvent.default.version=v11
+aai.notificationEvent.default.version={{ .Values.global.config.schema.version.api.default }}
 # This one lets us enable/disable resource-version checking on updates/deletes
 aai.resourceversion.enableflag=true
 aai.logging.maxStackTraceEntries=10
-aai.default.api.version=v11
-
-
-
-# Used by Model-processing code
-aai.model.delete.sleep.per.vtx.msec=500
-aai.model.query.resultset.maxcount=50
-aai.model.query.timeout.sec=90
-
-# Used by Data Grooming
-aai.grooming.default.max.file=150
-aai.grooming.default.sleep.minutes=7
-
-aai.model.proc.max.levels=50
-aai.edgeTag.proc.max.levels=50
+aai.default.api.version={{ .Values.global.config.schema.version.api.default }}
 
 aai.logging.trace.enabled=true
 aai.logging.trace.logrequest=false
@@ -89,19 +71,18 @@ aai.transaction.logging=true
 aai.transaction.logging.get=false
 aai.transaction.logging.post=false
 
-aai.realtime.clients=SDNC,MSO,SO,robot-ete
+aai.realtime.clients={{ .Values.global.config.realtime.clients }}
 
-#timeout for crud enabled flag
-aai.crud.timeoutenabled=true
+# Timeout for crud enabled flag
+aai.crud.timeoutenabled={{ .Values.config.crud.timeout.enabled }}
 
-#timeout app specific -1 to bypass for that app id, a whole number to override the timeout with that value (in ms)
-aai.crud.timeout.appspecific=JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAIRctFeed,-1|NewvceCreator,-1|IANewvceCreator,-1|AAI-CSIOVALS,-1
+# Timeout app specific -1 to bypass for that app id, a whole number to override the timeout with that value (in ms)
+aai.crud.timeout.appspecific={{ .Values.config.crud.timeout.appspecific }}
 
 #default timeout limit added for crud if not overridden (in ms)
-aai.crud.timeoutlimit=100000
+aai.crud.timeoutlimit={{ .Values.config.crud.timeout.limit }}
 #limit set for bulk consumer APIS
-aai.bulkconsumer.payloadlimit=30
+aai.bulkconsumer.payloadlimit={{ .Values.config.bulk.limit }}
 
 #uncomment and use header X-OverrideLimit with the value to override the bulk api limit
-#aai.bulkconsumer.payloadoverride=E6F04B93462CB5B0EDF41C05A9DDF5C3FE59748F
-aai.bulkconsumer.payloadoverride=false
+aai.bulkconsumer.payloadoverride={{ .Values.config.bulk.override }}
index b40acf1..29a6d23 100644 (file)
@@ -16,7 +16,7 @@
 info.build.artifact=aai-resources
 info.build.name=resources
 info.build.description=Resources Microservice
-info.build.version=1.2.0
+info.build.version=1.3.0
 
 spring.application.name=aai-resources
 spring.jersey.type=filter
@@ -24,7 +24,8 @@ spring.jersey.type=filter
 server.contextPath=/
 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
 
-spring.profiles.active=production,dmaap
+spring.profiles.active={{ .Values.global.config.profiles.active }}
+spring.jersey.application-path=${schema.uri.base.path}
 #The max number of active threads in this pool
 server.tomcat.max-threads=200
 #The minimum number of threads always kept alive
@@ -32,15 +33,6 @@ server.tomcat.min-Spare-Threads=25
 #The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
 server.tomcat.max-idle-time=60000
 
-
-#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
-#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
-#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
-
-#Servlet context parameters
-server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
-kubernetes.namespace={{ include "common.namespace" . }}
-
 # If you get an application startup failure that the port is already taken
 # If thats not it, please check if the key-store file path makes sense
 server.local.startpath=aai-resources/src/main/resources/
@@ -48,39 +40,43 @@ server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
 
 server.port=8447
 server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
-server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore
-server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
-server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore
-server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
+server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }}
+server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
+server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }}
+server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
 server.ssl.client-auth=want
 server.ssl.key-store-type=JKS
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
-dmaap.ribbon.eureka.enabled=false
-dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3904
-# Number of milliseconds to wait before making ping requests again
-dmaap.ribbon.ServerListRefreshInterval=75000
-dmaap.ribbon.NFLoadBalancerPingInterval=75000
-dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule
-dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl
-dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true
-dmaap.ribbon.ServerDownFailureLimit=1
-# This needs to be verified but it seems that adding this property should automatically
-# Make the dmaap client change the url from http to https depending on the server
-dmaap.ribbon.securePorts=3905
+dmaap.ribbon.listOfServers=message-router.{{.Release.Namespace}}:3905
+
+# Schema related attributes for the oxm and edges
+# Any additional schema related attributes should start with prefix schema
+schema.configuration.location=N/A
+schema.source.name={{ .Values.global.config.schema.source.name }}
+schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/
+schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/
+
+schema.ingest.file=${server.local.startpath}/application.properties
+
+# Schema Version Related Attributes
+
+schema.uri.base.path={{ .Values.global.config.schema.uri.base.path }}
+# Lists all of the versions in the schema
+schema.version.list={{ .Values.global.config.schema.version.list }}
+# Specifies from which version should the depth parameter to default to zero
+schema.version.depth.start={{ .Values.global.config.schema.version.depth }}
+# Specifies from which version should the related link be displayed in response payload
+schema.version.related.link.start={{ .Values.global.config.schema.version.related.link }}
 
-# Custom Dmaap Specific Configuration
-dmaap.ribbon.username=
-dmaap.ribbon.password=
-dmaap.ribbon.health.endpoint=/topics/AAI-EVENT
-# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing
-dmaap.ribbon.pingport.timeout=3
+# Specifies from which version should the client see only the uri excluding host info
+# Before this version server base will also be included
+schema.version.app.root.start={{ .Values.global.config.schema.version.app.root }}
+# Specifies from which version should the namespace be changed
+schema.version.namespace.change.start={{ .Values.global.config.schema.version.namespace.change }}
+# Specifies from which version should the client start seeing the edge label in payload
+schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.label }}
+# Specifies the version that the application should default to
+schema.version.api.default={{ .Values.global.config.schema.version.api.default }}
 
-niws.loadbalancer.dmaap.filterCircuitTripped=true
-niws.loadbalancer.dmaap.connectionFailureCountThreshold=3
-niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180
-#dmaap.ribbon.retryableStatusCodes=404,503
-#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2
-#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2
-#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true
index b9216bf..2c22d14 100644 (file)
@@ -23,6 +23,8 @@
 query.fast-property=true
 query.smart-limit=false
 
+{{ if .Values.global.config.cluster.cassandra.dynamic }}
+
 {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
 {{- $global := . }}
 
@@ -35,9 +37,60 @@ storage.cassandra.read-consistency-level=LOCAL_QUORUM
 storage.cassandra.write-consistency-level=LOCAL_QUORUM
 storage.cassandra.replication-factor=3
 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
-#storage.cassandra.replication-strategy-options=MTA1cass,3
 
-#schema.default=none
+{{ else }}
+
+{{ if .Values.global.config.storage }}
+
+storage.backend={{ .Values.global.config.storage.backend }}
+
+{{ if eq .Values.global.config.storage.backend "cassandra" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
+storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
+storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
+storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
+storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "cql" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cql.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
+
+storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
+storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
+storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "hbase" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.hbase.table={{ .Values.global.config.storage.name }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ end }}
+
+{{ end }}
+
+{{ end }}
+
 storage.lock.wait-time=300
 #caching on
 cache.db-cache = true
index d8f6f71..b19c9b6 100644 (file)
 query.fast-property=true
 query.smart-limit=false
 
+{{ if .Values.global.config.cluster.cassandra.dynamic }}
+
 {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
 {{- $global := . }}
 
-# the following parameters are not reloaded automatically and require a manual bounce
 storage.backend=cassandra
 storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
+
 storage.cassandra.keyspace=aaigraph
 
 storage.cassandra.read-consistency-level=LOCAL_QUORUM
 storage.cassandra.write-consistency-level=LOCAL_QUORUM
 storage.cassandra.replication-factor=3
 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
-#storage.cassandra.replication-strategy-options=MTA1cass,3
 
-#schema.default=none
+{{ else }}
+
+{{ if .Values.global.config.storage }}
+
+storage.backend={{ .Values.global.config.storage.backend }}
+
+{{ if eq .Values.global.config.storage.backend "cassandra" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
+storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
+storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
+storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
+storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "cql" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cql.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
+
+storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
+storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
+storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "hbase" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.hbase.table={{ .Values.global.config.storage.name }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ end }}
+
+{{ end }}
+
+{{ end }}
+
 storage.lock.wait-time=300
 # Setting db-cache to false ensure the fastest propagation of changes across servers
 cache.db-cache = false
-
 #load graphson file on startup
 load.snapshot.file=false
index afd4755..9a7216c 100644 (file)
-<!--\r
-    ============LICENSE_START=======================================================\r
-    org.onap.aai\r
-    ================================================================================\r
-    Copyright © 2017 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
-    you may not use this file except in compliance with the License.\r
-    You may obtain a copy of the License at\r
-       http://www.apache.org/licenses/LICENSE-2.0\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
-    ============LICENSE_END=========================================================\r
-    ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
--->\r
-<configuration scan="true" scanPeriod="60 seconds" debug="false">\r
-    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />\r
-    <property resource="application.properties" />\r
-    <property name="namespace" value="aai-resources"/>\r
-    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />\r
-    <jmxConfigurator />\r
-    <property name="logDirectory" value="${AJSC_HOME}/logs" />\r
-    <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"/>\r
-    <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"/>\r
-    <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"/>\r
-    <!--  <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"/> -->\r
-    <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"/>\r
-    <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"/>\r
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />\r
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />\r
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />\r
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
-        <encoder>\r
-            <pattern>\r
-                %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}\r
-            </pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <file>${logDirectory}/rest/sane.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder>\r
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n\r
-            </pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="SANE" />\r
-    </appender>\r
-    <appender name="METRIC"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>INFO</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <file>${logDirectory}/rest/metrics.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfMetricLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="METRIC" />\r
-    </appender>\r
-    <appender name="DEBUG"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>DEBUG</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <file>${logDirectory}/rest/debug.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="DEBUG" />\r
-    </appender>\r
-    <appender name="ERROR"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
-            <level>WARN</level>\r
-        </filter>\r
-        <file>${logDirectory}/rest/error.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfErrorLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="ERROR" />\r
-    </appender>\r
-    <appender name="AUDIT"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <file>${logDirectory}/rest/audit.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfAuditLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="AUDIT" />\r
-    </appender>\r
-    <appender name="translog"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>DEBUG</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <file>${logDirectory}/rest/translog.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfTransLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="translog" />\r
-    </appender>\r
-    <appender name="dmaapAAIEventConsumer"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
-            <level>WARN</level>\r
-        </filter>\r
-        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="dmaapAAIEventConsumerDebug"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>DEBUG</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="dmaapAAIEventConsumerMetric"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>INFO</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfMetricLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="external"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
-            <level>WARN</level>\r
-        </filter>\r
-        <file>${logDirectory}/external/external.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <logger name="org.onap.aai" level="DEBUG" additivity="false">\r
-        <appender-ref ref="asyncDEBUG" />\r
-        <appender-ref ref="asyncERROR" />\r
-        <appender-ref ref="asyncMETRIC" />\r
-        <appender-ref ref="asyncSANE" />\r
-    </logger>\r
-    <!-- Spring related loggers -->\r
-    <logger name="org.springframework" level="WARN" />\r
-    <logger name="org.springframework.beans" level="WARN" />\r
-    <logger name="org.springframework.web" level="WARN" />\r
-    <logger name="com.blog.spring.jms" level="WARN" />\r
-    <logger name="com.jayway.jsonpath" level="WARN" />\r
-    <!-- AJSC Services (bootstrap services) -->\r
-    <logger name="ajsc" level="WARN" />\r
-    <logger name="ajsc.RouteMgmtService" level="WARN" />\r
-    <logger name="ajsc.ComputeService" level="WARN" />\r
-    <logger name="ajsc.VandelayService" level="WARN" />\r
-    <logger name="ajsc.FilePersistenceService" level="WARN" />\r
-    <logger name="ajsc.UserDefinedJarService" level="WARN" />\r
-    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />\r
-    <logger name="ajsc.LoggingConfigurationService" level="WARN" />\r
-    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet\r
-        logging) -->\r
-    <logger name="org.codehaus.groovy" level="WARN" />\r
-    <logger name="com.att.scamper" level="WARN" />\r
-    <logger name="ajsc.utils" level="WARN" />\r
-    <logger name="ajsc.utils.DME2Helper" level="WARN" />\r
-    <logger name="ajsc.filters" level="WARN" />\r
-    <logger name="ajsc.beans.interceptors" level="WARN" />\r
-    <logger name="ajsc.restlet" level="WARN" />\r
-    <logger name="ajsc.servlet" level="WARN" />\r
-    <logger name="com.att.ajsc" level="WARN" />\r
-    <logger name="com.att.ajsc.csi.logging" level="WARN" />\r
-    <logger name="com.att.ajsc.filemonitor" level="WARN" />\r
-    <logger name="com.netflix.loadbalancer" level="WARN" />\r
-    <logger name="org.apache.zookeeper" level="OFF" />\r
-    <!-- Other Loggers that may help troubleshoot -->\r
-    <logger name="net.sf" level="WARN" />\r
-    <logger name="org.apache.commons.httpclient" level="WARN" />\r
-    <logger name="org.apache.commons" level="WARN" />\r
-    <logger name="org.apache.coyote" level="WARN" />\r
-    <logger name="org.apache.jasper" level="WARN" />\r
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.\r
-        May aid in troubleshooting) -->\r
-    <logger name="org.apache.camel" level="WARN" />\r
-    <logger name="org.apache.cxf" level="WARN" />\r
-    <logger name="org.apache.camel.processor.interceptor" level="WARN" />\r
-    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />\r
-    <logger name="org.apache.cxf.service" level="WARN" />\r
-    <logger name="org.restlet" level="WARN" />\r
-    <logger name="org.apache.camel.component.restlet" level="WARN" />\r
-    <logger name="org.hibernate.validator" level="WARN" />\r
-    <logger name="org.hibernate" level="WARN" />\r
-    <logger name="org.hibernate.ejb" level="OFF" />\r
-    <!-- logback internals logging -->\r
-    <logger name="ch.qos.logback.classic" level="WARN" />\r
-    <logger name="ch.qos.logback.core" level="WARN" />\r
-    <logger name="org.eclipse.jetty" level="WARN" />\r
-    <!-- logback jms appenders & loggers definition starts here -->\r
-    <appender name="auditLogs"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
-        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log\r
-        </file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip\r
-            </fileNamePattern>\r
-            <minIndex>1</minIndex>\r
-            <maxIndex>9</maxIndex>\r
-        </rollingPolicy>\r
-        <triggeringPolicy\r
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
-            <maxFileSize>5MB</maxFileSize>\r
-        </triggeringPolicy>\r
-        <encoder>\r
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="perfLogs"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
-        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log\r
-        </file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip\r
-            </fileNamePattern>\r
-            <minIndex>1</minIndex>\r
-            <maxIndex>9</maxIndex>\r
-        </rollingPolicy>\r
-        <triggeringPolicy\r
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
-            <maxFileSize>5MB</maxFileSize>\r
-        </triggeringPolicy>\r
-        <encoder>\r
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <logger name="AuditRecord" level="INFO" additivity="false">\r
-        <appender-ref ref="auditLogs" />\r
-    </logger>\r
-    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">\r
-        <appender-ref ref="auditLogs" />\r
-    </logger>\r
-    <logger name="PerfTrackerRecord" level="INFO" additivity="false">\r
-        <appender-ref ref="perfLogs" />\r
-    </logger>\r
-    <!-- logback jms appenders & loggers definition ends here -->\r
-    <logger name="org.onap.aai.interceptors.post" level="DEBUG"\r
-            additivity="false">\r
-        <appender-ref ref="asynctranslog" />\r
-    </logger>\r
-    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">\r
-        <appender-ref ref="asyncAUDIT"/>\r
-    </logger>\r
-    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">\r
-        <appender-ref ref="asyncAUDIT"/>\r
-    </logger>\r
-    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">\r
-        <appender-ref ref="dmaapAAIEventConsumer" />\r
-        <appender-ref ref="dmaapAAIEventConsumerDebug" />\r
-        <appender-ref ref="dmaapAAIEventConsumerMetric" />\r
-    </logger>\r
-    <logger name="org.apache" level="OFF" />\r
-    <logger name="org.zookeeper" level="OFF" />\r
-    <logger name="com.thinkaurelius" level="WARN" />\r
-    <logger name="com.att.aft.dme2" level="WARN" />\r
-    <!-- ============================================================================ -->\r
-    <!-- General EELF logger -->\r
-    <!-- ============================================================================ -->\r
-    <logger name="com.att.eelf" level="WARN" additivity="false">\r
-        <appender-ref ref="asyncDEBUG" />\r
-        <appender-ref ref="asyncERROR" />\r
-        <appender-ref ref="asyncMETRIC" />\r
-    </logger>\r
-    <root level="DEBUG">\r
-        <appender-ref ref="external" />\r
-    </root>\r
-</configuration>\r
+<!--
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+    Modifications Copyright © 2018 Amdocs, Bell Canada
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+       http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+    <property resource="application.properties" />
+    <property name="namespace" value="aai-resources"/>
+    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+    <jmxConfigurator />
+    <property name="logDirectory" value="${AJSC_HOME}/logs" />
+    <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>
+                %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/sane.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="SANE" />
+    </appender>
+    <appender name="METRIC"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/metrics.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="METRIC" />
+    </appender>
+    <appender name="DEBUG"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/debug.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="DEBUG" />
+    </appender>
+    <appender name="ERROR"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/rest/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfErrorLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="ERROR" />
+    </appender>
+    <appender name="AUDIT"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/audit.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfAuditLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="AUDIT" />
+    </appender>
+    <appender name="translog"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/translog.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfTransLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="translog" />
+    </appender>
+    <appender name="dmaapAAIEventConsumer"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerDebug"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerMetric"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="external"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/external/external.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <logger name="org.onap.aai" level="DEBUG" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+        <appender-ref ref="asyncSANE" />
+    </logger>
+    <!-- Spring related loggers -->
+    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework.beans" level="WARN" />
+    <logger name="org.springframework.web" level="WARN" />
+    <logger name="com.blog.spring.jms" level="WARN" />
+    <logger name="com.jayway.jsonpath" level="WARN" />
+    <!-- AJSC Services (bootstrap services) -->
+    <logger name="ajsc" level="WARN" />
+    <logger name="ajsc.RouteMgmtService" level="WARN" />
+    <logger name="ajsc.ComputeService" level="WARN" />
+    <logger name="ajsc.VandelayService" level="WARN" />
+    <logger name="ajsc.FilePersistenceService" level="WARN" />
+    <logger name="ajsc.UserDefinedJarService" level="WARN" />
+    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+    <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+        logging) -->
+    <logger name="org.codehaus.groovy" level="WARN" />
+    <logger name="com.att.scamper" level="WARN" />
+    <logger name="ajsc.utils" level="WARN" />
+    <logger name="ajsc.utils.DME2Helper" level="WARN" />
+    <logger name="ajsc.filters" level="WARN" />
+    <logger name="ajsc.beans.interceptors" level="WARN" />
+    <logger name="ajsc.restlet" level="WARN" />
+    <logger name="ajsc.servlet" level="WARN" />
+    <logger name="com.att.ajsc" level="WARN" />
+    <logger name="com.att.ajsc.csi.logging" level="WARN" />
+    <logger name="com.att.ajsc.filemonitor" level="WARN" />
+    <logger name="com.netflix.loadbalancer" level="WARN" />
+    <logger name="org.apache.zookeeper" level="OFF" />
+    <!-- Other Loggers that may help troubleshoot -->
+    <logger name="net.sf" level="WARN" />
+    <logger name="org.apache.commons.httpclient" level="WARN" />
+    <logger name="org.apache.commons" level="WARN" />
+    <logger name="org.apache.coyote" level="WARN" />
+    <logger name="org.apache.jasper" level="WARN" />
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+        May aid in troubleshooting) -->
+    <logger name="org.apache.camel" level="WARN" />
+    <logger name="org.apache.cxf" level="WARN" />
+    <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.service" level="WARN" />
+    <logger name="org.restlet" level="WARN" />
+    <logger name="org.apache.camel.component.restlet" level="WARN" />
+    <logger name="org.hibernate.validator" level="WARN" />
+    <logger name="org.hibernate" level="WARN" />
+    <logger name="org.hibernate.ejb" level="OFF" />
+    <!-- logback internals logging -->
+    <logger name="ch.qos.logback.classic" level="WARN" />
+    <logger name="ch.qos.logback.core" level="WARN" />
+    <logger name="org.eclipse.jetty" level="WARN" />
+    <!-- logback jms appenders & loggers definition starts here -->
+    <appender name="auditLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <appender name="perfLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <logger name="AuditRecord" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="PerfTrackerRecord" level="INFO" additivity="false">
+        <appender-ref ref="perfLogs" />
+    </logger>
+    <!-- logback jms appenders & loggers definition ends here -->
+    <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+            additivity="false">
+        <appender-ref ref="asynctranslog" />
+    </logger>
+    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+        <appender-ref ref="dmaapAAIEventConsumer" />
+        <appender-ref ref="dmaapAAIEventConsumerDebug" />
+        <appender-ref ref="dmaapAAIEventConsumerMetric" />
+    </logger>
+    <logger name="org.apache" level="OFF" />
+    <logger name="org.zookeeper" level="OFF" />
+    <logger name="com.thinkaurelius" level="WARN" />
+    <logger name="com.att.aft.dme2" level="WARN" />
+    <!-- ============================================================================ -->
+    <!-- General EELF logger -->
+    <!-- ============================================================================ -->
+    <logger name="com.att.eelf" level="WARN" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+    </logger>
+    <root level="DEBUG">
+        <appender-ref ref="external" />
+        {{ if .Values.global.config.logback.console.enabled }}
+        <appender-ref ref="STDOUT" />
+        {{ end }}
+    </root>
+</configuration>
index 9d89505..d1d72b9 100644 (file)
@@ -67,3 +67,26 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaf-props
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aaf/org.osaaf.location.props").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/permissions.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.props").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/cadi.properties").AsConfig . | indent 2 }}
+
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-aaf-keys
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }}
index bdaf780..7df214f 100644 (file)
@@ -418,12 +418,20 @@ spec:
           ]'
     spec:
       hostname: aai-resources
+    {{ if .Values.global.initContainers.enabled }}
       initContainers:
       - command:
+      {{  if .Values.global.jobs.createSchema.enabled  }}
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-aai-graphadmin-create-db-schema
+      {{  else }}
         - /root/ready.py
         args:
         - --container-name
         - aai-cassandra
+      {{  end  }}
         env:
         - name: NAMESPACE
           valueFrom:
@@ -433,15 +441,16 @@ spec:
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
+    {{ end }}
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: LOCAL_USER_ID
-          value: {{ .Values.config.userId | quote }}
+          value: {{ .Values.global.config.userId | quote }}
         - name: LOCAL_GROUP_ID
-          value: {{ .Values.config.groupId | quote }}
+          value: {{ .Values.global.config.groupId | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -463,12 +472,36 @@ spec:
         - mountPath: /opt/app/aai-resources/resources/localhost-access-logback.xml
           name: {{ include "common.fullname" . }}-localhost-access-log-conf
           subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.keyfile
+          name: {{ include "common.fullname" . }}-aaf-certs
+          subPath: org.onap.aai.keyfile
+        - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.props
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: org.onap.aai.props
+        - mountPath: /opt/app/aai-resources/resources/aaf/org.osaaf.location.props
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: org.osaaf.location.props
+        - mountPath: /opt/app/aai-resources/resources/aaf/permissions.properties
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: permissions.properties
+        - mountPath: /opt/app/aai-resources/resources/cadi.properties
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: cadi.properties
+        - mountPath: /opt/app/aai-resources/resources/aaf/org.onap.aai.p12
+          name: {{ include "common.fullname" . }}-aaf-certs
+          subPath: org.onap.aai.p12
+        - mountPath: /opt/app/aai-resources/resources/aaf/truststoreONAPall.jks
+          name: {{ include "common.fullname" . }}-aaf-certs
+          subPath: truststoreONAPall.jks
         - mountPath: /opt/app/aai-resources/resources/application.properties
           name: {{ include "common.fullname" . }}-springapp-conf
           subPath: application.properties
-        - mountPath: /opt/app/aai-resources/resources/etc/auth/aai_keystore
-          name: {{ include "common.fullname" . }}-auth-sec
-          subPath: aai_keystore
+          {{ $global := . }}
+          {{ range $job := .Values.global.config.auth.files }}
+        - mountPath: /opt/app/aai-resources/resources/etc/auth/{{ . }}
+          name: {{ include "common.fullname" $global }}-auth-truststore-sec
+          subPath: {{ . }}
+          {{ end }}
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
@@ -536,15 +569,26 @@ spec:
       - name: {{ include "common.fullname" . }}-aaiconfig-conf
         configMap:
          name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-aaf-properties
+        configMap:
+         name: {{ include "common.fullname" . }}-aaf-props
+      - name: {{ include "common.fullname" . }}-aaf-certs
+        secret:
+         secretName: {{ include "common.fullname" . }}-aaf-keys
       - name: {{ include "common.fullname" . }}-springapp-conf
         configMap:
          name: {{ include "common.fullname" . }}-springapp-configmap
       - name: {{ include "common.fullname" . }}-realm-conf
         configMap:
          name: {{ include "common.fullname" . }}-realm-configmap
-      - name: {{ include "common.fullname" . }}-auth-sec
+      - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-secret
+         secretName: aai-auth-truststore-secret
+         items:
+          {{ range $job := .Values.global.config.auth.files }}
+           - key: {{ . }}
+             path: {{ . }}
+          {{ end }}
       restartPolicy: {{ .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index f82bea9..d119912 100644 (file)
@@ -12,7 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
 apiVersion: v1
 kind: Service
 metadata:
index 2932a3f..943ace8 100644 (file)
@@ -20,10 +20,9 @@ global: # global defaults
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
 
-
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aai-resources:1.2.2
+image: onap/aai-resources:1.3-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
@@ -32,8 +31,26 @@ replicaCount: 1
 
 # Configuration for the resources deployment
 config:
-  userId: 1000
-  groupId: 1000
+
+  # Specifies crud related operation timeouts and overrides
+  crud:
+    timeout:
+      # Specifies if the timeout for REST GET calls should be enabled 
+      enabled: true
+      # Specifies the timeout values for application specific
+      # Its a pipe seperated list where each element before comma represents 
+      # the X-FromAppId and the comma after specifies the timeout limit in ms
+      # If the timeout limit is -1 then it means for these apps no timeout
+      appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAIRctFeed,-1|NewvceCreator,-1|IANewvceCreator,-1|AAI-CSIOVALS,-1
+      # Specifies what is the maximum timeout limit in milliseconds
+      limit: 100000
+
+  # Specifies configuration for bulk apis
+  bulk:
+    # Specifies for a bulk payload how many transactions in total allowed
+    limit: 30
+    # Specifies if the bulk can be override and if it can the value
+    override: false
 
 nodeSelector: {}
 
@@ -59,7 +76,6 @@ service:
   portName2: aai-resources-5005
   internalPort2: 5005
 
-
 ingress:
   enabled: false
 
index 93888be..b44b4ec 100644 (file)
@@ -1,20 +1,16 @@
 {
   "attr-translations": [
     {
-      "from": "\"type\":\"string\",\"index\":\"analyzed\"",
-      "to": "\"type\":\"text\",\"index\":\"true\""
+      "query": "$..[?(@.type=='string' && @.index=='analyzed')]",
+      "update": {"type": "text", "index": true, "fielddata": true}
     },
     {
-      "from": "\"type\":\"string\",\"index\":\"not_analyzed\"",
-      "to": "\"type\":\"keyword\",\"index\":\"true\""
+      "query": "$..[?(@.type=='string' && @.index=='not_analyzed')]",
+      "update": {"type": "keyword", "index": true}
     },
     {
-      "from": "\"type\":\"string\"",
-      "to": "\"type\":\"text\""
-    },
-    {
-      "from": "searchable",
-      "to": "index"
+      "query": "$..[?(@.type=='string' && !@.index)]",
+      "update": {"type": "text", "fielddata": true}
     }
   ]
 }
\ No newline at end of file
index 3f22e14..08bdbdb 100644 (file)
@@ -23,7 +23,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/search-data-service:1.2.2
+image: onap/search-data-service:1.3-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
@@ -1,20 +1,16 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T\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
-\r
-[\r
-  {\r
-    "id":1,\r
-    "name":"View"\r
-  }\r
-]\r
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+oxm.apiVersion=v14
+oxm.apiVersionList=v8,v9,v10,v11,v12,v13,v14
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-override.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-oxm-override.properties
new file mode 100644 (file)
index 0000000..5c733e8
--- /dev/null
@@ -0,0 +1,16 @@
+# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+oxm.apiVersionOverride=v14
+oxm.apiVersionList=v8,v9,v10,v11,v12,v13,v14
\ No newline at end of file
@@ -1,4 +1,3 @@
-<!--
 # Copyright © 2018 Amdocs, Bell Canada, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (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.
--->
 
-<rests xmlns="http://camel.apache.org/schema/spring">
-   <rest>
-      <get uri="/subscription/getsubscription">
-         <to uri="bean:subscriptionServiceProcessor?method=getSubscription"/>
-      </get>
-   </rest>
-</rests>
+resources.hostname=aai
+resources.port=8443
+resources.authType=SSL_BASIC
+resources.basicAuthUserName=AAI
+resources.basicAuthPassword=AAI
+resources.client-cert=client-cert-onap.p12
+resources.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+resources.trust-store=tomcat_keystore
@@ -12,6 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-server.port = 8000
+server.port=8000
 server.ssl.key-store=file:${CONFIG_HOME}/auth/tomcat_keystore
-server.ssl.key-alias=tomcat
+server.ssl.key-store-password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties b/kubernetes/aai/charts/aai-sparky-be/resources/config/application-sync.properties
new file mode 100644 (file)
index 0000000..4fb10a2
--- /dev/null
@@ -0,0 +1,6 @@
+aggregationSyncEnabled=true
+historicalEntitySyncEnabled=true
+autoSuggestSyncEnabled=true
+vnfAliasSyncEnabled=true
+geoSyncEnabled=true
+viewInspectSyncEnabled=true
\ No newline at end of file
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-camel.springboot.name = SparkyCamelContext
-#camel.springboot.xmlRoutes = file:${CONFIG_HOME}/camel-routes/*.route
-camel.springboot.xmlRests = file:${CONFIG_HOME}/camel-rests/*.xml
-
-camel.component.servlet.mapping.context-path=/rest/*
-server.servlet.context-path=/services/aai/webapp/
+#
+# disable the default thyme leaf icon on web-pages
+#
+spring.mvc.favicon.enabled=false
 
 #
-#  attempt to externalize ui JS classes + resources
+# to switch to http, remove ssl and put http
+# and in the values.yaml change the internalPort to 9517
 #
-spring.resources.static-locations=file:${APP_HOME}/static/
+
+spring.profiles.active=camel,http,fe-prod,oxm-schema-prod,oxm-default,resources,sync,portal
+
+searchservice.hostname={{.Values.global.searchData.serviceName}}
+searchservice.port=9509
+searchservice.client-cert=client-cert-onap.p12
+searchservice.client-cert-password=1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+searchservice.truststore=tomcat_keystore
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/descriptors/aaiEntityNodeDescriptors.json
deleted file mode 100644 (file)
index 8f3480e..0000000
+++ /dev/null
@@ -1,218 +0,0 @@
-{\r
-       "generalNodeClass": {\r
-               "class": "aai-entity-node general-node",\r
-               "visualElements": [{\r
-                       "type": "circle",\r
-                       "class": "outer",\r
-                       "svgAttributes": {\r
-                               "r": "16"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "circle",\r
-                       "class": "inner",\r
-                       "svgAttributes": {\r
-                               "r": "10"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-type-label",\r
-                       "displayKey": "itemType",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "33"\r
-                               }\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-value-label",\r
-                       "displayKey": "itemNameValue",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "48"\r
-                               }\r
-                       }\r
-               }]\r
-       },\r
-       "searchedNodeClass": {\r
-               "class": "aai-entity-node search-node",\r
-               "visualElements": [{\r
-                       "type": "circle",\r
-                       "class": "outer",\r
-                       "svgAttributes": {\r
-                               "r": "16"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "circle",\r
-                       "class": "inner",\r
-                       "svgAttributes": {\r
-                               "r": "10"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-type-label",\r
-                       "displayKey": "itemType",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "33"\r
-                               }\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-value-label",\r
-                       "displayKey": "itemNameValue",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "48"\r
-                               }\r
-                       }\r
-               }]\r
-       },\r
-       "selectedSearchedNodeClass": {\r
-               "class": "aai-entity-node selected-search-node",\r
-               "visualElements": [{\r
-                       "type": "circle",\r
-                       "class": "outer",\r
-                       "svgAttributes": {\r
-                               "r": "31"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "circle",\r
-                       "class": "inner",\r
-                       "svgAttributes": {\r
-                               "r": "20"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-type-label",\r
-                       "displayKey": "itemType",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "48"\r
-                               }\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-value-label",\r
-                       "displayKey": "itemNameValue",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "63"\r
-                               }\r
-                       }\r
-               },\r
-               {\r
-                       "type": "button",\r
-                       "name": "icon_ellipses",\r
-                       "class": "node-button",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "33",\r
-                                       "y": "-35"\r
-                               }\r
-                       },\r
-                       "svgAttributes": {\r
-                               "className": "node-button",\r
-                               "r": "10"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "button",\r
-                       "name": "icon_triangle_warning",\r
-                       "class": "node-button",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "46",\r
-                                       "y": "-12"\r
-                               }\r
-                       },\r
-                       "svgAttributes": {\r
-                               "className": "node-button",\r
-                               "r": "10"\r
-                       }\r
-               }]\r
-       },\r
-       "selectedNodeClass": {\r
-               "class": "aai-entity-node selected-node",\r
-               "visualElements": [{\r
-                       "type": "circle",\r
-                       "class": "outer",\r
-                       "svgAttributes": {\r
-                               "r": "31"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "circle",\r
-                       "class": "inner",\r
-                       "svgAttributes": {\r
-                               "r": "20"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-type-label",\r
-                       "displayKey": "itemType",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "48"\r
-                               }\r
-                       }\r
-               },\r
-               {\r
-                       "type": "text",\r
-                       "class": "id-value-label",\r
-                       "displayKey": "itemNameValue",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "0",\r
-                                       "y": "63"\r
-                               }\r
-                       }\r
-               },\r
-               {\r
-                       "type": "button",\r
-                       "name": "icon_ellipses",\r
-                       "class": "node-button",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "33",\r
-                                       "y": "-35"\r
-                               }\r
-                       },\r
-                       "svgAttributes": {\r
-                               "className": "node-button",\r
-                               "r": "10"\r
-                       }\r
-               },\r
-               {\r
-                       "type": "button",\r
-                       "name": "icon_triangle_warning",\r
-                       "class": "node-button",\r
-                       "shapeAttributes": {\r
-                               "offset": {\r
-                                       "x": "46",\r
-                                       "y": "-12"\r
-                               }\r
-                       },\r
-                       "svgAttributes": {\r
-                               "className": "node-button",\r
-                               "r": "10"\r
-                       }\r
-               }]\r
-       }\r
-}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_filters.json
deleted file mode 100644 (file)
index d809cd3..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-{\r
-       "filters": [\r
-       {\r
-               "filterId": "1",\r
-               "filterName": "Orchestration-Status",\r
-               "displayName": "Orchestration Status",\r
-               "dataType": "dropDown",\r
-        "multiSelect": "false",\r
-        "watermark": "Any Orchestration Status",\r
-        "optionsType": "options",\r
-               "dataSource": {\r
-                       "indexName": "aggregate_generic-vnf_index",\r
-                       "docType": "default",\r
-                       "fieldName": "orchestration-status"\r
-               }\r
-       },\r
-       {\r
-               "filterId": "2",\r
-               "filterName": "Prov-Status",\r
-               "displayName": "Provisioning Status",\r
-               "dataType": "dropDown",\r
-        "multiSelect": "false",\r
-        "watermark": "Any Provisioning Status",\r
-        "optionsType": "options",\r
-               "dataSource": {\r
-                       "indexName": "aggregate_generic-vnf_index",\r
-                       "docType": "default",\r
-                       "fieldName": "prov-status"\r
-               }\r
-       },\r
-       {\r
-               "filterId": "5",\r
-               "filterName": "Date",\r
-               "displayName": "Date",\r
-               "dataType": "date",\r
-        "multiSelect": "false",\r
-        "watermark": "Choose Date Range",\r
-        "defaultValue" : {"decode": "Today", "code": "last_0_hours"},\r
-        "optionsType": "dynamicOptions",\r
-        "optionsValues": [\r
-               {"decode": "Today", "code": "last_0_hours"},\r
-               {"decode": "Since Yesterday", "code": "last_1_days"},\r
-               {"decode": "Since Last Week", "code": "last_1_weeks"},\r
-               {"decode": "Since Last Month", "code": "last_1_months"},\r
-               {"decode": "Since Last Year", "code": "last_1_years"},\r
-               {"decode": "Custom Range", "code": "custom_range"}\r
-        ]\r
-       },\r
-    {\r
-        "filterId": "7",\r
-               "filterName": "NF-Type",\r
-               "displayName": "Network Function Type",\r
-               "dataType": "dropDown",\r
-        "multiSelect": "false",\r
-        "watermark": "Any Network Function Type",\r
-        "optionsType": "options",\r
-               "dataSource": {\r
-                       "indexName": "aggregate_generic-vnf_index",\r
-                       "docType": "default",\r
-                       "fieldName": "nf-type"\r
-               }    \r
-       },\r
-    {\r
-        "filterId": "8",\r
-               "filterName": "NF-Role",\r
-               "displayName": "Network Function Role",\r
-               "dataType": "dropDown",\r
-        "multiSelect": "false",\r
-        "watermark": "Any Network Function Role",\r
-        "optionsType": "options",\r
-               "dataSource": {\r
-                       "indexName": "aggregate_generic-vnf_index",\r
-                       "docType": "default",\r
-                       "fieldName": "nf-role"\r
-               }    \r
-       }       \r
-       \r
-  ]\r
-}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/aaiui_views.json
deleted file mode 100644 (file)
index 963c461..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{\r
-    "views": [\r
-    {\r
-        "viewName" : "vnfSearch",\r
-        "filters" : [\r
-          {\r
-             "filterId": "1"\r
-          },\r
-          {\r
-             "filterId": "2"\r
-          },\r
-          {\r
-             "filterId": "7"\r
-          },\r
-          {\r
-             "filterId": "8"\r
-          }\r
-         ]\r
-    }\r
-   ]\r
-}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/filters/subscription_object_inspector_mapping.json
deleted file mode 100644 (file)
index 10fe3c0..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{\r
-    "target": "",\r
-    "origin": "",\r
-    "messageType": "",\r
-    "topic": "",\r
-    "message": {\r
-        "applicationName": "",\r
-        "payload": {\r
-            "action": "",\r
-            "params": {\r
-                "objectName": "",\r
-                "externalClassId": ""\r
-            }\r
-        }\r
-    }\r
-}\r
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/log/logback.xml
deleted file mode 100644 (file)
index d844cd8..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<configuration scan="true" scanPeriod="3 seconds" debug="false">
-       <!--<jmxConfigurator /> -->
-       <!-- directory path for all other type logs -->
-
-       <property name="logDir" value="/var/log/onap" />
-
-       <!-- <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" 
-               | "SDNC" | "AC" -->
-       <property name="componentName" value="AAI-UI"></property>
-
-       <!-- default eelf log file names -->
-       <property name="generalLogName" value="error" />
-       <property name="metricsLogName" value="metrics" />
-       <property name="auditLogName" value="audit" />
-       <property name="debugLogName" value="debug" />
-
-       <property name="errorLogPattern"
-               value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|AAIUI|%mdc{PartnerName}|%logger|%.-5level|%msg%n" />
-       <property name="auditMetricPattern" value="%m%n" />
-
-       <property name="logDirectory" value="${logDir}/${componentName}" />
-
-
-       <!-- Example evaluator filter applied against console appender -->
-       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-               <encoder>
-                       <pattern>${errorLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <!-- ============================================================================ -->
-       <!-- EELF Appenders -->
-       <!-- ============================================================================ -->
-
-       <!-- The EELFAppender is used to record events to the general application 
-               log -->
-
-       <appender name="EELF"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDirectory}/${generalLogName}.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
-                       </fileNamePattern>
-                       <maxHistory>60</maxHistory>
-               </rollingPolicy>
-               <encoder>
-                       <pattern>${errorLogPattern}</pattern>
-               </encoder>
-       </appender>
-       <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
-               <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>INFO</level>
-               </filter>
-               <queueSize>256</queueSize>
-               <appender-ref ref="EELF" />
-       </appender>
-
-
-       <!-- EELF Audit Appender. This appender is used to record audit engine related 
-               logging events. The audit logger and appender are specializations of the 
-               EELF application root logger and appender. This can be used to segregate 
-               Policy engine events from other components, or it can be eliminated to record 
-               these events as part of the application root log. -->
-
-       <appender name="EELFAudit"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDirectory}/${auditLogName}.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
-                       </fileNamePattern>
-                       <maxHistory>60</maxHistory>
-               </rollingPolicy>
-               <encoder>
-                       <pattern>${auditMetricPattern}</pattern>
-               </encoder>
-       </appender>
-       <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>256</queueSize>
-               <appender-ref ref="EELFAudit" />
-       </appender>
-
-       <appender name="EELFMetrics"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDirectory}/${metricsLogName}.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
-                       </fileNamePattern>
-                       <maxHistory>60</maxHistory>
-               </rollingPolicy>
-               <encoder>
-                       <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
-                       <pattern>${auditMetricPattern}</pattern>
-               </encoder>
-       </appender>
-
-
-       <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>256</queueSize>
-               <appender-ref ref="EELFMetrics" />
-       </appender>
-
-       <appender name="EELFDebug"
-               class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDirectory}/${debugLogName}.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-                       <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
-                       </fileNamePattern>
-                       <maxHistory>60</maxHistory>
-               </rollingPolicy>
-               <encoder>
-                       <pattern>${errorLogPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
-               <queueSize>256</queueSize>
-               <appender-ref ref="EELFDebug" />
-               <includeCallerData>false</includeCallerData>
-       </appender>
-
-       <!-- ============================================================================ -->
-       <!-- EELF loggers -->
-       <!-- ============================================================================ -->
-       <logger name="com.att.eelf" level="info" additivity="false">
-               <appender-ref ref="asyncEELF" />
-               <appender-ref ref="asyncEELFDebug" />
-       </logger>
-
-       <logger name="com.att.eelf.audit" level="info" additivity="false">
-               <appender-ref ref="asyncEELFAudit" />
-       </logger>
-       <logger name="com.att.eelf.metrics" level="info" additivity="false">
-               <appender-ref ref="asyncEELFMetrics" />
-       </logger>
-
-       <!-- Spring related loggers -->
-       <logger name="org.springframework" level="WARN" />
-       <logger name="org.springframework.beans" level="WARN" />
-       <logger name="org.springframework.web" level="WARN" />
-       <logger name="com.blog.spring.jms" level="WARN" />
-
-       <!-- Sparky loggers -->
-       <logger name="org.onap" level="INFO" />
-
-       <!-- Other Loggers that may help troubleshoot -->
-       <logger name="net.sf" level="WARN" />
-       <logger name="org.apache.commons.httpclient" level="WARN" />
-       <logger name="org.apache.commons" level="WARN" />
-       <logger name="org.apache.coyote" level="WARN" />
-       <logger name="org.apache.jasper" level="WARN" />
-
-       <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
-               May aid in troubleshooting) -->
-       <logger name="org.apache.camel" level="WARN" />
-       <logger name="org.apache.cxf" level="WARN" />
-       <logger name="org.apache.camel.processor.interceptor" level="WARN" />
-       <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
-       <logger name="org.apache.cxf.service" level="WARN" />
-       <logger name="org.restlet" level="WARN" />
-       <logger name="org.apache.camel.component.restlet" level="WARN" />
-
-       <!-- logback internals logging -->
-       <logger name="ch.qos.logback.classic" level="WARN" />
-       <logger name="ch.qos.logback.core" level="WARN" />
-
-       <root>
-               <appender-ref ref="asyncEELF" />
-               <!-- <appender-ref ref="asyncEELFDebug" /> -->
-       </root>
-
-</configuration>
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestMappings.json
deleted file mode 100644 (file)
index 8e886cd..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-{\r
-       "properties" : {\r
-               "entity_suggest" : {\r
-               "type" : "completion",\r
-                     "payloads" : true,\r
-                         "analyzer" : "custom_analyzer",\r
-                         "preserve_position_increments": false\r
-               }\r
-       }\r
-}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/autoSuggestSettings.json
deleted file mode 100644 (file)
index 97549f0..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{\r
-        "analysis": {\r
-               "filter": {\r
-                "eng_stop": {\r
-                    "type":       "stop",\r
-                    "stopwords": "_english_"\r
-                }\r
-            },\r
-               "analyzer": {\r
-                   "custom_analyzer": {\r
-                       "type": "custom",\r
-                       "tokenizer": "standard",\r
-                       "filter": [\r
-                               "lowercase",\r
-                           "asciifolding",\r
-                           "eng_stop"\r
-                       ]\r
-                   }\r
-               }\r
-       }\r
-   }
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/dynamicMappings.json
deleted file mode 100644 (file)
index 38f4ebc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{\r
-  "dynamic_templates": [\r
-       {\r
-         "strings": {\r
-               "match_mapping_type": "string",\r
-               "match": "*",\r
-               "mapping": {\r
-                 "type": "string",\r
-                 "index": "not_analyzed"\r
-               }\r
-         }\r
-       }\r
-  ]\r
-}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/entityCountHistoryMappings.json
deleted file mode 100644 (file)
index 43dc68f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{\r
-    "properties": {\r
-        "count": {\r
-           "type": "long"\r
-        },\r
-        "entityType": {\r
-            "type": "string",\r
-            "index": "not_analyzed"\r
-        },\r
-        "timestamp": {\r
-            "type": "date",\r
-            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"\r
-        }\r
-    }\r
-}\r
-\r
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_mappings.json
deleted file mode 100644 (file)
index 39fecb5..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-{\r
-    "properties": {\r
-        "entityType": {\r
-            "type": "string",\r
-            "analyzer": "ngram_analyzer",\r
-            "search_analyzer": "ngram_analyzer"\r
-        },\r
-        "entityPrimaryKeyValue": {\r
-            "type": "string",\r
-            "index": "not_analyzed"\r
-        },\r
-        "searchTagIDs": {\r
-            "type": "string"\r
-        },\r
-        "searchTags": {\r
-            "type": "string",\r
-            "analyzer": "ngram_analyzer"\r
-        },\r
-        "crossEntityReferenceValues": {\r
-            "type": "string",\r
-            "analyzer": "ngram_analyzer"\r
-        },\r
-        "link": {\r
-            "type": "string",\r
-            "index": "not_analyzed"\r
-       },\r
-        "lastmodTimestamp": {\r
-            "type": "date",\r
-            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||yyyy-MM-dd HH:mm:ss||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"\r
-        }\r
-    }\r
-}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json b/kubernetes/aai/charts/aai-sparky-be/resources/config/schemas/es_settings.json
deleted file mode 100644 (file)
index 6e85768..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-{\r
-    "analysis": {\r
-        "filter": {\r
-            "ngram_filter": {\r
-                "type": "nGram",\r
-                "min_gram": 1,\r
-                "max_gram": 50,\r
-                "token_chars": [\r
-                    "letter",\r
-                    "digit",\r
-                    "punctuation",\r
-                    "symbol"\r
-                ]\r
-            }\r
-        },\r
-        "analyzer": {\r
-            "ngram_analyzer": {\r
-                "type": "custom",\r
-                "tokenizer": "whitespace",\r
-                "filter": [\r
-                    "lowercase",\r
-                    "asciifolding",\r
-                    "ngram_filter"\r
-                ]\r
-            },\r
-            "whitespace_analyzer": {\r
-                "type": "custom",\r
-                "tokenizer": "whitespace",\r
-                "filter": [\r
-                    "lowercase",\r
-                    "asciifolding"\r
-                ]\r
-            }\r
-        }\r
-    }\r
-}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-aggregateVnfSearchProvider.xml
deleted file mode 100644 (file)
index e829773..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="
-         http://www.springframework.org/schema/beans
-         http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-         <bean id="aggregateVnfSearchProvider"
-            class="org.onap.aai.sparky.aggregatevnf.search.AggregateVnfSearchProvider">
-            <constructor-arg ref="searchServiceAdapter"/>
-            <constructor-arg name="autoSuggestIndexName" value="entityautosuggestindex"/>
-            <constructor-arg name="vnfSearchSuggestionRoute" value="vnfSearch"/>
-          </bean>
-
-          <bean id="aggregateSummaryProcessor"
-            class="org.onap.aai.sparky.aggregatevnf.search.AggregateSummaryProcessor">
-            <constructor-arg ref="elasticSearchAdapter"/>
-            <constructor-arg ref="filtersConfig"/>
-            <property name="vnfAggregationIndexName" value="aggregate_generic-vnf_index"/>
-          </bean>
-
-          <bean id="registerAggregateVnfSearchProvider"
-            class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
-            <property name="targetObject" ref="searchProviderRegistry"/>
-            <property name="targetMethod">
-              <value>addSearchProviders</value>
-            </property>
-            <property name="arguments">
-              <list value-type="org.onap.aai.sparky.search.api.SearchProvider">
-                <ref bean="aggregateVnfSearchProvider"/>
-              </list>
-            </property>
-          </bean>
-</beans>
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-apigw.xml
deleted file mode 100644 (file)
index 85b6c46..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<!--
-
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-              http://www.springframework.org/schema/beans
-              http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-       <bean id="synapseRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
-               <property name="endpointIpAddress" value="aai.synapse.simpledemo.openecomp.org" />
-               <property name="endpointServerPort" value="9502" />
-               <property name="numRequestRetries" value="5" />
-               <property name="restAuthenticationMode" value="SSL_CERT" />
-               <property name="connectTimeoutInMs" value="60000" />
-               <property name="readTimeoutInMs" value="30000" />
-               <property name="certFileName" value="/auth/client-cert-onap.p12" />
-               <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" />
-               <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
-               <property name="validateServerCertChain" value="false" />
-               <property name="validateServerHostname" value="false" />
-               <property name="resourceLoader" ref="sparkyResourceLoader" />
-               
-       </bean>
-
-       <bean id="aaiuiProxyProcessor"
-               class="org.onap.aai.sparky.dal.proxy.processor.AaiUiProxyProcessor">
-               <constructor-arg ref="synapseRestEndpointConfig" />
-               <constructor-arg name="apiGatewayEndpoint" value="ui-request" />
-       </bean>
-
-</beans>
-
-
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-gizmo.xml
deleted file mode 100644 (file)
index 4b00116..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-              http://www.springframework.org/schema/beans
-              http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-       <bean id="gizmoRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
-               <property name="endpointIpAddress" value="{{.Values.global.gizmo.serviceName}}.{{.Release.Namespace}}" />
-               <property name="endpointServerPort" value="9520" />
-               <property name="numRequestRetries" value="5" />
-               <property name="restAuthenticationMode" value="SSL_CERT" />
-               <property name="connectTimeoutInMs" value="60000" />
-               <property name="readTimeoutInMs" value="30000" />
-               <property name="certFileName" value="/auth/client-cert-onap.p12" />
-               <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" />
-               <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
-               <property name="validateServerCertChain" value="false" />
-               <property name="validateServerHostname" value="false" />
-               <property name="resourceLoader" ref="sparkyResourceLoader" />
-       </bean>
-
-       <bean id="gizmoAdapter" class="org.onap.aai.sparky.dal.GizmoAdapter">
-               <constructor-arg ref="oxmModelLoader" />
-               <constructor-arg ref="gizmoRestEndpointConfig" />
-               <property name="relationshipsBasePath" value="/services/inventory/relationships/v13/" />
-               <property name="inventoryBasePath" value="/services/inventory/v13/" />
-       </bean>
-
-</beans>               
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-sync.xml
deleted file mode 100644 (file)
index 5b4e4fa..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-              http://www.springframework.org/schema/beans
-              http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-       <bean id="elasticSearchSchemaFactory" class="org.onap.aai.sparky.sync.ElasticSearchSchemaFactory">
-               <property name="resourceLoader" ref="sparkyResourceLoader" />
-       </bean> 
-
-
-    <bean id="elasticSearchRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
-       <property name="endpointIpAddress" value="{{.Values.global.aaiElasticsearch.serviceName}}.{{.Release.Namespace}}" />
-       <property name="endpointServerPort" value="9200" />
-       <property name="numRequestRetries" value="5" />
-       <property name="restAuthenticationMode" value="HTTP_NOAUTH" />
-       <property name="connectTimeoutInMs" value="60000" />
-       <property name="readTimeoutInMs" value="30000" />
-    </bean>
-              
-       <bean id="elasticSearchAdapter" class="org.onap.aai.sparky.dal.ElasticSearchAdapter">
-               <constructor-arg ref="elasticSearchRestEndpointConfig" />
-       </bean>
-
-       <bean id="elasticSearchNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig">
-               <property name="numSamplesPerThreadForRunningAverage" value="100" />
-               <property name="bytesHistogramLabel" value="[Response Size In Bytes]" />
-               <property name="bytesHistogramMaxYAxis" value="1000000" />
-               <property name="bytesHistogramNumBins" value="20" />
-               <property name="bytesHistogramNumDecimalPoints" value="2" />
-               <property name="queueLengthHistogramLabel" value="[Queue Item Length]" />
-               <property name="queueLengthHistogramMaxYAxis" value="20000" />
-               <property name="queueLengthHistogramNumBins" value="20" />
-               <property name="queueLengthHistogramNumDecimalPoints" value="2" />
-               <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" />
-               <property name="taskAgeHistogramMaxYAxis" value="600000" />
-               <property name="taskAgeHistogramNumBins" value="20" />
-               <property name="taskAgeHistogramNumDecimalPoints" value="2" />
-               <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" />
-               <property name="responseTimeHistogramMaxYAxis" value="1000" />
-               <property name="responseTimeHistogramNumBins" value="20" />
-               <property name="responseTimeHistogramNumDecimalPoints" value="2" />
-               <property name="tpsHistogramLabel" value="[Transactions Per Second]" />
-               <property name="tpsHistogramMaxYAxis" value="100" />
-               <property name="tpsHistogramNumBins" value="20" />
-               <property name="tpsHistogramNumDecimalPoints" value="2" />
-       </bean>
-
-       <bean id="aaiNetworkStatConfig" class="org.onap.aai.sparky.sync.config.NetworkStatisticsConfig">
-               <property name="numSamplesPerThreadForRunningAverage" value="100" />
-               <property name="bytesHistogramLabel" value="[Response Size In Bytes]" />
-               <property name="bytesHistogramMaxYAxis" value="1000000" />
-               <property name="bytesHistogramNumBins" value="20" />
-               <property name="bytesHistogramNumDecimalPoints" value="2" />
-               <property name="queueLengthHistogramLabel" value="[Queue Item Length]" />
-               <property name="queueLengthHistogramMaxYAxis" value="20000" />
-               <property name="queueLengthHistogramNumBins" value="20" />
-               <property name="queueLengthHistogramNumDecimalPoints" value="2" />
-               <property name="taskAgeHistogramLabel" value="[Task Age In Ms]" />
-               <property name="taskAgeHistogramMaxYAxis" value="600000" />
-               <property name="taskAgeHistogramNumBins" value="20" />
-               <property name="taskAgeHistogramNumDecimalPoints" value="2" />
-               <property name="responseTimeHistogramLabel" value="[Response Time In Ms]" />
-               <property name="responseTimeHistogramMaxYAxis" value="10000" />
-               <property name="responseTimeHistogramNumBins" value="20" />
-               <property name="responseTimeHistogramNumDecimalPoints" value="2" />
-               <property name="tpsHistogramLabel" value="[Transactions Per Second]" />
-               <property name="tpsHistogramMaxYAxis" value="100" />
-               <property name="tpsHistogramNumBins" value="20" />
-               <property name="tpsHistogramNumDecimalPoints" value="2" />
-       </bean>
-
-    <bean id="aaiRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
-       <property name="endpointIpAddress" value="{{.Values.global.aai.serviceName}}" />
-       <property name="endpointServerPort" value="8443" />
-       <property name="numRequestRetries" value="5" />
-       <property name="restAuthenticationMode" value="SSL_BASIC" />
-       <property name="connectTimeoutInMs" value="60000" />
-       <property name="readTimeoutInMs" value="30000" />
-       <property name="basicAuthUserName" value="AaiUI" />
-       <property name="basicAuthPassword" value="OBF:1gfr1p571unz1p4j1gg7" />
-       <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
-       <property name="validateServerCertChain" value="false" />
-       <property name="validateServerHostname" value="false" />
-       <property name="resourceLoader" ref="sparkyResourceLoader" />
-    </bean>
-
-       <bean id="activeInventoryAdapter" class="org.onap.aai.sparky.dal.ActiveInventoryAdapter">
-               <constructor-arg ref="oxmModelLoader" />
-               <constructor-arg ref="oxmEntityLookup" />
-               <constructor-arg ref="aaiRestEndpointConfig" />
-       </bean>
-
-       <bean id="syncControllerRegistry" class="org.onap.aai.sparky.sync.SyncControllerRegistry" />
-
-       <bean id="elasticSearchEndpointConfig"
-               class="org.onap.aai.sparky.sync.config.ElasticSearchEndpointConfig">
-               <property name="esIpAddress" value="{{.Values.global.aaiElasticsearch.serviceName}}.{{.Release.Namespace}}" />
-               <property name="esServerPort" value="9200" />
-               <property name="scrollContextTimeToLiveInMinutes" value="5" />
-               <property name="scrollContextBatchRequestSize" value="5000" />
-       </bean>
-       
-       <bean id="aggregationSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
-               <property name="controllerName" value="Aggregation-Sync-Controller" />
-               <property name="enabled" value="true" />
-               <property name="syncTaskDelayInMs" value="5000" />
-               <property name="syncTaskFrequencyInDays" value="1" />
-               <property name="numSyncControllerWorkers" value="2" />
-               <property name="runOnceSyncEnabled" value="true" />
-               <property name="periodicSyncEnabled" value="false" />
-               <property name="numInternalSyncWorkers" value="2" />
-               <property name="numSyncElasticWorkers" value="5" />
-               <property name="numSyncActiveInventoryWorkers" value="5" />
-               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
-       </bean>
-
-       <bean id="aggregationSyncControllerFactory"
-               class="org.onap.aai.sparky.aggregation.sync.AggregationSyncControllerFactory"
-               init-method="registerController">
-
-               <constructor-arg ref="elasticSearchEndpointConfig" />
-               <constructor-arg ref="aggregationSyncControllerConfig" />
-               <constructor-arg ref="syncControllerRegistry" />
-               <constructor-arg ref="suggestionEntityLookup" />
-               <constructor-arg ref="oxmEntityLookup" />
-               <constructor-arg ref="elasticSearchSchemaFactory" />
-
-               <property name="esAdapter" ref="elasticSearchAdapter" />
-               <property name="esStatConfig" ref="elasticSearchNetworkStatConfig" />
-
-               <property name="aaiAdapter" ref="activeInventoryAdapter" />
-               <property name="aaiStatConfig" ref="aaiNetworkStatConfig" />
-
-               <property name="aggregationEntityToIndexMap">
-                       <map>
-                               <entry key="generic-vnf" value="aggregate_generic-vnf_index" />
-                       </map>
-               </property>
-
-               <property name="indexNameToSchemaConfigMap">
-                       <map>
-                               <entry key="aggregate_generic-vnf_index">
-                                       <bean class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
-                                               <property name="indexName" value="aggregate-vnf-index" />
-                                               <property name="indexDocType" value="default" />
-                                               <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" />
-                                       </bean>
-                               </entry>
-                       </map>
-               </property>
-
-       </bean>
-
-
-       <bean id="historicalEntitySyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
-
-               <property name="controllerName" value="Historical-Entity-Sync-Controller" />
-               <property name="enabled" value="true" />
-               <property name="syncTaskDelayInMs" value="5000" />
-               <property name="syncTaskFrequencyInDays" value="1" />
-               <property name="numSyncControllerWorkers" value="2" />
-               <property name="runOnceSyncEnabled" value="true" />
-               <property name="periodicSyncEnabled" value="false" />
-               <property name="numInternalSyncWorkers" value="2" />
-               <property name="numSyncElasticWorkers" value="5" />
-               <property name="numSyncActiveInventoryWorkers" value="5" />
-               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
-       </bean>
-
-       <bean id="historicalEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
-               <property name="indexName" value="entitycounthistoryindex" />
-               <property name="indexDocType" value="default" />
-               <property name="indexMappingsFileName" value="/schemas/entityCountHistoryMappings.json" />
-               <property name="indexSettingsFileName" value="/schemas/es_settings.json" />
-       </bean>
-
-       <bean id="historicalEntitySyncController"
-               class="org.onap.aai.sparky.aggregation.sync.HistoricalEntitySyncController"
-               init-method="registerController">
-
-               <constructor-arg ref="historicalEntitySyncControllerConfig" />
-               <constructor-arg ref="activeInventoryAdapter" />
-               <constructor-arg ref="elasticSearchAdapter" />
-               <constructor-arg ref="historicalEntitySchemaConfig" />
-               <constructor-arg ref="elasticSearchEndpointConfig" />
-               <constructor-arg value="60" />
-               <constructor-arg ref="aaiNetworkStatConfig" />
-               <constructor-arg ref="elasticSearchNetworkStatConfig" />
-               <constructor-arg ref="searchableEntityLookup" />
-               <constructor-arg ref="elasticSearchSchemaFactory" />
-
-               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
-
-       </bean>
-       
-       
-       
-       <bean id="autoSuggestionSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
-
-               <property name="controllerName" value="Auto-Suggestion-Sync-Controller" />
-               <property name="enabled" value="true" />
-               <property name="syncTaskDelayInMs" value="5000" />
-               <property name="syncTaskFrequencyInDays" value="1" />
-               <property name="numSyncControllerWorkers" value="2" />
-               <property name="runOnceSyncEnabled" value="true" />
-               <property name="periodicSyncEnabled" value="false" />
-               <property name="numInternalSyncWorkers" value="2" />
-               <property name="numSyncElasticWorkers" value="5" />
-               <property name="numSyncActiveInventoryWorkers" value="5" />
-               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
-       </bean>
-
-       <bean id="autoSuggestionEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
-               <property name="indexName" value="entity-autosuggest-index" />
-               <property name="indexDocType" value="default" />
-               <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" />
-               <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" />
-       </bean>
-
-       <bean id="autoSuggestionEntitySyncController"
-               class="org.onap.aai.sparky.autosuggestion.sync.AutoSuggestionSyncController"
-               init-method="registerController">
-
-               <constructor-arg ref="autoSuggestionSyncControllerConfig" />
-               <constructor-arg ref="activeInventoryAdapter" />
-               <constructor-arg ref="elasticSearchAdapter" />
-               <constructor-arg ref="autoSuggestionEntitySchemaConfig" />
-               <constructor-arg ref="elasticSearchEndpointConfig" />
-               <constructor-arg ref="aaiNetworkStatConfig" />
-               <constructor-arg ref="elasticSearchNetworkStatConfig" />
-               <constructor-arg ref="oxmEntityLookup" />
-               <constructor-arg ref="suggestionEntityLookup" />
-               <constructor-arg ref="filtersConfig" />
-               <constructor-arg ref="elasticSearchSchemaFactory" />
-
-               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
-
-       </bean>
-       
-       
-       
-       <bean id="vnfAliasSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
-
-               <property name="controllerName" value="Vnf-Alias-Sync-Controller" />
-               <property name="enabled" value="true" />
-               <property name="syncTaskDelayInMs" value="5000" />
-               <property name="syncTaskFrequencyInDays" value="1" />
-               <property name="numSyncControllerWorkers" value="2" />
-               <property name="runOnceSyncEnabled" value="true" />
-               <property name="periodicSyncEnabled" value="false" />
-               <property name="numInternalSyncWorkers" value="2" />
-               <property name="numSyncElasticWorkers" value="5" />
-               <property name="numSyncActiveInventoryWorkers" value="5" />
-               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
-       </bean>
-
-       <bean id="vnfAliasEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
-               <property name="indexName" value="entityautosuggestindex" />
-               <property name="indexDocType" value="default" />
-               <property name="indexMappingsFileName" value="/schemas/autoSuggestMappings.json" />
-               <property name="indexSettingsFileName" value="/schemas/autoSuggestSettings.json" />
-       </bean>
-
-       <bean id="vnfAliasSyncController"
-               class="org.onap.aai.sparky.autosuggestion.sync.VnfAliasSyncController"
-               init-method="registerController">
-
-               <constructor-arg ref="vnfAliasSyncControllerConfig" />
-               <constructor-arg ref="activeInventoryAdapter" />
-               <constructor-arg ref="elasticSearchAdapter" />
-               <constructor-arg ref="vnfAliasEntitySchemaConfig" />
-               <constructor-arg ref="elasticSearchEndpointConfig" />
-               <constructor-arg ref="aaiNetworkStatConfig" />
-               <constructor-arg ref="elasticSearchNetworkStatConfig" />
-               <constructor-arg ref="filtersConfig" />
-               <constructor-arg ref="elasticSearchSchemaFactory" />
-
-               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
-
-       </bean>
-       
-       <bean id="geoSyncControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
-
-               <property name="controllerName" value="Geo-Sync-Controller" />
-               <property name="enabled" value="true" />
-               <property name="syncTaskDelayInMs" value="5000" />
-               <property name="syncTaskFrequencyInDays" value="1" />
-               <property name="numSyncControllerWorkers" value="2" />
-               <property name="runOnceSyncEnabled" value="true" />
-               <property name="periodicSyncEnabled" value="false" />
-               <property name="numInternalSyncWorkers" value="2" />
-               <property name="numSyncElasticWorkers" value="5" />
-               <property name="numSyncActiveInventoryWorkers" value="5" />
-               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
-       </bean>
-
-       <bean id="geoEntitySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
-               <property name="indexName" value="topography-search-index" />
-               <property name="indexDocType" value="default" />
-               <property name="indexMappingsFileName" value="/schemas/dynamicMappings.json" />
-       </bean>
-
-       <bean id="geoSyncController"
-               class="org.onap.aai.sparky.topology.sync.GeoSyncController"
-               init-method="registerController">
-
-               <constructor-arg ref="geoSyncControllerConfig" />
-               <constructor-arg ref="activeInventoryAdapter" />
-               <constructor-arg ref="elasticSearchAdapter" />
-               <constructor-arg ref="geoEntitySchemaConfig" />
-               <constructor-arg ref="elasticSearchEndpointConfig" />
-               <constructor-arg ref="aaiNetworkStatConfig" />
-               <constructor-arg ref="elasticSearchNetworkStatConfig" />
-               <constructor-arg ref="geoEntityLookup" />
-               <constructor-arg ref="oxmEntityLookup" />
-               <constructor-arg ref="elasticSearchSchemaFactory" />
-
-               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
-
-       </bean>
-       
-       <bean id="viewInspectControllerConfig" class="org.onap.aai.sparky.sync.config.SyncControllerConfig">
-
-               <property name="controllerName" value="View-Inspect-Sync-Controller" />
-               <property name="enabled" value="true" />
-               <property name="syncTaskDelayInMs" value="5000" />
-               <property name="syncTaskFrequencyInDays" value="1" />
-               <property name="numSyncControllerWorkers" value="2" />
-               <property name="runOnceSyncEnabled" value="true" />
-               <property name="periodicSyncEnabled" value="false" />
-               <property name="numInternalSyncWorkers" value="2" />
-               <property name="numSyncElasticWorkers" value="5" />
-               <property name="numSyncActiveInventoryWorkers" value="5" />
-               <property name="targetSyncStartTimeStamp" value="05:00:00 UTC+00:00" />
-       </bean>
-
-       <bean id="viewInspectySchemaConfig" class="org.onap.aai.sparky.sync.config.ElasticSearchSchemaConfig">
-               <property name="indexName" value="entity-search-index" />
-               <property name="indexDocType" value="default" />
-               <property name="indexMappingsFileName" value="/schemas/es_mappings.json" />
-               <property name="indexSettingsFileName" value="/schemas/es_settings.json" />
-       </bean>
-
-
-       <bean id="viewInspectSyncController"
-               class="org.onap.aai.sparky.viewinspect.sync.ViewInspectSyncController"
-               init-method="registerController">
-
-               <constructor-arg ref="viewInspectControllerConfig" />
-               <constructor-arg ref="activeInventoryAdapter" />
-               <constructor-arg ref="elasticSearchAdapter" />
-               <constructor-arg ref="viewInspectySchemaConfig" />
-               <constructor-arg ref="elasticSearchEndpointConfig" />
-               <constructor-arg ref="aaiNetworkStatConfig" />
-               <constructor-arg ref="elasticSearchNetworkStatConfig" />
-               <constructor-arg ref="crossEntityReferenceLookup" />
-               <constructor-arg ref="oxmEntityLookup" />
-               <constructor-arg ref="searchableEntityLookup" />
-               <constructor-arg ref="elasticSearchSchemaFactory" />
-
-               <property name="syncControllerRegistry" ref="syncControllerRegistry" />
-
-       </bean>
-
-       <bean id="syncControllerService" class="org.onap.aai.sparky.sync.SyncControllerService"
-               destroy-method="shutdown">
-               <constructor-arg ref="syncControllerRegistry" />
-               <constructor-arg value="5" />
-               <constructor-arg value="5" />
-       </bean>
-
-</beans>               
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspect.xml
deleted file mode 100644 (file)
index 175d130..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-              http://www.springframework.org/schema/beans
-              http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-       <bean id="visualizationConfigurations"
-               class="org.onap.aai.sparky.viewandinspect.config.VisualizationConfigs">
-               <property name="maxSelfLinkTraversalDepth" value="2" />
-               <property name="visualizationDebugEnabled" value="false" />
-               <property name="aaiEntityNodeDescriptors" value="/descriptors/aaiEntityNodeDescriptors.json" />
-               <property name="generalNodeClassName" value="generalNodeClass" />
-               <property name="searchNodeClassName" value="searchedNodeClass" />
-               <property name="selectedSearchedNodeClassName" value="selectedSearchedNodeClass" />
-               <property name="numOfThreadsToFetchNodeIntegrity" value="20" />
-               <property name="makeAllNeighborsBidirectional" value="false" />
-               <property name="gizmoEnabled" value="false" />
-               <property name="resourceLoader" ref="sparkyResourceLoader" />
-
-               <property name="shallowEntities">
-                       <list value-type="java.lang.String">
-                               <value>cloud-region</value>
-                               <value>complex</value>
-                               <value>vnf-image</value>
-                               <value>image</value>
-                               <value>flavor</value>
-                               <value>availability-zone</value>
-                               <value>tenant</value>
-                               <value>network-profile</value>
-                               <value>l-interface</value>
-                       </list>
-               </property>
-
-       </bean>
-
-       <bean id="baseVisualizationService"
-               class="org.onap.aai.sparky.viewandinspect.services.BaseVisualizationService">
-               <constructor-arg ref="oxmModelLoader"/>
-               <constructor-arg ref="visualizationConfigurations"/> 
-               <constructor-arg ref="activeInventoryAdapter" />
-               <constructor-arg ref="gizmoAdapter" />
-               <constructor-arg ref="elasticSearchAdapter" />
-               <constructor-arg ref="elasticSearchEndpointConfig" />
-               <constructor-arg ref="viewInspectySchemaConfig" />
-               <constructor-arg name="numActiveInventoryWorkers" value="50" />
-               <constructor-arg ref="oxmEntityLookup" />
-        <constructor-arg ref="subscriptionConfig" />
-       </bean>
-
-       <bean id="schemaVisualizationProcessor"
-               class="org.onap.aai.sparky.viewandinspect.SchemaVisualizationProcessor">
-               <property name="visualizationService" ref="baseVisualizationService" />
-       </bean>
-
-</beans>               
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core-viewInspectSearchProvider.xml
deleted file mode 100644 (file)
index a67ab8c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-              http://www.springframework.org/schema/beans
-              http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-                                <bean id="viewInspectSearchProvider"
-                               class="org.onap.aai.sparky.viewandinspect.search.ViewInspectSearchProvider">
-                               <constructor-arg ref="searchServiceAdapter" />
-                               <constructor-arg ref="suggestiveSearchConfigs" />
-                               <constructor-arg name="viewInspectIndexName" value="entitysearchindex" />
-                               <constructor-arg name="viewInspectSuggestionRoute" value="schema" />
-                               <constructor-arg ref="oxmEntityLookup" />
-
-                               <property name="additionalSearchSuggestionText">
-                                       <value>Schema</value>
-                               </property>
-
-                       </bean>
-
-                       <bean id="registerViewInspectSearchProvider"
-                               class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
-                               <property name="targetObject" ref="searchProviderRegistry" />
-                               <property name="targetMethod">
-                                       <value>addSearchProviders</value>
-                               </property>
-                               <property name="arguments">
-                                       <list value-type="org.onap.aai.sparky.search.api.SearchProvider">
-                                               <ref bean="viewInspectSearchProvider" />
-                                       </list>
-                               </property>
-                       </bean>
-
-</beans>
diff --git a/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml b/kubernetes/aai/charts/aai-sparky-be/resources/config/spring-beans/sparky-core.xml
deleted file mode 100644 (file)
index a401d9b..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-              http://www.springframework.org/schema/beans
-              http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-                                <bean id="searchServiceRestEndpointConfig" class="org.onap.aai.sparky.dal.rest.config.RestEndpointConfig">
-                                       <property name="endpointIpAddress" value="{{.Values.global.searchData.serviceName}}.{{.Release.Namespace}}" />
-                                       <property name="endpointServerPort" value="9509" />
-                                       <property name="numRequestRetries" value="5" />
-                                       <property name="restAuthenticationMode" value="SSL_CERT" />
-                                       <property name="connectTimeoutInMs" value="60000" />
-                                       <property name="readTimeoutInMs" value="30000" />
-                                       <property name="certFileName" value="/auth/client-cert-onap.p12" />
-                                       <property name="certPassword" value="OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10" />
-                                       <property name="truststoreFileName" value="/auth/inventory-ui-keystore" />
-                                       <property name="validateServerCertChain" value="false" />
-                                       <property name="validateServerHostname" value="false" />
-                                       <property name="resourceLoader" ref="sparkyResourceLoader" />
-                               </bean>
-
-                               <bean id="searchServiceAdapter" class="org.onap.aai.sparky.search.SearchServiceAdapter">
-                                       <constructor-arg ref="searchServiceRestEndpointConfig" />
-                                       <constructor-arg name="serviceApiVersion" value="v1" />
-                               </bean>
-
-                               <bean id="filtersConfig" class="org.onap.aai.sparky.search.filters.config.FiltersConfig">
-                                       <constructor-arg name="filtersFileName" value="/filters/aaiui_filters.json" />
-                                       <constructor-arg name="viewsFileName" value="/filters/aaiui_views.json" />
-                                       <constructor-arg name="resourceLoader" ref="sparkyResourceLoader" />
-                               </bean>
-
-                               <bean id="crossEntityReferenceLookup"
-                                       class="org.onap.aai.sparky.config.oxm.CrossEntityReferenceLookup" />
-
-                               <bean id="geoEntityLookup" class="org.onap.aai.sparky.config.oxm.GeoEntityLookup" />
-
-                               <bean id="oxmEntityLookup" class="org.onap.aai.sparky.config.oxm.OxmEntityLookup" />
-
-                               <bean id="searchableEntityLookup" class="org.onap.aai.sparky.config.oxm.SearchableEntityLookup" />
-
-                               <bean id="suggestionEntityLookup" class="org.onap.aai.sparky.config.oxm.SuggestionEntityLookup">
-                                       <constructor-arg ref="filtersConfig" />
-                               </bean>
-
-                               <bean id="oxmModelProcessorSet" class="org.springframework.beans.factory.config.SetFactoryBean">
-                                       <property name="targetSetClass" value="java.util.HashSet" />
-                                       <property name="sourceSet">
-                                               <set>
-                                                       <ref bean="crossEntityReferenceLookup" />
-                                                       <ref bean="geoEntityLookup" />
-                                                       <ref bean="oxmEntityLookup" />
-                                                       <ref bean="searchableEntityLookup" />
-                                                       <ref bean="suggestionEntityLookup" />
-                                               </set>
-                                       </property>
-                               </bean>
-
-                               <bean id="oxmModelLoader" class="org.onap.aai.sparky.config.oxm.OxmModelLoader" init-method="loadLatestOxmModel">
-                                       <!-- the int argument is the latestVersionOverride.  -1 disables the override -->
-                                       <constructor-arg type="int" value="-1" />
-                                       <constructor-arg ref="oxmModelProcessorSet" />
-                               </bean>
-
-                               <bean id="searchProviderRegistry"
-                                       class="org.onap.aai.sparky.search.registry.SearchProviderRegistry" />
-
-                               <bean id="sparkyResourceLoader" class="org.onap.aai.sparky.config.SparkyResourceLoader">
-                                  <property name="configHomeEnvVar" value="CONFIG_HOME" />
-                               </bean> 
-
-                               <bean id="filterElasticSearchAdapter"
-                                       class="org.onap.aai.sparky.search.filters.FilterElasticSearchAdapter">
-                                       <constructor-arg ref="elasticSearchAdapter" />
-                               </bean>
-
-                               <bean id="filteredSearchHelper" class="org.onap.aai.sparky.search.filters.FilteredSearchHelper" >
-                                       <constructor-arg ref="filtersConfig" />
-                                       <constructor-arg ref="filterElasticSearchAdapter" />
-                               </bean>
-
-                               <bean id="filterProcessor" class="org.onap.aai.sparky.search.filters.FilterProcessor" >
-                                       <property name="filteredSearchHelper" ref="filteredSearchHelper" />
-                               </bean>
-
-                               <bean id="unifiedSearchProcessor" class="org.onap.aai.sparky.search.UnifiedSearchProcessor">
-                                       <property name="searchProviderRegistry" ref="searchProviderRegistry" />
-                               </bean>
-
-                               <bean id="entityCountHistoryProcessor" class="org.onap.aai.sparky.search.EntityCountHistoryProcessor">
-                                       <constructor-arg ref="elasticSearchAdapter" />
-                                       <constructor-arg name="entityTypesToSummarizeDelimitedList"
-                                               value="customer,service-instance,complex,pserver,vserver,vnf" />
-                                       <constructor-arg name="vnfEntityTypesDelimitedList"
-                                               value="vnf,newvce,vce,vpe" />
-                                       <constructor-arg name="entityCountHistoryIndexName"
-                                               value="entitycounthistoryindex" />
-                               </bean>
-
-                               <bean id="attributeUpdater"
-                                class="org.onap.aai.sparky.editattributes.AttributeUpdater">
-                                <constructor-arg ref="oxmModelLoader" />
-                                <constructor-arg ref="oxmEntityLookup" />
-                                <constructor-arg ref="activeInventoryAdapter" />
-                            </bean>
-
-                            <bean id="attributeEditProcessor"
-                                class="org.onap.aai.sparky.editattributes.AttributeEditProcessor">
-                                <constructor-arg ref="attributeUpdater" />
-                            </bean>
-
-                           <bean id="geoVisualizationProcessor" class="org.onap.aai.sparky.inventory.GeoVisualizationProcessor">
-                                       <constructor-arg ref="elasticSearchAdapter" />
-                                       <constructor-arg name="topographicalSearchIndexName"
-                                               value="topographicalsearchindex" />
-                               </bean>
-
-                            <bean id = "pairingHashMap" class="org.springframework.beans.factory.config.MapFactoryBean">
-                                                       <property name="targetMapClass">
-                                                               <value>java.util.HashMap</value>
-                                                       </property>
-                                                       <property name="sourceMap">
-                                                               <map key-type="java.lang.String" value-type="java.lang.String" >
-                                                                       <entry key="volume-group-id" value="called" />
-                                                                       <entry key="volume-group-name" value="called" />
-                                                                       <entry key="physical-location-id" value="called" />
-                                                                       <entry key="data-center-code" value="called" />
-                                                                       <entry key="complex-name" value="called" />
-                                                                       <entry key="tenant-id" value="called" />
-                                                                       <entry key="tenant-name" value="called" />
-                                                                       <entry key="vserver-id" value="called" />
-                                                                       <entry key="vserver-name" value="called" />
-                                                                       <entry key="vserver-name2" value="called" />
-                                                                       <entry key="hostname" value="called" />
-                                                                       <entry key="pserver-name2" value="called" />
-                                                                       <entry key="pserver-id" value="called" />
-                                                                       <entry key="global-customer-id" value="called" />
-                                                                       <entry key="subscriber-name" value="called" />
-                                                                       <entry key="service-instance-id" value="called" />
-                                                                       <entry key="service-instance-name" value="called" />
-                                                                       <entry key="link-name" value="called" />
-                                                                       <entry key="vpn-id" value="called" />
-                                                                       <entry key="vpn-name" value="called" />
-                                                                       <entry key="vpe-id" value="called" />
-                                                                       <entry key="vnf-id" value="called" />
-                                                                       <entry key="vnf-name" value="called" />
-                                                                       <entry key="vnf-name2" value="called" />
-                                                                       <entry key="vnfc-name" value="called" />
-                                                                       <entry key="network-id" value="called" />
-                                                                       <entry key="network-name" value="called" />
-                                                                       <entry key="network-policy-id" value="called" />
-                                                                       <entry key="vf-module-id" value="called" />
-                                                                       <entry key="vf-module-name" value="called" />
-                                                                       <entry key="vnf-id2" value="called" />
-                                                                       <entry key="pnf-name" value="called" />
-                                                                       <entry key="circuit-id" value="called" />
-                                                                       <entry key="id" value="called" />
-                                                                       <entry key="group-id" value="called" />
-                                                                       <entry key="group-name" value="called" />
-                                                                       <entry key="street1" value="at" />
-                                                                       <entry key="street2" value="at" />
-                                                                       <entry key="code" value="at" />
-                                                                       <entry key="ipv4-oam-address" value="at" />
-                                                                       <entry key="network-policy-fqdn" value="at" />
-                                                               </map>
-                                                       </property>
-                               </bean>
-
-                            <bean id="suggestiveSearchConfigs" class="org.onap.aai.sparky.search.config.SuggestionConfig">
-                                       <property name="defaultPairingValue" value="with" />
-                                       <property name="pairingList" ref="pairingHashMap"></property>
-                                       <property name="stopWords">
-                                               <list value-type="java.lang.String">
-                                                       <value>a</value>
-                                                       <value>an</value>
-                                                       <value>and</value>
-                                                       <value>are</value>
-                                                       <value>as</value>
-                                                       <value>at</value>
-                                                       <value>be</value>
-                                                       <value>but</value>
-                                                       <value>by</value>
-                                                       <value>called</value>
-                                                       <value>for</value>
-                                                       <value>if</value>
-                                                       <value>in</value>
-                                                       <value>into</value>
-                                                       <value>is</value>
-                                                       <value>it</value>
-                                                       <value>no</value>
-                                                       <value>not</value>
-                                                       <value>of</value>
-                                                       <value>on</value>
-                                                       <value>or</value>
-                                                       <value>such</value>
-                                                       <value>that</value>
-                                                       <value>the</value>
-                                                       <value>their</value>
-                                                       <value>then</value>
-                                                       <value>there</value>
-                                                       <value>these</value>
-                                                       <value>they</value>
-                                                       <value>this</value>
-                                                       <value>to</value>
-                                                       <value>was</value>
-                                                       <value>will</value>
-                                                       <value>with</value>
-                                               </list>
-                                       </property>
-
-                            </bean>
-
-                                        <bean id="subscriptionConfig"
-                     class="org.onap.aai.sparky.subscription.config.SubscriptionConfig">
-                     <property name="subscriptionTarget" value="" />
-                     <property name="subscriptionOrigin" value="" />
-                     <property name="subscriptionMessageType" value="" />
-                     <property name="subscriptionTopic" value="" />
-                     <property name="launchOITarget" value="" />
-                     <property name="launchOIOrigin" value="" />
-                     <property name="launchOIMessageType" value="" />
-                     <property name="launchOITopic" value="" />
-                                                                                <property name="annEntitiyTypes">
-                                                                                        <list value-type="java.lang.String">
-                                                                                                <value>pserver</value>
-                                                                                                <value>pnf</value>
-                                                                                        </list>
-                                                                        </property>
-                                                                        <property name="isLaunchOIEnabled" value="false" />
-            </bean>
-
-            <bean id="subscriptionService"
-                     class="org.onap.aai.sparky.subscription.services.SubscriptionService">
-                     <constructor-arg ref="subscriptionConfig" />
-            </bean>
-
-            <bean id="subscriptionServiceProcessor"
-                     class="org.onap.aai.sparky.subscription.SubscriptionServiceProcessor">
-                     <constructor-arg ref="subscriptionService" />
-            </bean>
-</beans>
index fcda4c2..6a00fe7 100644 (file)
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-portal
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/portal/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-log
+  name: {{ include "common.fullname" . }}-prop
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/application-resources.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/application-ssl.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/application-oxm-default.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/application-oxm-override.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/application-oxm-schema-prod.properties").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-camel-rests
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/camel-rests/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-descriptors
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/descriptors/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-filters
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/filters/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-schemas
+  name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/schemas/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-spring-beans
+  name: {{ include "common.fullname" . }}-portal
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/spring-beans/*").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/portal/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-boot-inf
+  name: {{ include "common.fullname" . }}-portal-props
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/portal/BOOT-INF/classes/*").AsConfig . | indent 2 }}
-
+{{ tpl (.Files.Glob "resources/config/portal/BOOT-INF/classes/*").AsConfig . | indent 2 }}
\ No newline at end of file
index 9bc055a..48235bc 100644 (file)
@@ -58,43 +58,47 @@ spec:
       - name: {{ include "common.name" . }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        env:
-        - name: CONFIG_HOME
-          value: /opt/app/sparky/appconfig/
-        - name: KEYSTORE_ALIAS_PASSWORD
-          value: {{ .Values.config.keystoreAliasPassword }}
-        - name: KEYSTORE_PASSWORD
-          value: {{ .Values.config.keyStorePassword }}
-        - name: SPARKY_SSL_ENABLED
-          value: 'false'
-        - name: SPARKY_PORTAL_ENABLED
-          value: 'false'
+
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
           readOnly: true
-        - mountPath: /opt/app/sparky/appconfig/auth/
+        - mountPath: /opt/app/sparky/config/auth/
           name: {{ include "common.fullname" . }}-auth-config
-        - mountPath: /opt/app/sparky/appconfig/camel-rests/
-          name: {{ include "common.fullname" . }}-camel-rests-config
-        - mountPath: /opt/app/sparky/appconfig/descriptors/
-          name: {{ include "common.fullname" . }}-descriptors-config
-        - mountPath: /opt/app/sparky/appconfig/filters/
-          name: {{ include "common.fullname" . }}-filters-config
-        - mountPath: /opt/app/sparky/appconfig/
-          name: {{ include "common.fullname" . }}-config
-        - mountPath: /opt/app/sparky/appconfig/portal
+
+        - mountPath: /opt/app/sparky/config/portal/
           name: {{ include "common.fullname" . }}-portal-config
-        - mountPath: /opt/app/sparky/appconfig/portal/BOOT-INF/classes
-          name: {{ include "common.fullname" . }}-portal-boot-inf-config
-        - mountPath: /opt/app/sparky/appconfig/schemas
-          name: {{ include "common.fullname" . }}-schemas-config
-        - mountPath: /opt/app/sparky/appconfig/spring-beans/
-          name: {{ include "common.fullname" . }}-spring-beans-config
+
+        - mountPath: /opt/app/sparky/config/portal/BOOT-INF/classes/
+          name: {{ include "common.fullname" . }}-portal-config-props
+
         - mountPath: /var/log/onap
           name: {{ include "common.fullname" . }}-logs
-        - mountPath: /opt/app/sparky/appconfig/logging/
-          name: {{ include "common.fullname" . }}-log-conf
+
+        - mountPath:  /opt/app/sparky/config/application.properties
+          name: {{ include "common.fullname" . }}-properties
+          subPath: application.properties
+
+        - mountPath:  /opt/app/sparky/config/application-resources.properties
+          name: {{ include "common.fullname" . }}-properties
+          subPath: application-resources.properties
+
+        - mountPath:  /opt/app/sparky/config/application-ssl.properties
+          name: {{ include "common.fullname" . }}-properties
+          subPath: application-ssl.properties
+
+        - mountPath:  /opt/app/sparky/config/application-oxm-default.properties
+          name: {{ include "common.fullname" . }}-properties
+          subPath: application-oxm-default.properties
+          
+        - mountPath:  /opt/app/sparky/config/application-oxm-override.properties
+          name: {{ include "common.fullname" . }}-properties
+          subPath: application-oxm-override.properties
+
+        - mountPath:  /opt/app/sparky/config/application-oxm-schema-prod.properties
+          name: {{ include "common.fullname" . }}-properties
+          subPath: application-oxm-schema-prod.properties
+        
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
@@ -140,33 +144,26 @@ spec:
       - name: localtime
         hostPath:
           path: /etc/localtime
+
+      - name: {{ include "common.fullname" . }}-properties
+        configMap:
+          name: {{ include "common.fullname" . }}-prop
+
       - name: {{ include "common.fullname" . }}-config
         configMap:
           name: {{ include "common.fullname" . }}
-      - name: {{ include "common.fullname" . }}-auth-config
-        secret:
-          secretName: {{ include "common.fullname" . }}
-      - name: {{ include "common.fullname" . }}-camel-rests-config
-        configMap:
-          name: {{ include "common.fullname" . }}-camel-rests
-      - name: {{ include "common.fullname" . }}-descriptors-config
-        configMap:
-          name: {{ include "common.fullname" . }}-descriptors
-      - name: {{ include "common.fullname" . }}-filters-config
-        configMap:
-          name: {{ include "common.fullname" . }}-filters
+
       - name: {{ include "common.fullname" . }}-portal-config
         configMap:
           name: {{ include "common.fullname" . }}-portal
-      - name: {{ include "common.fullname" . }}-portal-boot-inf-config
-        configMap:
-          name: {{ include "common.fullname" . }}-boot-inf
-      - name: {{ include "common.fullname" . }}-schemas-config
-        configMap:
-          name: {{ include "common.fullname" . }}-schemas
-      - name: {{ include "common.fullname" . }}-spring-beans-config
+
+      - name: {{ include "common.fullname" . }}-portal-config-props
         configMap:
-          name: {{ include "common.fullname" . }}-spring-beans
+          name: {{ include "common.fullname" . }}-portal-props
+
+      - name: {{ include "common.fullname" . }}-auth-config
+        secret:
+          secretName: {{ include "common.fullname" . }}
       - name: filebeat-conf
         configMap:
           name: aai-filebeat
@@ -174,9 +171,8 @@ spec:
         emptyDir: {}
       - name: aai-sparky-filebeat
         emptyDir: {}
-      - name: {{ include "common.fullname" . }}-log-conf
-        configMap:
-          name: {{ include "common.fullname" . }}-log
+      - name: modeldir
+        emptyDir: {}
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index df3f5cf..6004d6d 100644 (file)
@@ -28,7 +28,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sparky-be:1.2.1
+image: onap/sparky-be:1.3-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
diff --git a/kubernetes/aai/charts/aai-spike/Chart.yaml b/kubernetes/aai/charts/aai-spike/Chart.yaml
new file mode 100644 (file)
index 0000000..b9fd7b0
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP AAI Spike microservice
+name: aai-spike
+version: 2.0.0
\ No newline at end of file
@@ -1,5 +1,4 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
+# Copyright © 2018 Amdocs, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
--->
 
-<rests xmlns="http://camel.apache.org/schema/spring">
-   <rest>
-      <post uri="/search/querysearch">
-         <to uri="bean:unifiedSearchProcessor?method=search"/>
-      </post>
-   </rest>
-</rests>
+dependencies:
+  - name: common
+    version: ~2.0.0
+    # local reference to common chart, as it is
+    # a part of this chart's package and will not
+    # be published independently to a repo (at this point)
+    repository: '@local'
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore b/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore
new file mode 100644 (file)
index 0000000..025f3c4
Binary files /dev/null and b/kubernetes/aai/charts/aai-spike/resources/config/auth/tomcat_keystore differ
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/logback.xml b/kubernetes/aai/charts/aai-spike/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..e40ba13
--- /dev/null
@@ -0,0 +1,194 @@
+<!--
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+    Copyright © 2018 Amdocs
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+-->
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
+  <!--<jmxConfigurator /> -->
+  <!-- directory path for all other type logs -->
+
+  <property name="logDir"  value="/var/log/onap" />
+
+  <!--  specify the component name
+       <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
+  <property name="componentName" value="AAI-SPK" />
+
+  <!--  default eelf log file names -->
+  <property name="generalLogName" value="error" />
+  <property name="metricsLogName" value="metrics" />
+  <property name="auditLogName" value="audit" />
+  <property name="debugLogName" value="debug" />
+
+  <property name="errorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%mdc{RequestId}|%thread|Spike|%mdc{PartnerName}|%logger||%.-5level|%msg%n" />
+  <property name="auditMetricPattern" value="%m%n" />
+
+  <property name="logDirectory" value="${logDir}/${componentName}" />
+
+  <!-- Example evaluator filter applied against console appender -->
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!-- EELF Appenders -->
+  <!-- ============================================================================ -->
+
+  <!-- The EELFAppender is used to record events to the general application
+       log -->
+
+  <appender name="EELF"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${generalLogName}.log</file>
+    <rollingPolicy
+        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+    <!-- deny all events with a level below INFO, that is TRACE and DEBUG -->
+    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+      <level>INFO</level>
+    </filter>
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELF" />
+  </appender>
+
+  <!-- EELF Audit Appender. This appender is used to record audit engine
+       related logging events. The audit logger and appender are specializations
+       of the EELF application root logger and appender. This can be used to segregate
+       Policy engine events from other components, or it can be eliminated to record
+       these events as part of the application root log. -->
+
+  <appender name="EELFAudit"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${auditLogName}.log</file>
+    <rollingPolicy
+        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${auditMetricPattern}</pattern>
+    </encoder>
+  </appender>
+  <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFAudit" />
+  </appender>
+
+  <appender name="EELFMetrics"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${metricsLogName}.log</file>
+    <rollingPolicy
+        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
+           %msg%n"</pattern> -->
+      <pattern>${auditMetricPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFMetrics"/>
+  </appender>
+
+  <appender name="EELFDebug"
+            class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <file>${logDirectory}/${debugLogName}.log</file>
+    <rollingPolicy
+        class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+      <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip
+      </fileNamePattern>
+      <maxHistory>60</maxHistory>
+    </rollingPolicy>
+    <encoder>
+      <pattern>${errorLogPattern}</pattern>
+    </encoder>
+  </appender>
+
+  <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+    <queueSize>256</queueSize>
+    <appender-ref ref="EELFDebug" />
+    <includeCallerData>false</includeCallerData>
+  </appender>
+
+  <!-- ============================================================================ -->
+  <!--  EELF loggers -->
+  <!-- ============================================================================ -->
+  <logger name="com.att.eelf" level="info" additivity="false">
+    <appender-ref ref="asyncEELF" />
+    <appender-ref ref="asyncEELFDebug" />
+  </logger>
+
+  <logger name="com.att.eelf.audit" level="info" additivity="false">
+    <appender-ref ref="asyncEELFAudit" />
+  </logger>
+  <logger name="com.att.eelf.metrics" level="info" additivity="false">
+    <appender-ref ref="asyncEELFMetrics" />
+  </logger>
+
+  <!-- Spring related loggers -->
+  <logger name="org.springframework" level="WARN" />
+  <logger name="org.springframework.beans" level="WARN" />
+  <logger name="org.springframework.web" level="WARN" />
+  <logger name="com.blog.spring.jms" level="WARN" />
+
+  <!-- Spike service loggers -->
+  <logger name="org.onap.aai.spike" level="INFO" />
+
+  <!-- Other Loggers that may help troubleshoot -->
+  <logger name="net.sf" level="WARN" />
+  <logger name="org.apache" level="WARN" />
+  <logger name="org.apache.commons.httpclient" level="WARN" />
+  <logger name="org.apache.commons" level="WARN" />
+  <logger name="org.apache.coyote" level="WARN" />
+  <logger name="org.apache.jasper" level="WARN" />
+
+  <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+       May aid in troubleshooting) -->
+  <logger name="org.apache.camel" level="WARN" />
+  <logger name="org.apache.cxf" level="WARN" />
+  <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+  <logger name="org.apache.cxf.service" level="WARN" />
+  <logger name="org.restlet" level="WARN" />
+  <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+  <!-- logback internals logging -->
+  <logger name="ch.qos.logback.classic" level="WARN" />
+  <logger name="ch.qos.logback.core" level="WARN" />
+
+  <root>
+    <appender-ref ref="asyncEELF" />
+    <!-- <appender-ref ref="asyncEELFDebug" /> -->
+  </root>
+
+</configuration>
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v10.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v10.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v11.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v11.json
new file mode 100644 (file)
index 0000000..8d00636
--- /dev/null
@@ -0,0 +1,6 @@
+{
+        "contains-other-v": "java.lang.String",
+        "delete-other-v": "java.lang.String",
+        "SVC-INFRA": "java.lang.String",
+        "prevent-delete": "java.lang.String"
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v12.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v12.json
new file mode 100644 (file)
index 0000000..8d00636
--- /dev/null
@@ -0,0 +1,6 @@
+{
+        "contains-other-v": "java.lang.String",
+        "delete-other-v": "java.lang.String",
+        "SVC-INFRA": "java.lang.String",
+        "prevent-delete": "java.lang.String"
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v13.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v13.json
new file mode 100644 (file)
index 0000000..8d00636
--- /dev/null
@@ -0,0 +1,6 @@
+{
+        "contains-other-v": "java.lang.String",
+        "delete-other-v": "java.lang.String",
+        "SVC-INFRA": "java.lang.String",
+        "prevent-delete": "java.lang.String"
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v14.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v14.json
new file mode 100644 (file)
index 0000000..8d00636
--- /dev/null
@@ -0,0 +1,6 @@
+{
+        "contains-other-v": "java.lang.String",
+        "delete-other-v": "java.lang.String",
+        "SVC-INFRA": "java.lang.String",
+        "prevent-delete": "java.lang.String"
+}
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v7.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v7.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v8.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v8.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v9.json b/kubernetes/aai/charts/aai-spike/resources/config/model/edge_props/edge_properties_v9.json
new file mode 100644 (file)
index 0000000..7cbddae
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "isParent":"java.lang.Boolean",
+  "isParent-REV":"java.lang.Boolean",
+  "usesResource":"java.lang.Boolean",
+  "usesResource-REV":"java.lang.Boolean",
+  "SVC-INFRA":"java.lang.Boolean",
+  "SVC-INFRA-REV":"java.lang.Boolean",
+  "hasDelTarget":"java.lang.Boolean",
+  "hasDelTarget-REV":"java.lang.Boolean"
+}
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/schemaIngest.properties b/kubernetes/aai/charts/aai-spike/resources/config/schemaIngest.properties
new file mode 100644 (file)
index 0000000..cc51f17
--- /dev/null
@@ -0,0 +1,30 @@
+#
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright © 2018 Amdocs
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+#
+
+# Properties for the SchemaLocationsBean
+# The AAI Schema jar will be unpacked to bundleconfig/etc
+schemaConfig=NA
+# Files named aai_oxm_v*.xml are unpacked here:
+nodeDir=/opt/app/spike/bundleconfig/etc/oxm
+# DB Edge Rules are unpacked here:
+edgeDir=/opt/app/spike/bundleconfig/etc/dbedgerules
+# DB Edge Property files are copied here:
+edgePropsDir=/opt/app/spike/config/model/edge_props
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml b/kubernetes/aai/charts/aai-spike/resources/config/spike-beans.xml
new file mode 100644 (file)
index 0000000..50be8cb
--- /dev/null
@@ -0,0 +1,62 @@
+<!--
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+    Copyright © 2018 Amdocs
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:util="http://www.springframework.org/schema/util"
+    xsi:schemaLocation="
+        http://www.springframework.org/schema/beans
+        http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util
+        http://www.springframework.org/schema/util/spring-util.xsd">
+
+   <bean id="eventConsumer" class="org.onap.aai.event.client.DMaaPEventConsumer">
+      <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:{{.Values.event.port.dmaap}}" />
+      <constructor-arg name="topic" value="{{.Values.event.consumer.topic}}" />
+      <constructor-arg name="username" value="" />
+      <constructor-arg name="password" value="" />
+      <constructor-arg name="consumerGroup" value="spike" />
+      <constructor-arg name="consumerId" value="spike" />
+      <constructor-arg name="timeoutMs" value="1000" />
+      <constructor-arg name="messageLimit" value="100" />
+      <constructor-arg name="transportType" value="HTTPAUTH" />
+      <constructor-arg name="protocol" value="{{.Values.event.protocol}}" />
+      <constructor-arg name="filter"><null /></constructor-arg>
+   </bean>
+
+    <bean id="eventPublisher" class="org.onap.aai.event.client.DMaaPEventPublisher" >
+        <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:{{.Values.event.port.dmaap}}" />
+        <constructor-arg name="topic" value="{{.Values.event.publisher.topic}}" />
+        <constructor-arg name="username" value="" />
+        <constructor-arg name="password" value="" />
+        <constructor-arg name="maxBatchSize" value="100" />
+        <constructor-arg name="maxAgeMs" value="250" />
+        <constructor-arg name="delayBetweenBatchesMs" value="50" />
+        <constructor-arg name="transportType" value="HTTPAUTH" />
+        <constructor-arg name="protocol" value="{{.Values.event.protocol}}" />
+        <constructor-arg name="contentType" value="application/json" />
+    </bean>
+
+   <bean id="spikeService" class="org.onap.aai.spike.service.SpikeService" init-method="startup">
+      <constructor-arg ref="eventConsumer" />
+      <constructor-arg ref="eventPublisher" />
+   </bean>
+
+</beans>
@@ -1,23 +1,28 @@
-#!/bin/bash
-# ============LICENSE_START==========================================
-# ===================================================================
-# Copyright (c) 2017 AT&T
 #
+# ============LICENSE_START=======================================================
+# org.onap.aai
+# ================================================================================
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright © 2018 Amdocs
+# ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 #
-#         http://www.apache.org/licenses/LICENSE-2.0
+#       http://www.apache.org/licenses/LICENSE-2.0
 #
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#============LICENSE_END============================================
+# ============LICENSE_END=========================================================
+#
 
-printf "%s" "$*"
-printf `pwd`
-printf "%s" "---------------"
+# Spike configuration
 
-helm install local/$2 --name $2 --namespace $1
\ No newline at end of file
+spike.event.poll.interval=30000
+spike.event.offset.period= 10000
+spike.event.queue.capacity=10000
+spike.event.queue.delay=10000
+spike.props.reserved=source-of-truth,last-mod-source-of-truth,aai-created-ts,aai-last-mod-ts
diff --git a/kubernetes/aai/charts/aai-spike/templates/configmap.yaml b/kubernetes/aai/charts/aai-spike/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..8a51748
--- /dev/null
@@ -0,0 +1,29 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-edge-props-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/model/edge_props/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/aai/charts/aai-spike/templates/deployment.yaml b/kubernetes/aai/charts/aai-spike/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..edf6ce8
--- /dev/null
@@ -0,0 +1,159 @@
+# Copyright © 2018 Amdocs, AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - message-router-kafka
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+        - name: {{ .Chart.Name }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{ if .Values.liveness.enabled }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end }}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          env:
+            - name: CONFIG_HOME
+              value: /opt/app/spike/config
+            - name: KEY_STORE_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-pass
+                  key: KEY_STORE_PASSWORD
+            - name: KEY_MANAGER_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-pass
+                  key: KEY_MANAGER_PASSWORD
+            - name: SERVICE_BEANS
+              value: /opt/app/spike/dynamic/conf
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /opt/app/spike/config/auth
+            name: {{ include "common.fullname" . }}-secrets
+          - mountPath: /opt/app/spike/dynamic/conf/spike-beans.xml
+            name: {{ include "common.fullname" . }}-config
+            subPath: spike-beans.xml
+          - mountPath: /opt/app/spike/config/spike.properties
+            subPath: spike.properties
+            name: {{ include "common.fullname" . }}-config
+          - mountPath: /opt/app/spike/config/schemaIngest.properties
+            subPath: schemaIngest.properties
+            name: {{ include "common.fullname" . }}-config
+          - mountPath: /opt/app/spike/config/model/edge_props
+            name: {{ include "common.fullname" . }}-edge-props-config
+          - mountPath: /opt/app/spike/bundleconfig/etc/logback.xml
+            name: {{ include "common.fullname" . }}-config
+            subPath: logback.xml
+          - mountPath: /var/log/onap
+            name: {{ include "common.fullname" . }}-logs
+          resources:
+{{ toYaml .Values.resources | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+            name: filebeat-conf
+          - mountPath: /var/log/onap
+            name: {{ include "common.fullname" . }}-logs
+          - mountPath: /usr/share/filebeat/data
+            name: aai-filebeat
+
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: {{ include "common.fullname" . }}-secrets
+          secret:
+            secretName: {{ include "common.fullname" . }}-spike-secrets
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+            items:
+            - key: spike.properties
+              path: spike.properties
+            - key: spike-beans.xml
+              path: spike-beans.xml
+            - key: schemaIngest.properties
+              path: schemaIngest.properties
+            - key: logback.xml
+              path: logback.xml
+        - name: {{ include "common.fullname" . }}-edge-props-config
+          configMap:
+            name: {{ include "common.fullname" . }}-edge-props-configmap
+        - name: filebeat-conf
+          configMap:
+            name: aai-filebeat
+        - name: {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+        - name: aai-filebeat
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: extensions/v1beta1
-kind: Deployment
+apiVersion: v1
+kind: Secret
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ include "common.fullname" . }}-spike-secrets
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/auth/*").AsSecrets . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-pass
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
-spec:
-  replicas: {{ .Values.replicaCount }}
-  selector:
-    matchLabels:
-      app: {{ include "common.name" . }}
-  template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ .Release.Name }}
-      name: {{ include "common.name" . }}
-    spec:
-      hostname: {{ include "common.name" . }}
-      containers:
-      - args:
-        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        imagePullPolicy: {{ .Values.pullPolicy | default .Values.global.pullPolicy }}
-        name: {{ include "common.name" . }}
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+type: Opaque
+data:
+  KEY_STORE_PASSWORD: {{ .Values.config.keyStorePassword | b64enc | quote }}
+  KEY_MANAGER_PASSWORD: {{ .Values.config.keyManagerPassword | b64enc | quote }}
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -26,13 +26,14 @@ spec:
   type: {{ .Values.service.type }}
   ports:
     {{if eq .Values.service.type "NodePort" -}}
-    - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+    - port: {{ .Values.service.internalPort}}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort}}
+      name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
     {{- end}}
-      name: {{ .Values.service.portName | default "http" }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
@@ -1,5 +1,5 @@
-# Copyright © 2018 ZTE
-# Modifications Copyright © 2018 AT&T, Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, AT&T
+#
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
 # Global configuration defaults.
 #################################################################
 global:
-  nodePortPrefix: 302
-  repository: nexus3.onap.org:10001
-  readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
-  loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
 #################################################################
 # Application configuration defaults.
 #################################################################
+
 # application image
-repository: nexus3.onap.org:10001
-image: onap/vnfsdk/refrepo/postgres:1.1.1
-pullPolicy: Always
+image: onap/spike:1.0-STAGING-latest
 
-# flag to enable debugging - application support required
-debugEnabled: false
+# application configuration
+config:
+  keyStorePassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
+  keyManagerPassword: OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10
 
+# default number of instances
 replicaCount: 1
 
 nodeSelector: {}
@@ -46,18 +44,30 @@ liveness:
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
-  enabled: true
+  enabled: false
 
 readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
 service:
-  type: ClusterIP
-  name: vnfsdk-postgres
-  portName: vnfsdk-postgres
-  internalPort: 5432
-  externalPort: 5432
+  type: NodePort
+  portName: spike
+  externalPort: 9518
+  internalPort: 9518
+  nodePort: 39
 
 ingress:
   enabled: false
+
+resources: {}
+
+# XML bean configuration
+event:
+  port:
+    dmaap: 3905
+  protocol: https
+  consumer:
+    topic: champRawEvents
+  publisher:
+    topic: spikeEvents
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/cadi.properties b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/cadi.properties
new file mode 100644 (file)
index 0000000..9523367
--- /dev/null
@@ -0,0 +1,8 @@
+
+cadi_loglevel=INFO
+cadi_prop_files=/opt/app/aai-traversal/resources/aaf/org.osaaf.location.props:/opt/app/aai-traversal/resources/aaf/org.onap.aai.props
+
+# OAuth2
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
+
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile
new file mode 100644 (file)
index 0000000..3416d4a
--- /dev/null
@@ -0,0 +1,27 @@
+2otP92kNFHdexroZxvgYY7ffslFiwCD3CiVYMIfUF2edqZK7972NwkvE_mbaBo6jh8lByLIqrWAf
+jyzoiVsvQ_kCa0cS1xaRLpcxv3bx1b7o3hGPBqpd6vmSG4y2JLzNlCBZWuTJz827wr8p_fWrYuUm
+4L1WoaEe8W5PRnXjl4hDqbJBAlEoRIBXugUDt_7O5wgx2Rl3HVoOczZtf0RzONZ1F0BmKf3QlAUe
+moSbARitYRgIPt5sLbT7qPyoEpGDhQ1XBowR744-wsjBc-14yO62Ajp5xWKTp15uWn3_HHuw1SAf
+GWSBRGlSlEVkXQqi9Hw5jDttKVzHX1ckwR0SQOirbtHPHplxPX3WKjKhSdSeMzw6LOAHIQYRMKBT
+74oGnULAfPtV7TaGwOKriT3P49CoPdt9On89-LGyCZSxDWKH0K-rgB6I2_hPT2Uzr3jmXiMa-sfh
+iMvyQ7ABBVx0OFsUuNb5mcU2O6dWiQreL5RerrloV_X3ZtnNjxENXKjQ5KBR1A5ISPjFFK-kf4Rb
+p6FSII8LcsiqgdWuZ4GX_C6x8HX4A-vD0x3Uc9CfoXY-k23cNIy-R-W-oB-P2OgdWDNgZ7VaOLNt
+3L-NwWpNblfYvs93cNmkbVAwCZ3r0OP7RFeuON84TRaynK_Fh2S3rypRyJcUmM1pvpZqJ5_-umSW
+hUs1OqkdLv3xjlVzzK-3nMr0q3Zcyp4XdyLYtcX5I3Xqk9ZcsyAT7ghmHhV8KjUjue7OcfAWg0m7
+RJLGq6VC8HeK4HEMa4lF677Qh7DRufghIDEmQSIDfGA790WGSA8HqcOvAL4hURCHyCWiPa5i8ksX
+xX4HyqF8PCVCLJ_ZhzcuIlc0jStAexWbJU_vcyX7XgUaHCkF-M-zv1FP6Z3DHBMD2QqSWjmyNCCk
+8sIuwzs62P_j2o9jG33kssedCrUWOwZancU107-5H0Zw-UWvtCqUfmRZ7TsEbWY7lk_SKfLfAN5q
+ncOQgU_VxDXUFDST4LN_WVECRafK3UtwWomxWSji25Lbf6NVni3ok-yLMDZR-wrE-54jLPES9j0i
+5N0xrk9CfsvGUpUZ1_XQcgaxI6m27DtCCJXb5ywenPBiUIJCMCTq88CqNZxGpju2i4BJcUH2hUHe
+GKhO8pgslwhtEVot9EDwdzSrJkWFCfb6ud4zMxrqdi7-mLWMOydg6lhpEFEX5wu2BLIujGsZlEGE
+_K9jGfBypjXuJCKDZIuPfEnf_7idjKis_JcFB7x4Hx2HHDcBjlWWFZN_VIEnPkQSyZEC26RTFP3k
+zkY3GwUfA36a4XW2pu3gE9wz-W6fkONfzOZ6YiyCm_dRFUVuGSdJG02Hh5iXYlMOGJltPzWH2jVf
+S-QTOmXQTKSOheXoJO6O-9uQbsRf-kq-6w1pvIOp4ms35w4_0Xj0Xr2a9y-L9PdBZvrUsa-jxsZU
+LyA-YY4Ej6QwDBDTD2MGjF1E5_ekYgjoNlltM9rJjofruM4ym0n7LPHC7YXXQSEFOZYeTKi6wUDw
+hQ1DoWHgu4PQ2lexada8sxQdConbPe2iW16h-PrO5D12E4XbT00fqaMlBmjQwzdNRdCC2NRPIQ5W
+nwaO8dZ9yjxsjT7ZVHb9-DRblb3XDocponzxVXqUGtJAie4WXQnerX0ApTWGaHEr5y56JJVS_3LP
+bKrbXBXcs4jTUX4ECXRrOs8JQDQNysXhvTPCu0XUxNZpjx6KLxDs93k2OcESHjl5J6n6OKKJqqoN
+JEyFO5LGXpnmUJbn0-CaHHPRI1mHwEu4brY8wDZd9A0PD1KGXDoCHMfEk1lGblQdyOcVrXZ6uSBk
+Z6zHDnwSCHO1mPYqtelJQehZoFuPSv9PIgKLxs_qJOtZFnXII5YO1mGXgiIBWBjUFDR5HG4ENS6y
+J4MCF-JLMp-PVMAkOaCIQRRDpRnMm_fT1sc_P562Diu_pcdt-r55pMFQYGoGfjRmxQBKk0-SsdnP
+mlZIiis9DfQEN0q3QQdNRYBJD7tmhUwhAPZdLgXqJA8sZf8UyFQhhpsky79NT343YL9smUlF
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12
new file mode 100644 (file)
index 0000000..023e2ea
Binary files /dev/null and b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 differ
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props
new file mode 100644 (file)
index 0000000..4596d91
--- /dev/null
@@ -0,0 +1,13 @@
+############################################################
+# Properties Generated by AT&T Certificate Manager
+# @copyright 2016, AT&T
+############################################################
+cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US
+cadi_keyfile=/opt/app/aai-traversal/resources/aaf/org.onap.aai.keyfile
+cadi_keystore=/opt/app/aai-traversal/resources/aaf/org.onap.aai.p12
+cadi_keystore_password=enc:383RDJRFA6yQz9AOxUxC1iIg3xTJXityw05MswnpnEtelRQy2D4r5INQjrea7GTV
+#cadi_key_password=enc:<KEY PASSWORD (optional if the same as KEYSTORE PASSWORD)>
+cadi_alias=aai@aai.onap.org
+cadi_truststore=/opt/app/aai-traversal/resources/aaf/truststoreONAPall.jks
+cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2
+cadi_loglevel=INFO
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.osaaf.location.props b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.osaaf.location.props
new file mode 100644 (file)
index 0000000..132fb24
--- /dev/null
@@ -0,0 +1,23 @@
+##
+## org.osaaf.location.props
+##
+## Localized Machine Information
+##
+# Almeda California ?
+cadi_latitude=37.78187
+cadi_longitude=-122.26147
+
+# Locate URL (which AAF Env)
+aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095
+
+# AAF URL
+aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0
+
+# AAF Environment Designation
+aaf_env=DEV
+
+# OAuth2 Endpoints
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
+
+
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/permissions.properties b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/permissions.properties
new file mode 100644 (file)
index 0000000..d4956f5
--- /dev/null
@@ -0,0 +1,2 @@
+permission.type=org.onap.aai.traversal
+permission.instance=*
\ No newline at end of file
diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks
new file mode 100644 (file)
index 0000000..2da1dcc
Binary files /dev/null and b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/truststoreONAPall.jks differ
index 3222555..3859590 100644 (file)
 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
 #
 
-####################################################################
-#  REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE
-#  TEMPLATE AND *ALL* DATAFILES
-####################################################################
-
-####################################################################
-#  REMEMBER TO THINK ABOUT ENVIRONMENTAL DIFFERENCES AND CHANGE THE
-#  TEMPLATE AND *ALL* DATAFILES
-####################################################################
-
 aai.config.checktime=1000
 
 # this could come from siteconfig.pl?
 aai.config.nodename=AutomaticallyOverwritten
 
-
-
-aai.auth.cspcookies_on=false
-aai.dbmodel.filename=ex5.json
-
 aai.server.url.base=https://aai.{{ include "common.namespace" . }}:8443/aai/
-aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/v11/
+aai.server.url=https://aai.{{ include "common.namespace" . }}:8443/aai/{{ .Values.global.config.schema.version.api.default }}/
 aai.global.callback.url=https://aai.{{ include "common.namespace" . }}:8443/aai/
 
+{{ if .Values.global.config.basic.auth.enabled }}
 aai.tools.enableBasicAuth=true
-aai.tools.username=AAI
-aai.tools.password=AAI
+aai.tools.username={{ .Values.global.config.basic.auth.username }}
+aai.tools.password={{ .Values.global.config.basic.auth.passwd }}
+{{ end }}
 
-aai.truststore.filename=aai_keystore
-aai.truststore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
-aai.keystore.filename=aai_keystore
-aai.keystore.passwd.x=OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+aai.truststore.filename={{ .Values.global.config.truststore.filename }}
+aai.truststore.passwd.x={{ .Values.global.config.truststore.passwd }}
+aai.keystore.filename={{ .Values.global.config.keystore.filename }}
+aai.keystore.passwd.x={{ .Values.global.config.keystore.passwd }}
 
-
-aai.notification.current.version=v11
+aai.notification.current.version={{ .Values.global.config.schema.version.api.default }}
 aai.notificationEvent.default.status=UNPROCESSED
-aai.notificationEvent.default.eventType=AAI-EVENT
-aai.notificationEvent.default.domain=dev
+aai.notificationEvent.default.eventType={{ .Values.global.config.notification.eventType }}
+aai.notificationEvent.default.domain={{ .Values.global.config.notification.domain }}
 aai.notificationEvent.default.sourceName=aai
 aai.notificationEvent.default.sequenceNumber=0
 aai.notificationEvent.default.severity=NORMAL
-aai.notificationEvent.default.version=v11
+aai.notificationEvent.default.version={{ .Values.global.config.schema.version.api.default }}
 # This one lets us enable/disable resource-version checking on updates/deletes
 aai.resourceversion.enableflag=true
 aai.logging.maxStackTraceEntries=10
-aai.default.api.version=v11
-
-
+aai.default.api.version={{ .Values.global.config.schema.version.api.default }}
 
 # Used by Model-processing code
 aai.model.delete.sleep.per.vtx.msec=500
 aai.model.query.resultset.maxcount=50
 aai.model.query.timeout.sec=90
 
-# Used by Data Grooming
-aai.grooming.default.max.file=150
-aai.grooming.default.sleep.minutes=7
-
 aai.model.proc.max.levels=50
 aai.edgeTag.proc.max.levels=50
 
@@ -89,13 +69,13 @@ aai.transaction.logging=true
 aai.transaction.logging.get=false
 aai.transaction.logging.post=false
 
-aai.realtime.clients=SDNC,MSO,SO,robot-ete
+aai.realtime.clients={{ .Values.global.config.realtime.clients }}
 
 #timeout for traversal enabled flag
-aai.traversal.timeoutenabled=true
+aai.traversal.timeoutenabled={{ .Values.config.timeout.enabled }}
 
 #timeout app specific
-aai.traversal.timeout.appspecific=JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1
+aai.traversal.timeout.appspecific={{ .Values.config.timeout.appspecific }}
 
 #default timeout limit added for traversal if not overridden (in ms)
-aai.traversal.timeoutlimit=180000
+aai.traversal.timeoutlimit={{ .Values.config.timeout.limit | int }}
index ca02055..1ad208f 100644 (file)
@@ -16,7 +16,7 @@
 info.build.artifact=aai-traversal
 info.build.name=traversal
 info.build.description=Traversal Microservice
-info.build.version=1.2.0
+info.build.version=1.3.0
 
 spring.application.name=aai-traversal
 spring.jersey.type=filter
@@ -24,7 +24,8 @@ spring.jersey.type=filter
 server.contextPath=/
 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
 
-spring.profiles.active=production,dmaap
+spring.profiles.active={{ .Values.global.config.profiles.active }}
+spring.jersey.application-path=${schema.uri.base.path}
 #The max number of active threads in this pool
 server.tomcat.max-threads=200
 #The minimum number of threads always kept alive
@@ -32,15 +33,6 @@ server.tomcat.min-Spare-Threads=25
 #The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads
 server.tomcat.max-idle-time=60000
 
-
-#Add this properties only if you want to change the URL, AJSC Framework interceptors will intercept
-#com.att.ajsc.common.interceptors.PreInterceptor.url=/**
-#com.att.ajsc.common.interceptors.PostInterceptor.url=/**
-
-#Servlet context parameters
-server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
-kubernetes.namespace={{ include "common.namespace" . }}
-
 # If you get an application startup failure that the port is already taken
 # If thats not it, please check if the key-store file path makes sense
 server.local.startpath=aai-traversal/src/main/resources/
@@ -48,39 +40,45 @@ server.basic.auth.location=${server.local.startpath}etc/auth/realm.properties
 
 server.port=8446
 server.ssl.enabled-protocols=TLSv1.1,TLSv1.2
-server.ssl.key-store=${server.local.startpath}etc/auth/aai_keystore
-server.ssl.key-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
-server.ssl.trust-store=${server.local.startpath}etc/auth/aai_keystore
-server.ssl.trust-store-password=password(OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0)
+server.ssl.key-store=${server.local.startpath}etc/auth/{{ .Values.global.config.keystore.filename }}
+server.ssl.key-store-password=password({{ .Values.global.config.keystore.passwd }})
+server.ssl.trust-store=${server.local.startpath}etc/auth/{{ .Values.global.config.truststore.filename }}
+server.ssl.trust-store-password=password({{ .Values.global.config.truststore.passwd }})
 server.ssl.client-auth=want
 server.ssl.key-store-type=JKS
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
-dmaap.ribbon.eureka.enabled=false
-dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3904
-# Number of milliseconds to wait before making ping requests again
-dmaap.ribbon.ServerListRefreshInterval=75000
-dmaap.ribbon.NFLoadBalancerPingInterval=75000
-dmaap.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.AvailabilityFilteringRule
-dmaap.ribbon.NFLoadBalancerPingClassName=org.onap.aai.config.HttpPingImpl
-dmaap.ribbon.EnableMarkingServerDownOnReachingFailureLimit=true
-dmaap.ribbon.ServerDownFailureLimit=1
-# This needs to be verified but it seems that adding this property should automatically
-# Make the dmaap client change the url from http to https depending on the server
-dmaap.ribbon.securePorts=3905
+dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3905
+
+# Schema related attributes for the oxm and edges
+# Any additional schema related attributes should start with prefix schema
+schema.configuration.location=N/A
+schema.source.name={{ .Values.global.config.schema.source.name }}
+schema.nodes.location=${server.local.startpath}/schema/${schema.source.name}/oxm/
+schema.edges.location=${server.local.startpath}/schema/${schema.source.name}/dbedgerules/
+# Location of where the stored queries are
+schema.queries.location=${server.local.startpath}/schema/${schema.source.name}/query/
+
+schema.ingest.file=${server.local.startpath}/application.properties
+
+# Schema Version Related Attributes
+
+schema.uri.base.path={{ .Values.global.config.schema.uri.base.path }}
+# Lists all of the versions in the schema
+schema.version.list={{ .Values.global.config.schema.version.list }}
+# Specifies from which version should the depth parameter to default to zero
+schema.version.depth.start={{ .Values.global.config.schema.version.depth }}
+# Specifies from which version should the related link be displayed in response payload
+schema.version.related.link.start={{ .Values.global.config.schema.version.related.link }}
 
-# Custom Dmaap Specific Configuration
-dmaap.ribbon.username=
-dmaap.ribbon.password=
-dmaap.ribbon.health.endpoint=/topics/AAI-EVENT
-# Number of seconds to wait for the ping to work and might need to increase this if the pings are all failing
-dmaap.ribbon.pingport.timeout=3
+# Specifies from which version should the client see only the uri excluding host info
+# Before this version server base will also be included
+schema.version.app.root.start={{ .Values.global.config.schema.version.app.root }}
+# Specifies from which version should the namespace be changed
+schema.version.namespace.change.start={{ .Values.global.config.schema.version.namespace.change }}
+# Specifies from which version should the client start seeing the edge label in payload
+schema.version.edge.label.start={{ .Values.global.config.schema.version.edge.label }}
+# Specifies the version that the application should default to
+schema.version.api.default={{ .Values.global.config.schema.version.api.default }}
 
-niws.loadbalancer.dmaap.filterCircuitTripped=true
-niws.loadbalancer.dmaap.connectionFailureCountThreshold=3
-niws.loadbalancer.dmaap.circuitTripMaxTimeoutSeconds=180
-#dmaap.ribbon.retryableStatusCodes=404,503
-#dmaap.ribbon.retryableStatusCodes.MaxAutoRetriesNextServer=2
-#dmaap.ribbon.retryableStatusCodes.MaxAutoRetries=2
-#dmaap.ribbon.retryableStatusCodes.OkToRetryOnAllOperations=true
index b9216bf..2c22d14 100644 (file)
@@ -23,6 +23,8 @@
 query.fast-property=true
 query.smart-limit=false
 
+{{ if .Values.global.config.cluster.cassandra.dynamic }}
+
 {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
 {{- $global := . }}
 
@@ -35,9 +37,60 @@ storage.cassandra.read-consistency-level=LOCAL_QUORUM
 storage.cassandra.write-consistency-level=LOCAL_QUORUM
 storage.cassandra.replication-factor=3
 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
-#storage.cassandra.replication-strategy-options=MTA1cass,3
 
-#schema.default=none
+{{ else }}
+
+{{ if .Values.global.config.storage }}
+
+storage.backend={{ .Values.global.config.storage.backend }}
+
+{{ if eq .Values.global.config.storage.backend "cassandra" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
+storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
+storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
+storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
+storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "cql" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cql.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
+
+storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
+storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
+storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "hbase" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.hbase.table={{ .Values.global.config.storage.name }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ end }}
+
+{{ end }}
+
+{{ end }}
+
 storage.lock.wait-time=300
 #caching on
 cache.db-cache = true
index a8504dc..b19c9b6 100644 (file)
 query.fast-property=true
 query.smart-limit=false
 
+{{ if .Values.global.config.cluster.cassandra.dynamic }}
+
 {{- $seed_size := default 1 .Values.global.cassandra.replicas | int -}}
 {{- $global := . }}
 
-# the following parameters are not reloaded automatically and require a manual bounce
 storage.backend=cassandra
 storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
 
@@ -34,12 +35,62 @@ storage.cassandra.read-consistency-level=LOCAL_QUORUM
 storage.cassandra.write-consistency-level=LOCAL_QUORUM
 storage.cassandra.replication-factor=3
 storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.SimpleStrategy
-#storage.cassandra.replication-strategy-options=MTA1cass,3
 
-#schema.default=none
+{{ else }}
+
+{{ if .Values.global.config.storage }}
+
+storage.backend={{ .Values.global.config.storage.backend }}
+
+{{ if eq .Values.global.config.storage.backend "cassandra" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cassandra.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cassandra.read-consistency-level={{ .Values.global.config.storage.cassandra.readConsistency }}
+storage.cassandra.write-consistency-level={{ .Values.global.config.storage.cassandra.writeConsistency }}
+storage.cassandra.replication-factor={{ .Values.global.config.storage.cassandra.replicationFactor | int }}
+storage.cassandra.astyanax.cluster-name= {{ .Values.global.config.storage.clusterName }}
+storage.cassandra.astyanax.local-datacenter= {{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "cql" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.cql.keyspace={{ .Values.global.config.storage.name }}
+
+storage.cql.read-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.write-consistency-level={{ .Values.global.config.storage.cql.readConsistency }}
+storage.cql.replication-factor={{ .Values.global.config.storage.cql.replicationFactor | int }}
+
+storage.cql.only-use-local-consistency-for-system-operations={{ .Values.global.config.storage.cql.localConsistencyForSysOps }}
+storage.cql.cluster-name={{ .Values.global.config.storage.clusterName }}
+storage.cql.local-datacenter={{ .Values.global.config.storage.localDataCenter }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ else if eq .Values.global.config.storage.backend "hbase" }}
+
+storage.hostname={{ .Values.global.config.storage.hostname }}
+storage.hbase.table={{ .Values.global.config.storage.name }}
+
+storage.connection-timeout={{ .Values.global.config.storage.connectionTimeout | int }}
+cache.tx-cache-size={{ .Values.global.config.storage.cacheSize | int }}
+log.tx.key-consistent={{ .Values.global.config.storage.keyConsistent }}
+
+{{ end }}
+
+{{ end }}
+
+{{ end }}
+
 storage.lock.wait-time=300
 # Setting db-cache to false ensure the fastest propagation of changes across servers
 cache.db-cache = false
-
 #load graphson file on startup
 load.snapshot.file=false
index 84ec4f1..96fe005 100644 (file)
-<!--\r
-    ============LICENSE_START=======================================================\r
-    org.onap.aai\r
-    ================================================================================\r
-    Copyright © 2017 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
-    you may not use this file except in compliance with the License.\r
-    You may obtain a copy of the License at\r
-       http://www.apache.org/licenses/LICENSE-2.0\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
-    ============LICENSE_END=========================================================\r
-    ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
--->\r
-<configuration scan="true" scanPeriod="60 seconds" debug="false">\r
-    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />\r
-    <property resource="application.properties" />\r
-    <property name="namespace" value="aai-traversal"/>\r
-    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />\r
-    <jmxConfigurator />\r
-    <property name="logDirectory" value="${AJSC_HOME}/logs" />\r
-    <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"/>\r
-    <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"/>\r
-    <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"/>\r
-    <!--  <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"/> -->\r
-    <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"/>\r
-    <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"/>\r
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />\r
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />\r
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />\r
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">\r
-        <encoder>\r
-            <pattern>\r
-                %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}\r
-            </pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <file>${logDirectory}/rest/sane.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder>\r
-            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n\r
-            </pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="SANE" />\r
-    </appender>\r
-    <appender name="METRIC"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>INFO</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <file>${logDirectory}/rest/metrics.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfMetricLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="METRIC" />\r
-    </appender>\r
-    <appender name="DEBUG"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>DEBUG</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <file>${logDirectory}/rest/debug.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="DEBUG" />\r
-    </appender>\r
-    <appender name="ERROR"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
-            <level>WARN</level>\r
-        </filter>\r
-        <file>${logDirectory}/rest/error.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfErrorLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="ERROR" />\r
-    </appender>\r
-    <appender name="AUDIT"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <file>${logDirectory}/rest/audit.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfAuditLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="AUDIT" />\r
-    </appender>\r
-    <appender name="translog"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>DEBUG</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <file>${logDirectory}/rest/translog.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfTransLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">\r
-        <queueSize>1000</queueSize>\r
-        <includeCallerData>true</includeCallerData>\r
-        <appender-ref ref="translog" />\r
-    </appender>\r
-    <appender name="dmaapAAIEventConsumer"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
-            <level>WARN</level>\r
-        </filter>\r
-        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="dmaapAAIEventConsumerDebug"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>DEBUG</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="dmaapAAIEventConsumerMetric"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">\r
-            <level>INFO</level>\r
-            <onMatch>ACCEPT</onMatch>\r
-            <onMismatch>DENY</onMismatch>\r
-        </filter>\r
-        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfMetricLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="external"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
-            <level>WARN</level>\r
-        </filter>\r
-        <file>${logDirectory}/external/external.log</file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}\r
-            </fileNamePattern>\r
-        </rollingPolicy>\r
-        <encoder class="org.onap.aai.logging.EcompEncoder">\r
-            <pattern>${eelfLogPattern}</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <logger name="org.onap.aai" level="DEBUG" additivity="false">\r
-        <appender-ref ref="asyncDEBUG" />\r
-        <appender-ref ref="asyncERROR" />\r
-        <appender-ref ref="asyncMETRIC" />\r
-        <appender-ref ref="asyncSANE" />\r
-    </logger>\r
-    <!-- Spring related loggers -->\r
-    <logger name="org.springframework" level="WARN" />\r
-    <logger name="org.springframework.beans" level="WARN" />\r
-    <logger name="org.springframework.web" level="WARN" />\r
-    <logger name="com.blog.spring.jms" level="WARN" />\r
-    <logger name="com.jayway.jsonpath" level="WARN" />\r
-    <!-- AJSC Services (bootstrap services) -->\r
-    <logger name="ajsc" level="WARN" />\r
-    <logger name="ajsc.RouteMgmtService" level="WARN" />\r
-    <logger name="ajsc.ComputeService" level="WARN" />\r
-    <logger name="ajsc.VandelayService" level="WARN" />\r
-    <logger name="ajsc.FilePersistenceService" level="WARN" />\r
-    <logger name="ajsc.UserDefinedJarService" level="WARN" />\r
-    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />\r
-    <logger name="ajsc.LoggingConfigurationService" level="WARN" />\r
-    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet\r
-        logging) -->\r
-    <logger name="org.codehaus.groovy" level="WARN" />\r
-    <logger name="com.att.scamper" level="WARN" />\r
-    <logger name="ajsc.utils" level="WARN" />\r
-    <logger name="ajsc.utils.DME2Helper" level="WARN" />\r
-    <logger name="ajsc.filters" level="WARN" />\r
-    <logger name="ajsc.beans.interceptors" level="WARN" />\r
-    <logger name="ajsc.restlet" level="WARN" />\r
-    <logger name="ajsc.servlet" level="WARN" />\r
-    <logger name="com.att.ajsc" level="WARN" />\r
-    <logger name="com.att.ajsc.csi.logging" level="WARN" />\r
-    <logger name="com.att.ajsc.filemonitor" level="WARN" />\r
-    <logger name="com.netflix.loadbalancer" level="WARN" />\r
-    <logger name="org.apache.zookeeper" level="OFF" />\r
-    <!-- Other Loggers that may help troubleshoot -->\r
-    <logger name="net.sf" level="WARN" />\r
-    <logger name="org.apache.commons.httpclient" level="WARN" />\r
-    <logger name="org.apache.commons" level="WARN" />\r
-    <logger name="org.apache.coyote" level="WARN" />\r
-    <logger name="org.apache.jasper" level="WARN" />\r
-    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.\r
-        May aid in troubleshooting) -->\r
-    <logger name="org.apache.camel" level="WARN" />\r
-    <logger name="org.apache.cxf" level="WARN" />\r
-    <logger name="org.apache.camel.processor.interceptor" level="WARN" />\r
-    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />\r
-    <logger name="org.apache.cxf.service" level="WARN" />\r
-    <logger name="org.restlet" level="WARN" />\r
-    <logger name="org.apache.camel.component.restlet" level="WARN" />\r
-    <logger name="org.hibernate.validator" level="WARN" />\r
-    <logger name="org.hibernate" level="WARN" />\r
-    <logger name="org.hibernate.ejb" level="OFF" />\r
-    <!-- logback internals logging -->\r
-    <logger name="ch.qos.logback.classic" level="WARN" />\r
-    <logger name="ch.qos.logback.core" level="WARN" />\r
-    <logger name="org.eclipse.jetty" level="WARN" />\r
-    <!-- logback jms appenders & loggers definition starts here -->\r
-    <appender name="auditLogs"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
-        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log\r
-        </file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip\r
-            </fileNamePattern>\r
-            <minIndex>1</minIndex>\r
-            <maxIndex>9</maxIndex>\r
-        </rollingPolicy>\r
-        <triggeringPolicy\r
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
-            <maxFileSize>5MB</maxFileSize>\r
-        </triggeringPolicy>\r
-        <encoder>\r
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="perfLogs"\r
-        class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />\r
-        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log\r
-        </file>\r
-        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
-            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip\r
-            </fileNamePattern>\r
-            <minIndex>1</minIndex>\r
-            <maxIndex>9</maxIndex>\r
-        </rollingPolicy>\r
-        <triggeringPolicy\r
-            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
-            <maxFileSize>5MB</maxFileSize>\r
-        </triggeringPolicy>\r
-        <encoder>\r
-            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>\r
-        </encoder>\r
-    </appender>\r
-    <appender name="miscLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
-                <file>${logDirectory}/misc/misc.log</file>\r
-                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
-                        <fileNamePattern>${logDirectory}/misc/misc.log.%d{yyyy-MM-dd}</fileNamePattern>\r
-                </rollingPolicy>\r
-                <encoder>\r
-                        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n                                                              \r
-                        </pattern>\r
-        </encoder>\r
-        </appender>\r
-    <logger name="AuditRecord" level="INFO" additivity="false">\r
-        <appender-ref ref="auditLogs" />\r
-    </logger>\r
-    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">\r
-        <appender-ref ref="auditLogs" />\r
-    </logger>\r
-    <logger name="PerfTrackerRecord" level="INFO" additivity="false">\r
-        <appender-ref ref="perfLogs" />\r
-    </logger>\r
-    <logger name="MiscRecord" level="INFO" additivity="false">\r
-                <appender-ref ref="miscLogs" />\r
-        </logger>\r
-    <!-- logback jms appenders & loggers definition ends here -->\r
-    <logger name="org.onap.aai.interceptors.post" level="DEBUG"\r
-            additivity="false">\r
-        <appender-ref ref="asynctranslog" />\r
-    </logger>\r
-    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">\r
-        <appender-ref ref="asyncAUDIT"/>\r
-    </logger>\r
-    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">\r
-        <appender-ref ref="asyncAUDIT"/>\r
-    </logger>\r
-    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">\r
-        <appender-ref ref="dmaapAAIEventConsumer" />\r
-        <appender-ref ref="dmaapAAIEventConsumerDebug" />\r
-        <appender-ref ref="dmaapAAIEventConsumerMetric" />\r
-    </logger>\r
-    <logger name="org.apache" level="OFF" />\r
-    <logger name="org.zookeeper" level="OFF" />\r
-    <logger name="com.thinkaurelius" level="WARN" />\r
-    <logger name="com.att.aft.dme2" level="WARN" />\r
-    <!-- ============================================================================ -->\r
-    <!-- General EELF logger -->\r
-    <!-- ============================================================================ -->\r
-    <logger name="com.att.eelf" level="WARN" additivity="false">\r
-        <appender-ref ref="asyncDEBUG" />\r
-        <appender-ref ref="asyncERROR" />\r
-        <appender-ref ref="asyncMETRIC" />\r
-    </logger>\r
-    <root level="DEBUG">\r
-        <appender-ref ref="external" />\r
-    </root>\r
-</configuration>\r
+<!--
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+    Modifications Copyright © 2018 Amdocs, Bell Canada
+    ================================================================================
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+       http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+    ============LICENSE_END=========================================================
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+    <property resource="application.properties" />
+    <property name="namespace" value="aai-traversal"/>
+    <property name="AJSC_HOME" value="${AJSC_HOME:-.}" />
+    <jmxConfigurator />
+    <property name="logDirectory" value="${AJSC_HOME}/logs" />
+    <property name="eelfLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfAuditLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfMetricLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{targetVirtualEntity}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <!--  <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n|\r\n', '^'}|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/> -->
+    <property name="eelfErrorLogPattern" value="%ecompStartTime|%X{requestId}|%-10t|%X{serviceName}|%X{partnerName}|%X{targetEntity}|%X{targetServiceName}|%ecompErrorCategory|%ecompResponseCode|%ecompResponseDescription|co=%X{component}:%replace(%replace(%m){'\\|', '!'}){'\r|\n', '^'}%n"/>
+    <property name="eelfTransLogPattern" value="%ecompStartTime|%date{yyyy-MM-dd'T'HH:mm:ss.SSSZ, UTC}|%X{requestId}|%X{serviceInstanceId}|%-10t|%X{serverName}|%X{serviceName}|%X{partnerName}|%X{statusCode}|%X{responseCode}|%replace(%replace(%X{responseDescription}){'\\|', '!'}){'\r|\n', '^'}|%X{instanceUUID}|%level|%X{severity}|%X{serverIpAddress}|%ecompElapsedTime|%X{server}|%X{clientIpAddress}|%eelfClassOfCaller|%X{unused}|%X{processKey}|%X{customField1}|%X{customField2}|%X{customField3}|%X{customField4}|co=%X{partnerName}:%m%n"/>
+    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
+    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
+    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>
+                %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="SANE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/sane.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/sane.log.%d{yyyy-MM-dd}</fileNamePattern>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+            </pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncSANE" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="SANE" />
+    </appender>
+    <appender name="METRIC"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/metrics.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncMETRIC" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="METRIC" />
+    </appender>
+    <appender name="DEBUG"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/debug.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncDEBUG" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="DEBUG" />
+    </appender>
+    <appender name="ERROR"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/rest/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfErrorLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncERROR" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="ERROR" />
+    </appender>
+    <appender name="AUDIT"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${logDirectory}/rest/audit.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/audit.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfAuditLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asyncAUDIT" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="AUDIT" />
+    </appender>
+    <appender name="translog"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <file>${logDirectory}/rest/translog.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/rest/translog.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfTransLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="asynctranslog" class="ch.qos.logback.classic.AsyncAppender">
+        <queueSize>1000</queueSize>
+        <includeCallerData>true</includeCallerData>
+        <appender-ref ref="translog" />
+    </appender>
+    <appender name="dmaapAAIEventConsumer"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerDebug"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>DEBUG</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="dmaapAAIEventConsumerMetric"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+            <level>INFO</level>
+            <onMatch>ACCEPT</onMatch>
+            <onMismatch>DENY</onMismatch>
+        </filter>
+        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfMetricLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <appender name="external"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>WARN</level>
+        </filter>
+        <file>${logDirectory}/external/external.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${logDirectory}/external/external.log.%d{yyyy-MM-dd}
+            </fileNamePattern>
+        </rollingPolicy>
+        <encoder class="org.onap.aai.logging.EcompEncoder">
+            <pattern>${eelfLogPattern}</pattern>
+        </encoder>
+    </appender>
+    <logger name="org.onap.aai" level="DEBUG" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+        <appender-ref ref="asyncSANE" />
+    </logger>
+    <!-- Spring related loggers -->
+    <logger name="org.springframework" level="WARN" />
+    <logger name="org.springframework.beans" level="WARN" />
+    <logger name="org.springframework.web" level="WARN" />
+    <logger name="com.blog.spring.jms" level="WARN" />
+    <logger name="com.jayway.jsonpath" level="WARN" />
+    <!-- AJSC Services (bootstrap services) -->
+    <logger name="ajsc" level="WARN" />
+    <logger name="ajsc.RouteMgmtService" level="WARN" />
+    <logger name="ajsc.ComputeService" level="WARN" />
+    <logger name="ajsc.VandelayService" level="WARN" />
+    <logger name="ajsc.FilePersistenceService" level="WARN" />
+    <logger name="ajsc.UserDefinedJarService" level="WARN" />
+    <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+    <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+    <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+        logging) -->
+    <logger name="org.codehaus.groovy" level="WARN" />
+    <logger name="com.att.scamper" level="WARN" />
+    <logger name="ajsc.utils" level="WARN" />
+    <logger name="ajsc.utils.DME2Helper" level="WARN" />
+    <logger name="ajsc.filters" level="WARN" />
+    <logger name="ajsc.beans.interceptors" level="WARN" />
+    <logger name="ajsc.restlet" level="WARN" />
+    <logger name="ajsc.servlet" level="WARN" />
+    <logger name="com.att.ajsc" level="WARN" />
+    <logger name="com.att.ajsc.csi.logging" level="WARN" />
+    <logger name="com.att.ajsc.filemonitor" level="WARN" />
+    <logger name="com.netflix.loadbalancer" level="WARN" />
+    <logger name="org.apache.zookeeper" level="OFF" />
+    <!-- Other Loggers that may help troubleshoot -->
+    <logger name="net.sf" level="WARN" />
+    <logger name="org.apache.commons.httpclient" level="WARN" />
+    <logger name="org.apache.commons" level="WARN" />
+    <logger name="org.apache.coyote" level="WARN" />
+    <logger name="org.apache.jasper" level="WARN" />
+    <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+        May aid in troubleshooting) -->
+    <logger name="org.apache.camel" level="WARN" />
+    <logger name="org.apache.cxf" level="WARN" />
+    <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+    <logger name="org.apache.cxf.service" level="WARN" />
+    <logger name="org.restlet" level="WARN" />
+    <logger name="org.apache.camel.component.restlet" level="WARN" />
+    <logger name="org.hibernate.validator" level="WARN" />
+    <logger name="org.hibernate" level="WARN" />
+    <logger name="org.hibernate.ejb" level="OFF" />
+    <!-- logback internals logging -->
+    <logger name="ch.qos.logback.classic" level="WARN" />
+    <logger name="ch.qos.logback.core" level="WARN" />
+    <logger name="org.eclipse.jetty" level="WARN" />
+    <!-- logback jms appenders & loggers definition starts here -->
+    <appender name="auditLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Audit-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <appender name="perfLogs"
+        class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" />
+        <file>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.log
+        </file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+            <fileNamePattern>${logDirectory}/perf-audit/Perform-${lrmRVer}-${lrmRO}-${Pid}.%i.log.zip
+            </fileNamePattern>
+            <minIndex>1</minIndex>
+            <maxIndex>9</maxIndex>
+        </rollingPolicy>
+        <triggeringPolicy
+            class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+            <maxFileSize>5MB</maxFileSize>
+        </triggeringPolicy>
+        <encoder>
+            <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+        </encoder>
+    </appender>
+    <appender name="miscLogs" class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <file>${logDirectory}/misc/misc.log</file>
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                        <fileNamePattern>${logDirectory}/misc/misc.log.%d{yyyy-MM-dd}</fileNamePattern>
+                </rollingPolicy>
+                <encoder>
+                        <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n                                                              
+                        </pattern>
+        </encoder>
+        </appender>
+    <logger name="AuditRecord" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="AuditRecord_DirectCall" level="INFO" additivity="false">
+        <appender-ref ref="auditLogs" />
+    </logger>
+    <logger name="PerfTrackerRecord" level="INFO" additivity="false">
+        <appender-ref ref="perfLogs" />
+    </logger>
+    <logger name="MiscRecord" level="INFO" additivity="false">
+                <appender-ref ref="miscLogs" />
+        </logger>
+    <!-- logback jms appenders & loggers definition ends here -->
+    <logger name="org.onap.aai.interceptors.post" level="DEBUG"
+            additivity="false">
+        <appender-ref ref="asynctranslog" />
+    </logger>
+    <logger name="org.onap.aai.interceptors.pre.SetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.interceptors.post.ResetLoggingContext" level="DEBUG">
+        <appender-ref ref="asyncAUDIT"/>
+    </logger>
+    <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+        <appender-ref ref="dmaapAAIEventConsumer" />
+        <appender-ref ref="dmaapAAIEventConsumerDebug" />
+        <appender-ref ref="dmaapAAIEventConsumerMetric" />
+    </logger>
+    <logger name="org.apache" level="OFF" />
+    <logger name="org.zookeeper" level="OFF" />
+    <logger name="com.thinkaurelius" level="WARN" />
+    <logger name="com.att.aft.dme2" level="WARN" />
+    <!-- ============================================================================ -->
+    <!-- General EELF logger -->
+    <!-- ============================================================================ -->
+    <logger name="com.att.eelf" level="WARN" additivity="false">
+        <appender-ref ref="asyncDEBUG" />
+        <appender-ref ref="asyncERROR" />
+        <appender-ref ref="asyncMETRIC" />
+    </logger>
+    <root level="DEBUG">
+        <appender-ref ref="external" />
+        {{if .Values.global.config.logback.console.enabled}}
+        <appender-ref ref="STDOUT" />
+        {{ end }}
+    </root>
+</configuration>
index 9d89505..8098369 100644 (file)
@@ -67,3 +67,25 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/realm.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-aaf-props
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/aaf/org.osaaf.location.props").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/permissions.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.props").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/cadi.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ include "common.fullname" . }}-aaf-keys
+  namespace: {{ include "common.namespace" . }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.keyfile").AsSecrets . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/org.onap.aai.p12").AsSecrets . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aaf/truststoreONAPall.jks").AsSecrets . | indent 2 }}
index a571e42..3cedaec 100644 (file)
@@ -248,14 +248,20 @@ spec:
           ]'
     spec:
       hostname: aai-traversal
+    {{ if .Values.global.initContainers.enabled }}
       initContainers:
       - command:
+      {{  if .Values.global.jobs.createSchema.enabled  }}
+        - /root/job_complete.py
+        args:
+        - --job-name
+        - {{ .Release.Name }}-aai-graphadmin-create-db-schema
+      {{  else }}
         - /root/ready.py
         args:
         - --container-name
         - aai-cassandra
-        - --container-name
-        - aai-resources
+      {{  end  }}
         env:
         - name: NAMESPACE
           valueFrom:
@@ -265,6 +271,7 @@ spec:
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
+    {{ end }}
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -273,9 +280,9 @@ spec:
         - name: DISABLE_UPDATE_QUERY
           value: {{ .Values.config.disableUpdateQuery | quote }}
         - name: LOCAL_USER_ID
-          value: {{ .Values.config.userId | quote }}
+          value: {{ .Values.global.config.userId | quote }}
         - name: LOCAL_GROUP_ID
-          value: {{ .Values.config.groupId | quote }}
+          value: {{ .Values.global.config.groupId | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -297,12 +304,36 @@ spec:
         - mountPath: /opt/app/aai-traversal/resources/localhost-access-logback.xml
           name: {{ include "common.fullname" . }}-localhost-access-log-conf
           subPath: localhost-access-logback.xml
+        - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.keyfile
+          name: {{ include "common.fullname" . }}-aaf-certs
+          subPath: org.onap.aai.keyfile
+        - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.props
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: org.onap.aai.props
+        - mountPath: /opt/app/aai-traversal/resources/aaf/org.osaaf.location.props
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: org.osaaf.location.props
+        - mountPath: /opt/app/aai-traversal/resources/aaf/permissions.properties
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: permissions.properties
+        - mountPath: /opt/app/aai-traversal/resources/cadi.properties
+          name: {{ include "common.fullname" . }}-aaf-properties
+          subPath: cadi.properties
+        - mountPath: /opt/app/aai-traversal/resources/aaf/org.onap.aai.p12
+          name: {{ include "common.fullname" . }}-aaf-certs
+          subPath: org.onap.aai.p12
+        - mountPath: /opt/app/aai-traversal/resources/aaf/truststoreONAPall.jks
+          name: {{ include "common.fullname" . }}-aaf-certs
+          subPath: truststoreONAPall.jks
         - mountPath: /opt/app/aai-traversal/resources/application.properties
           name: {{ include "common.fullname" . }}-springapp-conf
           subPath: application.properties
-        - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore
-          name: {{ include "common.fullname" . }}-auth-sec
-          subPath: aai_keystore
+          {{ $global := . }}
+          {{ range $job := .Values.global.config.auth.files }}
+        - mountPath: /opt/app/aai-traversal/resources/etc/auth/{{ . }}
+          name: {{ include "common.fullname" $global }}-auth-truststore-sec
+          subPath: {{ . }}
+          {{ end }}
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
@@ -369,15 +400,26 @@ spec:
       - name: {{ include "common.fullname" . }}-aaiconfig-conf
         configMap:
          name: {{ include "common.fullname" . }}-aaiconfig-configmap
+      - name: {{ include "common.fullname" . }}-aaf-properties
+        configMap:
+         name: {{ include "common.fullname" . }}-aaf-props
+      - name: {{ include "common.fullname" . }}-aaf-certs
+        secret:
+         secretName: {{ include "common.fullname" . }}-aaf-keys
       - name: {{ include "common.fullname" . }}-springapp-conf
         configMap:
          name: {{ include "common.fullname" . }}-springapp-configmap
       - name: {{ include "common.fullname" . }}-realm-conf
         configMap:
          name: {{ include "common.fullname" . }}-realm-configmap
-      - name: {{ include "common.fullname" . }}-auth-sec
+      - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-secret
+         secretName: aai-auth-truststore-secret
+         items:
+          {{ range $job := .Values.global.config.auth.files }}
+           - key: {{ . }}
+             path: {{ . }}
+          {{ end }}
       restartPolicy: {{ .Values.global.restartPolicy | default .Values.restartPolicy }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 41c26db..a018ede 100644 (file)
@@ -13,6 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+{{ if .Values.global.jobs.updateQueryData.enabled }}
+
 apiVersion: batch/v1
 kind: Job
 metadata:
@@ -59,9 +61,9 @@ spec:
           bash -x /opt/app/aai-traversal/docker-entrypoint.sh install/updateQueryData.sh
         env:
         - name: LOCAL_USER_ID
-          value: "1000"
+          value: {{ .Values.global.config.userId | quote }}
         - name: LOCAL_GROUP_ID
-          value: "1000"
+          value: {{ .Values.global.config.groupId | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -86,9 +88,12 @@ spec:
         - mountPath: /opt/app/aai-traversal/resources/application.properties
           name: {{ include "common.fullname" . }}-springapp-conf
           subPath: application.properties
-        - mountPath: /opt/app/aai-traversal/resources/etc/auth/aai_keystore
-          name: {{ include "common.fullname" . }}-auth-sec
-          subPath: aai_keystore
+          {{ $global := . }}
+          {{ range $job := .Values.global.config.auth.files }}
+        - mountPath: /opt/app/aai-traversal/resources/etc/auth/{{ . }}
+          name: {{ include "common.fullname" $global }}-auth-truststore-sec
+          subPath: {{ . }}
+          {{ end }}
         # disable liveness probe when breakpoints set in debugger
         # so K8s doesn't restart unresponsive container
       volumes:
@@ -124,9 +129,15 @@ spec:
       - name: {{ include "common.fullname" . }}-realm-conf
         configMap:
          name: {{ include "common.fullname" . }}-realm-configmap
-      - name: {{ include "common.fullname" . }}-auth-sec
+      - name: {{ include "common.fullname" . }}-auth-truststore-sec
         secret:
-         secretName: aai-auth-secret
+         secretName: aai-auth-truststore-secret
+         items:
+          {{ range $job := .Values.global.config.auth.files }}
+           - key: {{ . }}
+             path: {{ . }}
+          {{ end }}
       restartPolicy: OnFailure
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
+{{ end }}
index d5b4b84..a3410ad 100644 (file)
@@ -23,15 +23,23 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/aai-traversal:1.2.2
+image: onap/aai-traversal:1.3-STAGING-latest
 pullPolicy: Always
 restartPolicy: Always
 
 # application configuration
 config:
-  aaicoreversion: 1.1.0-SNAPSHOT
-  userId: 1000
-  groupId: 1000
+
+  # Specifies timeout information such as application specific and limits
+  timeout:
+    # If set to true application will timeout for queries taking longer than limit
+    enabled: true
+    # Specifies which apps (X-FromAppId) header should get overridden and (-1) no timeout
+    appspecific: JUNITTESTAPP1,1|JUNITTESTAPP2,-1|DCAE-CCS,-1|DCAES,-1|AAI-FILEGEN-GFPIP,-1
+    # Specifies how long should it wait before timing out the REST request
+    limit: 180000
+
+  # Disables the updateQueryData script to run as part of traversal
   disableUpdateQuery: true
 
 persistence:
index 627f8b9..bd5f9b9 100644 (file)
@@ -42,10 +42,10 @@ data:
 apiVersion: v1
 kind: Secret
 metadata:
-  name: aai-auth-secret
+  name: aai-auth-truststore-secret
   namespace: {{ include "common.namespace" . }}
 type: Opaque
 data:
-{{ tpl (.Files.Glob "resources/config/aai/aai_keystore").AsSecrets . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/aai/*").AsSecrets . | indent 2 }}
 
 
index 84f6997..dc65cef 100644 (file)
@@ -31,6 +31,8 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
       name: {{ .Release.Name }}
+      annotations:
+        checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
     spec:
       initContainers:
       - command:
index 0cd7ae3..99699a0 100644 (file)
@@ -21,14 +21,19 @@ global: # global defaults
   repository: nexus3.onap.org:10001
   dockerhubRepository: docker.io
   busyboxImage: busybox
+
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
+
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
+
   restartPolicy: Always
+
   cassandra:
     serviceName: aai-cassandra
     replicas: 3
+
   aai:
     serviceName: aai
   babel:
@@ -51,7 +56,140 @@ global: # global defaults
     serviceName: aai-search-data
   traversal:
     serviceName: aai-traversal
+  graphadmin:
+    serviceName: aai-graphadmin
+  spike:
+    serviceName: aai-spike
+
+  initContainers:
+    enabled: true
+  # Specifies a list of jobs to be run
+  jobs:
+    # When enabled, it will create the schema based on oxm and edge rules
+    createSchema:
+      enabled: true
+    # When enabled, it will create the widget models via REST API to haproxy
+    updateQueryData:
+      enabled: true
+
+  # Common configuration for resources traversal and graphadmin
+  config:
+    # User information for the admin user in container
+    userId: 1000
+    groupId: 1000
+
+    # Specifies that the cluster connected to a dynamic
+    # cluster being spinned up by kubernetes deployment
+    cluster:
+      cassandra:
+        dynamic: true
+
+    # If cluster.cassandra.dynamic is set to false
+    # Then the following configuration should be uncommented
+    # This is if you are planning to connect to a existing
+    # Cassandra cluster instead of doing the deployment
+    #storage:
+    #  backend: cassandra
+    #  hostname: somehost1,somehost2,somehost3
+    #  connectionTimeout: 100000
+    #  cacheSize: 1000000
+    #  clusterName: someClusterName
+    #  localDataCenter: someDataCenter
+    #  keyConsistent: true
+    #  # If backend is cql or cassandra it should be keyspace name
+    #  # else backend is hbase it should be hbase table name
+    #  name: your_hbase_table_or_keyspace_name
+
+    #  # CQL driver specific properties for janusgraph
+    #  cql:
+    #    # Name of the Cassandra Cluster
+    #    cluster: someclustername
+    #    readConsistency: QUORUM
+    #    writeConsistency: QUORUM
+    #    replicationFactor: 3
+    #    localConsistencyForSysOps: true
 
+    #  # Cassandra driver specific properties for janusgraph
+    #  cassandra:
+    #    # Name of the Cassandra Cluster
+    #    cluster: someclustername
+    #    readConsistency: LOCAL_QUORUM
+    #    writeConsistency: LOCAL_QUORUM
+    #    replicationFactor: 3
+
+    # Specifies if the basic authorization is enabled
+    basic:
+      auth:
+        enabled: true
+        username: AAI
+        passwd: AAI
+
+    # Active spring profiles for the resources microservice
+    profiles:
+      active: production,dmaap,one-way-ssl
+
+    # Notification event specific properties
+    notification:
+      eventType: AAI-EVENT
+      domain: dev
+
+    # Schema specific properties that include supported versions of api
+    schema:
+      source:
+        # Specifies which folder to take a look at
+        name: onap
+      uri:
+        # Base URI Path of the application
+        base:
+          path: /aai
+      version:
+        # Current version of the REST API
+        api:
+          default: v14
+        # Specifies which version the depth parameter is configurable
+        depth: v9
+        # List of all the supported versions of the API
+        list: v8,v9,v10,v11,v12,v13,v14
+        # Specifies from which version related link should appear
+        related:
+          link: v10
+        # Specifies from which version the app root change happened
+        app:
+          root: v11
+        # Specifies from which version the xml namespace changed
+        namespace:
+          change: v12
+        # Specifies from which version the edge label appeared in API
+        edge:
+          label: v12
+
+    # Keystore configuration password and filename
+    keystore:
+      filename: aai_keystore
+      passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+
+    # Truststore configuration password and filename
+    truststore:
+      filename: aai_keystore
+      passwd: OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0
+
+    # Specifies a list of files to be included in auth volume
+    auth:
+      files:
+        - aai_keystore
+
+    # Specifies which clients should always default to realtime graph connection
+    realtime:
+      clients: SDNC,MSO,SO,robot-ete
+
+    # Logback debug enabled
+    logback:
+      console:
+        # If enabled, container will print all logback to standard output
+        # This will make debugging much easier but it should only be done
+        # when debugging the issue and changed back as it can affect performance
+        # since when this is enabled, it prints a lot of information to console
+        enabled: false
 
 # application image
 dockerhubRepository: registry.hub.docker.com
@@ -119,4 +257,4 @@ resources: {}
 #    memory: 4Gi
 #  requests:
 #    cpu: 2
-#    memory: 4Gi
+#    memory: 4Gi
\ No newline at end of file
index 1afb957..783c814 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index 28d6402..67e33ba 100644 (file)
@@ -16,7 +16,7 @@ dependencies:
   - name: common
     version: ~2.0.0
     repository: '@local'
-  - name: mysql
+  - name: mariadb-galera
     version: ~2.0.0
     repository: '@local'
   - name: dgbuilder
index 5f8b869..b3cf868 100755 (executable)
@@ -21,7 +21,7 @@
 
 SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk}
 APPC_HOME=${APPC_HOME:-/opt/onap/appc}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}}
 
 APPC_DB_USER=${APPC_DB_USER:-appcctl}
 APPC_DB_PASSWD=${APPC_DB_PASSWD:-appcctl}
@@ -29,7 +29,7 @@ APPC_DB_DATABASE=${SDN_DB_DATABASE:-appcctl}
 
 
 # Create tablespace and user account
-mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END
+mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END
 CREATE DATABASE ${APPC_DB_DATABASE};
 CREATE USER '${APPC_DB_USER}'@'localhost' IDENTIFIED BY '${APPC_DB_PASSWD}';
 CREATE USER '${APPC_DB_USER}'@'%' IDENTIFIED BY '${APPC_DB_PASSWD}';
@@ -40,16 +40,16 @@ END
 
 if [ -f ${APPC_HOME}/data/appcctl.dump ]
 then
-  mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} appcctl < ${APPC_HOME}/data/appcctl.dump
+  mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} appcctl < ${APPC_HOME}/data/appcctl.dump
 fi
 
 if [ -f ${APPC_HOME}/data/sdnctl.dump ]
 then
-  mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sdnctl.dump
+  mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sdnctl.dump
 fi
 
 if [ -f ${APPC_HOME}/data/sqlData.dump ]
 then
-  mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sqlData.dump
+  mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${APPC_HOME}/data/sqlData.dump
 fi
 
index d304a43..3cbee8d 100755 (executable)
@@ -54,7 +54,7 @@ ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-admin}
 SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk}
 APPC_HOME=${APPC_HOME:-/opt/onap/appc}
 SLEEP_TIME=${SLEEP_TIME:-120}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}}
 ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
 ENABLE_AAF=${ENABLE_AAF:-false}
 AAF_EXT_IP=${AAF_EXT_IP:-{{.Values.config.aafExtIP}}}
@@ -83,13 +83,13 @@ echo "" >> $APPC_HOME/data/properties/appc.properties
 #
 # Wait for database to init properly
 #
-echo "Waiting for mysql"
-until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null
+echo "Waiting for mariadbgalera"
+until mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql &> /dev/null
 do
   printf "."
   sleep 1
 done
-echo -e "\nmysql ready"
+echo -e "\nmariadbgalera ready"
 
 if [ ! -f ${SDNC_HOME}/.installed ]
 then
index c7feef2..47c6788 100644 (file)
@@ -32,9 +32,9 @@ appc.demo.threads.queuesize.max=1000
 appc.demo.threads.poolsize.min=1
 appc.demo.threads.poolsize.max=2
 appc.demo.provider.user=admin
-appc.demo.provider.pass=admin
+appc.demo.provider.pass={{.Values.config.odlPassword}}
 appc.demo.provider.url=http://localhost:8181/restconf/operations/appc-provider
-appc.provider.vfodl.url=http://admin:admin@{{.Values.service.name}}:{{.Values.service.externalPort}}/restconf/config/network-topology:network-topology/topology/topology-netconf/node/NODE_NAME/yang-ext:mount/sample-plugin:sample-plugin/pg-streams/
+appc.provider.vfodl.url=http://admin:{{.Values.config.odlPassword}}@{{.Values.service.name}}:{{.Values.service.externalPort}}/restconf/config/network-topology:network-topology/topology/topology-netconf/node/NODE_NAME/yang-ext:mount/sample-plugin:sample-plugin/pg-streams/
 
 # The properties right below are needed to properly call the Master DG to serve demo purposes
 appc.service.logic.module.name=APPC
@@ -42,11 +42,11 @@ appc.topology.dg.method=topology-operation-all
 appc.topology.dg.version=2.0.0
 
 # TEMP - Properties that might be needed to make the AAI-APPC connection
-org.onap.appc.db.url.appcctl=jdbc:mysql://{{.Values.mysql.service.name}}:3306/appcctl
+org.onap.appc.db.url.appcctl=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}:3306/appcctl
 org.onap.appc.db.user.appcctl=appcctl
 org.onap.appc.db.pass.appcctl=appcctl
 
-org.onap.appc.db.url.sdnctl=jdbc:mysql://{{.Values.mysql.service.name}}:3306/sdnctl
+org.onap.appc.db.url.sdnctl=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}:3306/sdnctl
 org.onap.appc.db.user.sdnctl=sdnctl
 org.onap.appc.db.pass.sdnctl=gamma
 
@@ -80,7 +80,7 @@ appc.LCM.topic.read=APPC-LCM-READ
 appc.LCM.topic.write=APPC-LCM-WRITE
 appc.LCM.client.name=APPC-EVENT-LISTENER-TEST
 appc.LCM.provider.user=admin
-appc.LCM.provider.pass=admin
+appc.LCM.provider.pass={{.Values.config.odlPassword}}
 appc.LCM.provider.url=http://localhost:8181/restconf/operations/appc-provider-lcm
 appc.LCM.scopeOverlap.endpoint=http://localhost:8181/restconf/operations/interfaces-service:execute-service
 
@@ -88,7 +88,7 @@ appc.LCM.scopeOverlap.endpoint=http://localhost:8181/restconf/operations/interfa
 poolMembers=message-router.{{.Release.Namespace}}:3904
 event.pool.members=message-router.{{.Release.Namespace}}:3904
 restconf.user=admin
-restconf.pass=admin
+restconf.pass={{.Values.config.odlPassword}}
 
 
 # properties found in appc-rest-adapter-bundle, appc-chef-adapter-bundle, appc-iaas-adapter-bundle)
@@ -127,4 +127,4 @@ appc.OAM.topic.read=testOAM
 appc.OAM.topic.write=testOAM
 appc.OAM.client.name=testOAM
 appc.OAM.provider.user=admin
-appc.OAM.provider.pass=admin
+appc.OAM.provider.pass={{.Values.config.odlPassword}}
index 6089ae4..a566052 100644 (file)
@@ -22,8 +22,8 @@
 # dblib.properrties
 org.onap.ccsdk.sli.dbtype=jdbc
 
-org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.hosts=dbhost
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl
 org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
 org.onap.ccsdk.sli.jdbc.database=sdnctl
 org.onap.ccsdk.sli.jdbc.user=sdnctl
index dd6265c..5b22ccb 100644 (file)
@@ -21,7 +21,7 @@
 
 org.onap.ccsdk.sli.dbtype = dblib
 #Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl
 org.onap.ccsdk.sli.jdbc.database=sdnctl
 org.onap.ccsdk.sli.jdbc.user=sdnctl
 org.onap.ccsdk.sli.jdbc.password=gamma
index e7b1333..92e8a36 100755 (executable)
@@ -23,7 +23,7 @@
 MYSQL_USER=${MYSQL_USER:-sdnctl}
 MYSQL_PWD=${MYSQL_PWD:-gamma}
 MYSQL_DB=${MYSQL_DB:-sdnctl}
-MYSQL_HOST=${MYSQL_HOST:-{{.Values.mysql.service.name}}.{{.Release.Namespace}}}
+MYSQL_HOST=${MYSQL_HOST:-{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}}
 
 mysql --user=${MYSQL_USER} --password=${MYSQL_PWD} --host=${MYSQL_HOST} ${MYSQL_DB} <<-END
 SELECT module, rpc, version, mode from SVC_LOGIC where active='Y';
index adb38d9..247e1ac 100644 (file)
@@ -21,7 +21,7 @@
 ###
 
 org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl
 org.onap.ccsdk.sli.jdbc.database = sdnctl
 org.onap.ccsdk.sli.jdbc.user = sdnctl
 org.onap.ccsdk.sli.jdbc.password = gamma
index 8de2af2..da16d39 100755 (executable)
@@ -23,7 +23,7 @@
 ###
 
 SDNC_HOME=${SDNC_HOME:-/opt/onap/ccsdk}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}}
 
 SDNC_DB_USER=${SDNC_DB_USER:-sdnctl}
 SDNC_DB_PASSWD=${SDNC_DB_PASSWD:-gamma}
@@ -31,7 +31,7 @@ SDNC_DB_DATABASE=${SDN_DB_DATABASE:-sdnctl}
 
 
 # Create tablespace and user account
-mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END
+mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} mysql <<-END
 CREATE DATABASE ${SDNC_DB_DATABASE};
 CREATE USER '${SDNC_DB_USER}'@'localhost' IDENTIFIED BY '${SDNC_DB_PASSWD}';
 CREATE USER '${SDNC_DB_USER}'@'%' IDENTIFIED BY '${SDNC_DB_PASSWD}';
@@ -42,6 +42,6 @@ END
 
 if [ -f ${SDNC_HOME}/data/odlsli.dump ]
 then
-mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/odlsli.dump
+mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/odlsli.dump
 fi
 
index 84ad577..231fd0a 100755 (executable)
@@ -29,18 +29,18 @@ ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
 ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
 SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
 SLEEP_TIME=${SLEEP_TIME:-120}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}}
 
 #
 # Wait for database
 #
-echo "Waiting for mysql"
-until mysql -h {{.Values.mysql.service.name}}.{{.Release.Namespace}} -u root -p{{.Values.config.dbRootPassword}} mysql &> /dev/null
+echo "Waiting for mariadbgalera"
+until mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql &> /dev/null
 do
   printf "."
   sleep 1
 done
-echo -e "\nmysql ready"
+echo -e "\nmariadbgalera ready"
 
 if [ ! -f ${SDNC_HOME}/.installed ]
 then
index 2833f82..6142032 100644 (file)
@@ -23,8 +23,8 @@
 # dblib.properrties
 org.onap.ccsdk.sli.dbtype=jdbc
 
-org.onap.ccsdk.sli.jdbc.hosts=sdnctldb01
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.hosts=dbhost
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl
 org.onap.ccsdk.sli.jdbc.driver=org.mariadb.jdbc.Driver
 org.onap.ccsdk.sli.jdbc.database=sdnctl
 org.onap.ccsdk.sli.jdbc.user=sdnctl
index e4ac685..ed35d5b 100644 (file)
@@ -22,7 +22,7 @@
 
 org.onap.ccsdk.sli.dbtype = dblib
 #Note : the next 4 fields are only used if org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl
 org.onap.ccsdk.sli.jdbc.database=sdnctl
 org.onap.ccsdk.sli.jdbc.user=sdnctl
 org.onap.ccsdk.sli.jdbc.password=gamma
index f14c584..698bbb1 100755 (executable)
@@ -23,7 +23,7 @@
 MYSQL_USER=${MYSQL_USER:-sdnctl}
 MYSQL_PWD=${MYSQL_PWD:-gamma}
 MYSQL_DB=${MYSQL_DB:-sdnctl}
-MYSQL_HOST=${MYSQL_HOST:-{{.Values.mysql.service.name}}.{{.Release.Namespace}}}
+MYSQL_HOST=${MYSQL_HOST:-{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}}
 
 mysql --user=${MYSQL_USER} --password=${MYSQL_PWD} --host=${MYSQL_HOST} ${MYSQL_DB} <<-END
 SELECT module, rpc, version, mode from SVC_LOGIC where active='Y';
index fae5b55..914a4a1 100644 (file)
@@ -21,7 +21,7 @@
 ###
 
 org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.mysql.service.name}}.{{.Release.Namespace}}:3306/sdnctl
+org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://{{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}}:3306/sdnctl
 org.onap.ccsdk.sli.jdbc.database = sdnctl
 org.onap.ccsdk.sli.jdbc.user = sdnctl
 org.onap.ccsdk.sli.jdbc.password = gamma
index ae36f82..0ce605d 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-bin
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/bin/*").AsConfig . | indent 2 }}
 ---
@@ -25,6 +30,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-data-properties
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/data/properties/*").AsConfig . | indent 2 }}
 ---
@@ -33,6 +43,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-bin
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/svclogic/bin/*").AsConfig . | indent 2 }}
 ---
@@ -41,6 +56,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/ccsdk/svclogic/config/*").AsConfig . | indent 2 }}
 ---
@@ -49,6 +69,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-appc-bin
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/bin/*").AsConfig . | indent 2 }}
 ---
@@ -57,6 +82,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-appc-data-properties
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/data/properties/*").AsConfig . | indent 2 }}
 ---
@@ -65,6 +95,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-appc-svclogic-bin
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/svclogic/bin/*").AsConfig . | indent 2 }}
 ---
@@ -73,6 +108,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onap-appc-svclogic-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/appc/opt/onap/appc/svclogic/config/*").AsConfig . | indent 2 }}
 ---
@@ -81,6 +121,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-filebeat
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
 ---
@@ -89,5 +134,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-logging-cfg
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
index 1021409..25257ea 100644 (file)
 # # See the License for the specific language governing permissions and
 # # limitations under the License.
 */}}
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
-{{ $pvNum := default 1 .Values.replicaCount | int }}
+{{- $global := . }}
+{{- if and $global.Values.persistence.enabled (not $global.Values.persistence.existingClaim) -}}
+{{- range $i, $t := until (int $global.Values.replicaCount)}}
 kind: PersistentVolume
 apiVersion: v1
 metadata:
-  name: {{ include "common.fullname" . }}-data0
-  namespace: {{ include "common.namespace" . }}
+  name: {{ include "common.fullname" $global }}-data{{$i}}
+  namespace: {{ include "common.namespace" $global }}
   labels:
-    app: {{ include "common.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
+    app: {{ include "common.fullname" $global }}
+    chart: "{{ $global.Chart.Name }}-{{ $global.Chart.Version | replace "+" "_" }}"
+    release: "{{ $global.Release.Name }}"
+    heritage: "{{ $global.Release.Service }}"
+    name: {{ include "common.fullname" $global }}
 spec:
   capacity:
-    storage: {{ .Values.persistence.size}}
+    storage: {{ $global.Values.persistence.size}}
   accessModes:
-    - {{ .Values.persistence.accessMode }}
-  storageClassName: "{{ include "common.fullname" . }}-data"
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+    - {{ $global.Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" $global }}-data"
+  persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }}
   hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}0
-{{ if gt $pvNum 1 }}
+    path: {{ $global.Values.global.persistence.mountPath | default $global.Values.persistence.mountPath }}/{{ $global.Release.Name }}/{{ $global.Values.persistence.mountSubPath }}{{$i}}
 ---
-kind: PersistentVolume
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}-data1
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
-spec:
-  capacity:
-    storage: {{ .Values.persistence.size}}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  storageClassName: "{{ include "common.fullname" . }}-data"
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}1
-{{ end }}
-{{ if gt $pvNum 2 }}
----
-kind: PersistentVolume
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}-data2
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
-spec:
-  capacity:
-    storage: {{ .Values.persistence.size}}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  storageClassName: "{{ include "common.fullname" . }}-data"
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}2
-{{ end }}
-{{ if gt $pvNum 3 }}
----
-kind: PersistentVolume
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}-data3
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
-spec:
-  capacity:
-    storage: {{ .Values.persistence.size}}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  storageClassName: "{{ include "common.fullname" . }}-data"
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}3
-{{ end }}
-{{ if gt $pvNum 4 }}
----
-kind: PersistentVolume
-apiVersion: v1
-metadata:
-  name: {{ include "common.fullname" . }}-data4
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.fullname" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
-spec:
-  capacity:
-    storage: {{ .Values.persistence.size}}
-  accessModes:
-    - {{ .Values.persistence.accessMode }}
-  storageClassName: "{{ include "common.fullname" . }}-data"
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
-  hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}4
-{{ end }}
+{{- end -}}
 {{- end -}}
index d2dbdef..57311a0 100644 (file)
@@ -24,4 +24,4 @@ metadata:
     heritage: {{ .Release.Service }}
 type: Opaque
 data:
-  db-root-password: {{ .Values.config.dbRootPassword | b64enc | quote }}
+  db-root-password: {{ .Values.config.mariadbRootPassword | b64enc | quote }}
index 6dde017..32ff952 100644 (file)
@@ -39,7 +39,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.mysql.nameOverride }}
+        - {{.Values.config.mariadbGaleraContName}}
         env:
         - name: NAMESPACE
           valueFrom:
index a972533..0325275 100644 (file)
@@ -42,13 +42,19 @@ config:
   aafExtFQDN: aaf-onap-beijing-test.osaaf.org
   ansibleServiceName: appc-ansible-server
   ansiblePort: 8000
-  dbRootPassword: openECOMP1.0
+  mariadbRootPassword: secretpassword
+  userName: my-user
+  userPassword: my-password
+  mysqlDatabase: my-database
+  mariadbGaleraSVCName: appc-dbhost
+  mariadbGaleraContName: appc-db
   enableAAF: false
   enableClustering: true
   configDir: /opt/onap/appc/data/properties
   dmaapTopic: SUCCESS
   logstashServiceName: log-ls
   logstashPort: 5044
+  odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
   openStackType: OpenStackProvider
   openStackName: OpenStack
   openStackKeyStoneUrl: http://localhost:8181/apidoc/explorer/index.html
@@ -64,10 +70,11 @@ appc-ansible-server:
   config:
     mysqlServiceName: appc-dbhost
 
-mysql:
+mariadb-galera:
   nameOverride: appc-db
   service:
     name: appc-dbhost
+    portName: appc-dbhost
   nfsprovisionerPrefix: appc
   sdnctlPrefix: appc
   persistence:
index 09e0e7f..94d475b 100644 (file)
@@ -55,7 +55,7 @@ spec:
             - name: OPEN_CLI_MODE
               value: "{{ .Values.config.climode }}"
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 6bfd793..5766c81 100644 (file)
@@ -19,7 +19,6 @@ global:
   nodePortPrefix: 302
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
-
 #################################################################
 # Application configuration defaults.
 #################################################################
@@ -27,6 +26,7 @@ global:
 repository: nexus3.onap.org:10001
 image: onap/cli:2.0.2
 pullPolicy: Always
+flavor: small
 
 # application configuration
 config:
index 184728f..a2096fd 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 */}}
-
-{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{- $global := . }}
+{{- if and $global.Values.persistence.enabled (not $global.Values.persistence.existingClaim) -}}
+{{- range $i, $t := until (int $global.Values.replicaCount)}}
 kind: PersistentVolume
 apiVersion: v1
 metadata:
-  name: {{ include "common.fullname" }}
-  namespace: {{ include "common.namespace" . }}
+  name: {{ include "common.fullname" $global }}-data{{$i}}
+  namespace: {{ include "common.namespace" $global }}
   labels:
-    app: {{ include "common.name" . }}
-    chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
-    release: "{{ .Release.Name }}"
-    heritage: "{{ .Release.Service }}"
-    name: {{ include "common.fullname" . }}
+    app: {{ include "common.fullname" $global }}
+    chart: "{{ $global.Chart.Name }}-{{ $global.Chart.Version | replace "+" "_" }}"
+    release: "{{ $global.Release.Name }}"
+    heritage: "{{ $global.Release.Service }}"
+    name: {{ include "common.fullname" $global }}
 spec:
   capacity:
-    storage: {{ .Values.persistence.size}}
+    storage: {{ $global.Values.persistence.size}}
   accessModes:
-    - {{ .Values.persistence.accessMode }}
-  persistentVolumeReclaimPolicy: {{ .Values.persistence.volumeReclaimPolicy }}
+    - {{ $global.Values.persistence.accessMode }}
+  persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }}
+  storageClassName: "{{ include "common.fullname" $global }}-data"
   hostPath:
-    path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
+    path: {{ $global.Values.global.persistence.mountPath | default $global.Values.persistence.mountPath }}/{{ $global.Release.Name }}/{{ $global.Values.persistence.mountSubPath }}{{$i}}
+---
+{{- end -}}
 {{- end -}}
index a025441..ae11a26 100644 (file)
@@ -17,7 +17,8 @@ kind: Service
 metadata:
   annotations:
     service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
-  name: {{ include "common.servicename" . }}
+#  name: {{ include "common.servicename" . }}
+  name: {{ .Values.service.name }}
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.fullname" . }}
index 5f96ee6..8b2aafb 100644 (file)
@@ -23,7 +23,7 @@ metadata:
     release: "{{ .Release.Name }}"
     heritage: "{{ .Release.Service }}"
 spec:
-  serviceName: {{ include "common.fullname" . }}
+  serviceName: {{ .Values.service.name }}
   replicas: {{ .Values.replicaCount }}
   template:
     metadata:
@@ -48,7 +48,7 @@ spec:
       imagePullSecrets:
       - name: {{ include "common.namespace" . }}-docker-registry-key
       containers:
-        - name: {{ include "common.fullname" . }}
+        - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy | quote}}
           env:
@@ -73,13 +73,13 @@ spec:
                   key: db-root-password
           ports:
           - containerPort: {{ .Values.service.internalPort }}
-            name: {{ .Values.service.name }}
+            name: {{ .Values.service.portName }}
           - containerPort: {{ .Values.service.sstPort }}
-            name: {{ .Values.service.sstName }}
+            name: {{ .Values.service.sstPortName }}
           - containerPort: {{ .Values.service.replicationPort }}
             name: {{ .Values.service.replicationName }}
           - containerPort: {{ .Values.service.istPort }}
-            name: {{ .Values.service.istName }}
+            name: {{ .Values.service.istPortName }}
           readinessProbe:
             exec:
               command:
@@ -107,7 +107,6 @@ spec:
 {{- if .Values.persistence.enabled }}
           - mountPath: /var/lib/mysql
             name: {{ include "common.fullname" . }}-data
-            subPath: data
       initContainers:
         - name: mariadb-galera-prepare
           image: "{{ include "common.repository" . }}/{{ .Values.imageInit }}"
@@ -118,15 +117,12 @@ spec:
   volumeClaimTemplates:
   - metadata:
       name: {{ include "common.fullname" . }}-data
-      annotations:
-  {{- if .Values.persistence.storageClass }}
-        volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }}
-  {{- else }}
-        volume.alpha.kubernetes.io/storage-class: default
-  {{- end }}
+      labels:
+        name: {{ include "common.fullname" . }}
     spec:
       accessModes:
       - {{ .Values.persistence.accessMode | quote }}
+      storageClassName: {{ include "common.fullname" . }}-data
       resources:
         requests:
           storage: {{ .Values.persistence.size | quote }}
index b2ff4c0..51f446f 100644 (file)
@@ -60,7 +60,7 @@ readiness:
 
 ## Persist data to a persitent volume
 persistence:
-  enabled: false
+  enabled:  true
 
   ## A manually managed Persistent Volume and Claim
   ## Requires persistence.enabled: true
@@ -76,20 +76,22 @@ persistence:
   ##   GKE, AWS & OpenStack)
   ##
   # storageClass: "-"
-  accessMode: ReadWriteOnce
+  accessMode: ReadWriteMany
   size: 2Gi
-
+  mountPath: /dockerdata-nfs
+  mountSubPath: "mariadb-galera/data"
+  mysqlPath: /var/lib/mysql
 
 service:
   internalPort: 3306
   name: mariadb-galera
   portName: mariadb-galera
   sstPort: 4444
-  sstName: sst
+  sstPortName: sst
   replicationPort: 4567
   replicationName: replication
   istPort: 4568
-  istName: ist
+  istPortName: ist
 
 ingress:
   enabled: false
similarity index 84%
rename from kubernetes/vnfsdk/charts/vnfsdk-postgres/Chart.yaml
rename to kubernetes/common/pgpool/Chart.yaml
index db7201d..d4f7c50 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +13,6 @@
 # limitations under the License.
 
 apiVersion: v1
-description: ONAP VNFSDK Postgres Database
-name: vnfsdk-postgres
+description: ONAP Postgres Server
+name: pgpool
 version: 2.0.0
diff --git a/kubernetes/common/pgpool/configs/pgpool.conf b/kubernetes/common/pgpool/configs/pgpool.conf
new file mode 100644 (file)
index 0000000..9dd979a
--- /dev/null
@@ -0,0 +1,677 @@
+# ----------------------------
+# pgPool-II configuration file a custom version
+# ----------------------------
+#
+# This file consists of lines of the form:
+#
+#   name = value
+#
+# Whitespace may be used.  Comments are introduced with "#" anywhere on a line.
+# The complete list of parameter names and allowed values can be found in the
+# pgPool-II documentation.
+#
+# This file is read on server startup and when the server receives a SIGHUP
+# signal.  If you edit the file on a running system, you have to SIGHUP the
+# server for the changes to take effect, or use "pgpool reload".  Some
+# parameters, which are marked below, require a server shutdown and restart to
+# take effect.
+#
+
+
+#------------------------------------------------------------------------------
+# CONNECTIONS
+#------------------------------------------------------------------------------
+
+# - pgpool Connection Settings -
+
+listen_addresses = '*'
+                                   # Host name or IP address to listen on:
+                                   # '*' for all, '' for no TCP/IP connections
+                                   # (change requires restart)
+#port = 9999
+port = 5432
+                                   # Port number
+                                   # (change requires restart)
+socket_dir = '/tmp'
+                                   # Unix domain socket path
+                                   # The Debian package defaults to
+                                   # /var/run/postgresql
+                                   # (change requires restart)
+
+
+# - pgpool Communication Manager Connection Settings -
+
+pcp_port = 9898
+                                   # Port number for pcp
+                                   # (change requires restart)
+pcp_socket_dir = '/tmp'
+                                   # Unix domain socket path for pcp
+                                   # The Debian package defaults to
+                                   # /var/run/postgresql
+                                   # (change requires restart)
+
+# - Backend Connection Settings -
+
+backend_hostname0 = '{{.Values.container.primary}}'
+backend_port0 = 5432
+backend_weight0= 1
+backend_flag0= 'DISALLOW_TO_FAILOVER'
+
+backend_hostname1 = '{{.Values.container.replica}}'
+backend_port1 = 5432
+backend_weight1= 1
+backend_flag1= 'DISALLOW_TO_FAILOVER'
+
+#backend_hostname0 = 'master'
+                                   # Host name or IP address to connect to for backend 0
+#backend_port0 = 5432
+                                   # Port number for backend 0
+#backend_weight0 = 1
+                                   # Weight for backend 0 (only in load balancing mode)
+#backend_data_directory0 = '/data'
+                                   # Data directory for backend 0
+#backend_flag0 = 'ALLOW_TO_FAILOVER'
+                                   # Controls various backend behavior
+                                   # ALLOW_TO_FAILOVER or DISALLOW_TO_FAILOVER
+#backend_hostname1 = 'standby'
+#backend_port1 = 5432
+#backend_weight1 = 1
+#backend_data_directory1 = '/data1'
+#backend_flag1 = 'ALLOW_TO_FAILOVER'
+
+# - Authentication -
+
+enable_pool_hba = on
+                                   # Use pool_hba.conf for client authentication
+pool_passwd = 'pool_passwd'
+                                   # File name of pool_passwd for md5 authentication.
+                                   # "" disables pool_passwd.
+                                   # (change requires restart)
+authentication_timeout = 60
+                                   # Delay in seconds to complete client authentication
+                                   # 0 means no timeout.
+
+# - SSL Connections -
+
+ssl = off
+                                   # Enable SSL support
+                                   # (change requires restart)
+#ssl_key = './server.key'
+                                   # Path to the SSL private key file
+                                   # (change requires restart)
+#ssl_cert = './server.cert'
+                                   # Path to the SSL public certificate file
+                                   # (change requires restart)
+#ssl_ca_cert = ''
+                                   # Path to a single PEM format file
+                                   # containing CA root certificate(s)
+                                   # (change requires restart)
+#ssl_ca_cert_dir = ''
+                                   # Directory containing CA root certificate(s)
+                                   # (change requires restart)
+
+
+#------------------------------------------------------------------------------
+# POOLS
+#------------------------------------------------------------------------------
+
+# - Pool size -
+
+num_init_children = 5
+                                   # Number of pools
+                                   # (change requires restart)
+max_pool = 1
+                                   # Number of connections per pool
+                                   # (change requires restart)
+
+# - Life time -
+
+child_life_time = 300
+                                   # Pool exits after being idle for this many seconds
+child_max_connections = 0
+                                   # Pool exits after receiving that many connections
+                                   # 0 means no exit
+connection_life_time = 0
+                                   # Connection to backend closes after being idle for this many seconds
+                                   # 0 means no close
+client_idle_limit = 0
+                                   # Client is disconnected after being idle for that many seconds
+                                   # (even inside an explicit transactions!)
+                                   # 0 means no disconnection
+
+
+#------------------------------------------------------------------------------
+# LOGS
+#------------------------------------------------------------------------------
+
+# - Where to log -
+
+log_destination = 'stderr'
+                                   # Where to log
+                                   # Valid values are combinations of stderr,
+                                   # and syslog. Default to stderr.
+
+# - What to log -
+
+print_timestamp = on
+                                   # Print timestamp on each line
+                                   # (change requires restart)
+
+log_connections = on
+                                   # Log connections
+log_hostname = on
+                                   # Hostname will be shown in ps status
+                                   # and in logs if connections are logged
+log_statement = on
+                                   # Log all statements
+log_per_node_statement = off
+                                   # Log all statements
+                                   # with node and backend informations
+log_standby_delay = 'if_over_threshold'
+                                   # Log standby delay
+                                   # Valid values are combinations of always,
+                                   # if_over_threshold, none
+
+# - Syslog specific -
+
+syslog_facility = 'LOCAL0'
+                                   # Syslog local facility. Default to LOCAL0
+syslog_ident = 'pgpool'
+                                   # Syslog program identification string
+                                   # Default to 'pgpool'
+
+# - Debug -
+
+debug_level = 1
+                                   # Debug message verbosity level
+                                   # 0 means no message, 1 or more mean verbose
+
+
+#------------------------------------------------------------------------------
+# FILE LOCATIONS
+#------------------------------------------------------------------------------
+
+pid_file_name = '/tmp/pgpool.pid'
+                                   # PID file name
+                                   # (change requires restart)
+logdir = '/tmp'
+                                   # Directory of pgPool status file
+                                   # (change requires restart)
+
+
+#------------------------------------------------------------------------------
+# CONNECTION POOLING
+#------------------------------------------------------------------------------
+
+connection_cache = off
+                                   # Activate connection pools
+                                   # (change requires restart)
+
+                                   # Semicolon separated list of queries
+                                   # to be issued at the end of a session
+                                   # The default is for 8.3 and later
+reset_query_list = 'ABORT; DISCARD ALL'
+                                   # The following one is for 8.2 and before
+#reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
+
+
+#------------------------------------------------------------------------------
+# REPLICATION MODE
+#------------------------------------------------------------------------------
+
+replication_mode = off
+                                   # Activate replication mode
+                                   # (change requires restart)
+replicate_select = off
+                                   # Replicate SELECT statements
+                                   # when in replication or parallel mode
+                                   # replicate_select is higher priority than
+                                   # load_balance_mode.
+
+insert_lock = off
+                                   # Automatically locks a dummy row or a table
+                                   # with INSERT statements to keep SERIAL data
+                                   # consistency
+                                   # Without SERIAL, no lock will be issued
+lobj_lock_table = ''
+                                   # When rewriting lo_creat command in
+                                   # replication mode, specify table name to
+                                   # lock
+
+# - Degenerate handling -
+
+replication_stop_on_mismatch = off
+                                   # On disagreement with the packet kind
+                                   # sent from backend, degenerate the node
+                                   # which is most likely "minority"
+                                   # If off, just force to exit this session
+
+failover_if_affected_tuples_mismatch = off
+                                   # On disagreement with the number of affected
+                                   # tuples in UPDATE/DELETE queries, then
+                                   # degenerate the node which is most likely
+                                   # "minority".
+                                   # If off, just abort the transaction to
+                                   # keep the consistency
+
+
+#------------------------------------------------------------------------------
+# LOAD BALANCING MODE
+#------------------------------------------------------------------------------
+
+load_balance_mode = off
+                                   # Activate load balancing mode
+                                   # (change requires restart)
+ignore_leading_white_space = on
+                                   # Ignore leading white spaces of each query
+white_function_list = ''
+                                   # Comma separated list of function names
+                                   # that don't write to database
+                                   # Regexp are accepted
+black_function_list = 'currval,lastval,nextval,setval'
+                                   # Comma separated list of function names
+                                   # that write to database
+                                   # Regexp are accepted
+
+
+#------------------------------------------------------------------------------
+# MASTER/SLAVE MODE
+#------------------------------------------------------------------------------
+
+master_slave_mode = on
+                                   # Activate master/slave mode
+                                   # (change requires restart)
+master_slave_sub_mode = 'stream'
+                                   # Master/slave sub mode
+                                   # Valid values are combinations slony or
+                                   # stream. Default is slony.
+                                   # (change requires restart)
+
+# - Streaming -
+
+sr_check_period = 10
+                                   # Streaming replication check period
+                                   # Disabled (0) by default
+sr_check_user = '{{.Values.credentials.pgusername}}'
+                                   # Streaming replication check user
+                                   # This is neccessary even if you disable streaming
+                                   # replication delay check by sr_check_period = 0
+sr_check_password = '{{.Values.credentials.pgpassword}}'
+                                   # Password for streaming replication check user
+delay_threshold = 10000000
+                                   # Threshold before not dispatching query to standby node
+                                   # Unit is in bytes
+                                   # Disabled (0) by default
+
+# - Special commands -
+
+follow_master_command = ''
+                                   # Executes this command after master failover
+                                   # Special values:
+                                   #   %d = node id
+                                   #   %h = host name
+                                   #   %p = port number
+                                   #   %D = database cluster path
+                                   #   %m = new master node id
+                                   #   %H = hostname of the new master node
+                                   #   %M = old master node id
+                                   #   %P = old primary node id
+                                                                  #   %r = new master port number
+                                                                  #   %R = new master database cluster path
+                                   #   %% = '%' character
+
+
+#------------------------------------------------------------------------------
+# PARALLEL MODE
+#------------------------------------------------------------------------------
+
+parallel_mode = off
+                                   # Activates parallel query mode
+                                   # (change requires restart)
+pgpool2_hostname = ''
+                                   # Set pgpool2 hostname
+                                   # (change requires restart)
+
+# - System DB info -
+
+#system_db_hostname  = 'localhost'
+                                   # (change requires restart)
+#system_db_port = 5432
+                                   # (change requires restart)
+#system_db_dbname = 'pgpool'
+                                   # (change requires restart)
+#system_db_schema = 'pgpool_catalog'
+                                   # (change requires restart)
+#system_db_user = 'pgpool'
+                                   # (change requires restart)
+#system_db_password = ''
+                                   # (change requires restart)
+
+
+#------------------------------------------------------------------------------
+# HEALTH CHECK
+#------------------------------------------------------------------------------
+
+health_check_period = 20
+                                   # Health check period
+                                   # Disabled (0) by default
+health_check_timeout = 10
+                                   # Health check timeout
+                                   # 0 means no timeout
+health_check_user = '{{.Values.credentials.pguser}}'
+                                   # Health check user
+health_check_password = '{{.Values.credentials.pgpassword}}'
+                                   # Password for health check user
+health_check_max_retries = 3
+connect_timeout = 10000                # Timeout value in milliseconds before giving up to connect to backend.
+
+                                   # Maximum number of times to retry a failed health check before giving up.
+health_check_retry_delay = 1
+                                   # Amount of time to wait (in seconds) between retries.
+
+
+#------------------------------------------------------------------------------
+# FAILOVER AND FAILBACK
+#------------------------------------------------------------------------------
+
+failover_command = ''
+                                   # Executes this command at failover
+                                   # Special values:
+                                   #   %d = node id
+                                   #   %h = host name
+                                   #   %p = port number
+                                   #   %D = database cluster path
+                                   #   %m = new master node id
+                                   #   %H = hostname of the new master node
+                                   #   %M = old master node id
+                                   #   %P = old primary node id
+                                                                  #   %r = new master port number
+                                                                  #   %R = new master database cluster path
+                                   #   %% = '%' character
+failback_command = ''
+                                   # Executes this command at failback.
+                                   # Special values:
+                                   #   %d = node id
+                                   #   %h = host name
+                                   #   %p = port number
+                                   #   %D = database cluster path
+                                   #   %m = new master node id
+                                   #   %H = hostname of the new master node
+                                   #   %M = old master node id
+                                   #   %P = old primary node id
+                                                                  #   %r = new master port number
+                                                                  #   %R = new master database cluster path
+                                   #   %% = '%' character
+
+fail_over_on_backend_error = off
+                                   # Initiates failover when reading/writing to the
+                                   # backend communication socket fails
+                                   # If set to off, pgpool will report an
+                                   # error and disconnect the session.
+
+search_primary_node_timeout = 10
+                                   # Timeout in seconds to search for the
+                                   # primary node when a failover occurs.
+                                   # 0 means no timeout, keep searching
+                                   # for a primary node forever.
+
+#------------------------------------------------------------------------------
+# ONLINE RECOVERY
+#------------------------------------------------------------------------------
+
+recovery_user = '{{.Values.credentials.pguser}}'
+                                   # Online recovery user
+recovery_password = '{{.Values.credentials.pgpassword}}'
+                                   # Online recovery password
+recovery_1st_stage_command = ''
+                                   # Executes a command in first stage
+recovery_2nd_stage_command = ''
+                                   # Executes a command in second stage
+recovery_timeout = 90
+                                   # Timeout in seconds to wait for the
+                                   # recovering node's postmaster to start up
+                                   # 0 means no wait
+client_idle_limit_in_recovery = 0
+                                   # Client is disconnected after being idle
+                                   # for that many seconds in the second stage
+                                   # of online recovery
+                                   # 0 means no disconnection
+                                   # -1 means immediate disconnection
+
+
+#------------------------------------------------------------------------------
+# WATCHDOG
+#------------------------------------------------------------------------------
+
+# - Enabling -
+
+use_watchdog = off
+                                    # Activates watchdog
+                                    # (change requires restart)
+
+# -Connection to up stream servers -
+
+trusted_servers = ''
+                                    # trusted server list which are used
+                                    # to confirm network connection
+                                    # (hostA,hostB,hostC,...)
+                                    # (change requires restart)
+ping_path = '/bin'
+                                    # ping command path
+                                    # (change requires restart)
+
+# - Watchdog communication Settings -
+
+wd_hostname = ''
+                                    # Host name or IP address of this watchdog
+                                    # (change requires restart)
+wd_port = 9000
+                                    # port number for watchdog service
+                                    # (change requires restart)
+wd_authkey = ''
+                                    # Authentication key for watchdog communication
+                                    # (change requires restart)
+
+# - Virtual IP control Setting -
+
+delegate_IP = ''
+                                    # delegate IP address
+                                    # If this is empty, virtual IP never bring up. 
+                                    # (change requires restart)
+ifconfig_path = '/sbin'
+                                    # ifconfig command path
+                                    # (change requires restart)
+if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0'
+                                    # startup delegate IP command
+                                    # (change requires restart)
+if_down_cmd = 'ifconfig eth0:0 down'
+                                    # shutdown delegate IP command
+                                    # (change requires restart)
+
+arping_path = '/usr/sbin'           # arping command path
+                                    # (change requires restart)
+
+arping_cmd = 'arping -U $_IP_$ -w 1'
+                                    # arping command
+                                    # (change requires restart)
+
+# - Behaivor on escalation Setting -
+
+clear_memqcache_on_escalation = on
+                                    # Clear all the query cache on shared memory
+                                    # when standby pgpool escalate to active pgpool
+                                    # (= virtual IP holder).
+                                    # This should be off if client connects to pgpool
+                                    # not using virtual IP.
+                                    # (change requires restart)
+wd_escalation_command = ''
+                                    # Executes this command at escalation on new active pgpool.
+                                    # (change requires restart)
+
+# - Lifecheck Setting - 
+
+# -- common --
+
+wd_lifecheck_method = 'heartbeat'
+                                    # Method of watchdog lifecheck ('heartbeat' or 'query')
+                                    # (change requires restart)
+wd_interval = 10
+                                    # lifecheck interval (sec) > 0
+                                    # (change requires restart)
+
+# -- heartbeat mode --
+
+wd_heartbeat_port = 9694
+                                    # Port number for receiving heartbeat signal
+                                    # (change requires restart)
+wd_heartbeat_keepalive = 2
+                                    # Interval time of sending heartbeat signal (sec)
+                                    # (change requires restart)
+wd_heartbeat_deadtime = 30
+                                    # Deadtime interval for heartbeat signal (sec)
+                                    # (change requires restart)
+heartbeat_destination0 = 'host0_ip1'
+                                    # Host name or IP address of destination 0
+                                    # for sending heartbeat signal.
+                                    # (change requires restart)
+heartbeat_destination_port0 = 9694 
+                                    # Port number of destination 0 for sending
+                                    # heartbeat signal. Usually this is the
+                                    # same as wd_heartbeat_port.
+                                    # (change requires restart)
+heartbeat_device0 = ''
+                                    # Name of NIC device (such like 'eth0')
+                                    # used for sending/receiving heartbeat
+                                    # signal to/from destination 0.
+                                    # This works only when this is not empty
+                                    # and pgpool has root privilege.
+                                    # (change requires restart)
+
+#heartbeat_destination1 = 'host0_ip2'
+#heartbeat_destination_port1 = 9694
+#heartbeat_device1 = ''
+
+# -- query mode --
+
+wd_life_point = 3
+                                    # lifecheck retry times
+                                    # (change requires restart)
+wd_lifecheck_query = 'SELECT 1'
+                                    # lifecheck query to pgpool from watchdog
+                                    # (change requires restart)
+wd_lifecheck_dbname = 'template1'
+                                    # Database name connected for lifecheck
+                                    # (change requires restart)
+wd_lifecheck_user = 'nobody'
+                                    # watchdog user monitoring pgpools in lifecheck
+                                    # (change requires restart)
+wd_lifecheck_password = ''
+                                    # Password for watchdog user in lifecheck
+                                    # (change requires restart)
+
+# - Other pgpool Connection Settings -
+
+#other_pgpool_hostname0 = 'host0'
+                                    # Host name or IP address to connect to for other pgpool 0
+                                    # (change requires restart)
+#other_pgpool_port0 = 5432
+                                    # Port number for othet pgpool 0
+                                    # (change requires restart)
+#other_wd_port0 = 9000
+                                    # Port number for othet watchdog 0
+                                    # (change requires restart)
+#other_pgpool_hostname1 = 'host1'
+#other_pgpool_port1 = 5432
+#other_wd_port1 = 9000
+
+
+#------------------------------------------------------------------------------
+# OTHERS
+#------------------------------------------------------------------------------
+relcache_expire = 0
+                                   # Life time of relation cache in seconds.
+                                   # 0 means no cache expiration(the default).
+                                   # The relation cache is used for cache the
+                                   # query result against PostgreSQL system
+                                   # catalog to obtain various information
+                                   # including table structures or if it's a
+                                   # temporary table or not. The cache is
+                                   # maintained in a pgpool child local memory
+                                   # and being kept as long as it survives.
+                                   # If someone modify the table by using
+                                   # ALTER TABLE or some such, the relcache is
+                                   # not consistent anymore.
+                                   # For this purpose, cache_expiration
+                                   # controls the life time of the cache.
+relcache_size = 256
+                                   # Number of relation cache
+                                   # entry. If you see frequently:
+                                                                  # "pool_search_relcache: cache replacement happend"
+                                                                  # in the pgpool log, you might want to increate this number.
+
+check_temp_table = on
+                                   # If on, enable temporary table check in SELECT statements.
+                                   # This initiates queries against system catalog of primary/master
+                                                                  # thus increases load of master.
+                                                                  # If you are absolutely sure that your system never uses temporary tables
+                                                                  # and you want to save access to primary/master, you could turn this off.
+                                                                  # Default is on.
+
+
+#------------------------------------------------------------------------------
+# ON MEMORY QUERY MEMORY CACHE
+#------------------------------------------------------------------------------
+memory_cache_enabled = off
+                                                                  # If on, use the memory cache functionality, off by default
+memqcache_method = 'shmem'
+                                                                  # Cache storage method. either 'shmem'(shared memory) or
+                                                                  # 'memcached'. 'shmem' by default
+                                   # (change requires restart)
+memqcache_memcached_host = 'localhost'
+                                                                  # Memcached host name or IP address. Mandatory if
+                                                                  # memqcache_method = 'memcached'.
+                                                                  # Defaults to localhost.
+                                   # (change requires restart)
+memqcache_memcached_port = 11211
+                                                                  # Memcached port number. Mondatory if memqcache_method = 'memcached'.
+                                                                  # Defaults to 11211.
+                                   # (change requires restart)
+memqcache_total_size = 67108864
+                                                                  # Total memory size in bytes for storing memory cache.
+                                                                  # Mandatory if memqcache_method = 'shmem'.
+                                                                  # Defaults to 64MB.
+                                   # (change requires restart)
+memqcache_max_num_cache = 1000000
+                                                                  # Total number of cache entries. Mandatory
+                                                                  # if memqcache_method = 'shmem'.
+                                                                  # Each cache entry consumes 48 bytes on shared memory.
+                                                                  # Defaults to 1,000,000(45.8MB).
+                                   # (change requires restart)
+memqcache_expire = 0
+                                                                  # Memory cache entry life time specified in seconds.
+                                                                  # 0 means infinite life time. 0 by default.
+                                   # (change requires restart)
+memqcache_auto_cache_invalidation = on
+                                                                  # If on, invalidation of query cache is triggered by corresponding
+                                                                  # DDL/DML/DCL(and memqcache_expire).  If off, it is only triggered
+                                                                  # by memqcache_expire.  on by default.
+                                   # (change requires restart)
+memqcache_maxcache = 409600
+                                                                  # Maximum SELECT result size in bytes.
+                                                                  # Must be smaller than memqcache_cache_block_size. Defaults to 400KB.
+                                   # (change requires restart)
+memqcache_cache_block_size = 1048576
+                                                                  # Cache block size in bytes. Mandatory if memqcache_method = 'shmem'.
+                                                                  # Defaults to 1MB.
+                                   # (change requires restart)
+memqcache_oiddir = '/var/log/pgpool/oiddir'
+                                                                  # Temporary work directory to record table oids
+                                   # (change requires restart)
+white_memqcache_table_list = ''
+                                   # Comma separated list of table names to memcache
+                                   # that don't write to database
+                                   # Regexp are accepted
+black_memqcache_table_list = ''
+                                   # Comma separated list of table names not to memcache
+                                   # that don't write to database
+                                   # Regexp are accepted
diff --git a/kubernetes/common/pgpool/configs/pool_hba.conf b/kubernetes/common/pgpool/configs/pool_hba.conf
new file mode 100644 (file)
index 0000000..d891840
--- /dev/null
@@ -0,0 +1,67 @@
+# pgpool Client Authentication Configuration File a custom version
+# ===============================================
+#
+# The format rule in this file follows the rules in the PostgreSQL
+# Administrator's Guide. Refer to chapter "Client Authentication" for a
+# complete description.  A short synopsis follows.
+#
+# This file controls: which hosts are allowed to connect, how clients
+# are authenticated, which user names they can use, which databases they
+# can access.  Records take one of these forms:
+#
+# local      DATABASE  USER  METHOD  [OPTION]
+# host       DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTION]
+#
+# (The uppercase items must be replaced by actual values.)
+#
+# The first field is the connection type: "local" is a Unix-domain
+# socket, "host" is either a plain or SSL-encrypted TCP/IP socket.
+#
+# DATABASE can be "all", "sameuser", a database name, or a comma-separated
+# list thereof. Note that "samegroup" like in PostgreSQL's pg_hba.conf
+# file is not supported, since pgpool does not know which group a user
+# belongs to. Also note that the database specified here may not exist in
+# the backend PostgreSQL. pgpool will authenticate based on the database's
+# name, not based on whether it exists or not.
+#
+# USER can be "all", a user name, or a comma-separated list thereof.  In
+# both the DATABASE and USER fields you can also write a file name prefixed
+# with "@" to include names from a separate file. Note that a group name
+# prefixed with "+" like in PostgreSQL's pg_hba.conf file is not supported
+# because of the same reason as "samegroup" token. Also note that a user
+# name specified here may not exist in the backend PostgreSQL. pgpool will
+# authenticate based on the user's name, not based on whether he/she exists.
+#
+# CIDR-ADDRESS specifies the set of hosts the record matches.
+# It is made up of an IP address and a CIDR mask that is an integer
+# (between 0 and 32 (IPv4) that specifies the number of significant bits in
+# the mask.  Alternatively, you can write an IP address and netmask in
+# separate columns to specify the set of hosts.
+#
+# METHOD can be "trust", "reject", "md5" or "pam".  Note that "pam" sends passwords
+# in clear text.
+#
+# OPTION is the name of the PAM service. Default service name is "pgpool"
+#
+# Database and user names containing spaces, commas, quotes and other special
+# characters must be quoted. Quoting one of the keywords "all" or "sameuser"
+# makes the name lose its special character, and just match a database or
+# username with that name.
+#
+# This file is read on pgpool startup.  If you edit the file on a running
+# system, you have to restart the pgpool  for the changes to take effect.
+
+# Put your actual configuration here
+# ----------------------------------
+#
+# If you want to allow non-local connections, you need to add more
+# "host" records. In that case you will also need to make pgpool listen
+# on a non-local interface via the listen_addresses configuration parameter.
+#
+
+# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
+
+# "local" is for Unix domain socket connections only
+#local   all         all                               trust
+# IPv4 local connections:
+host    all         all         0.0.0.0/0          md5
diff --git a/kubernetes/common/pgpool/configs/pool_passwd b/kubernetes/common/pgpool/configs/pool_passwd
new file mode 100644 (file)
index 0000000..d8e09a2
--- /dev/null
@@ -0,0 +1 @@
+testuser:md599e8713364988502fa6189781bcf648f
diff --git a/kubernetes/common/pgpool/requirements.yaml b/kubernetes/common/pgpool/requirements.yaml
new file mode 100644 (file)
index 0000000..e597fca
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/common/pgpool/templates/configmap.yaml b/kubernetes/common/pgpool/templates/configmap.yaml
new file mode 100755 (executable)
index 0000000..cc20b42
--- /dev/null
@@ -0,0 +1,12 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ .Release.Name }}-pgpool-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "configs/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/common/pgpool/templates/deployment.yaml b/kubernetes/common/pgpool/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..f598409
--- /dev/null
@@ -0,0 +1,67 @@
+{{/*
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+kind: Deployment
+apiVersion: extensions/v1beta1
+metadata: 
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec: 
+  replicas: 2
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - name: pgpool
+        image: "{{.Values.image.repository}}/{{.Values.image.container}}:{{.Values.image.tag}}"
+        env:
+        - name: PG_PRIMARY_SERVICE_NAME
+          value: {{.Values.container.name.primary}}
+        - name: PG_REPLICA_SERVICE_NAME
+          value: {{.Values.container.name.replica}}
+        - name: PG_USERNAME
+          value: {{.Values.credentials.pgusername}}
+        - name: PG_PASSWORD
+          value: {{.Values.credentials.pgpassword}}
+        ports:
+        - containerPort: 5432
+          name: pgpool
+          protocol: TCP
+        readinessProbe:
+          tcpSocket:
+            port: 5432
+          initialDelaySeconds: 20
+          periodSeconds: 10
+        livenessProbe: 
+          tcpSocket: 
+            port: 5432
+        initialDelaySeconds: 15
+        periodSeconds: 20
+        volumeMounts:
+        - name: pgpool-pgconf
+          mountPath: /pgconf/pgpoolconfigdir
+          readOnly: false
+      volumes:
+      - name: pgpool-pgconf
+        configMap:
+          name: {{ .Release.Name }}-pgpool-configmap
diff --git a/kubernetes/common/pgpool/templates/service.yaml b/kubernetes/common/pgpool/templates/service.yaml
new file mode 100644 (file)
index 0000000..0811fda
--- /dev/null
@@ -0,0 +1,14 @@
+kind: "Service"
+apiVersion: "v1"
+metadata:
+  name: "pgpool"
+  labels:
+    name: "pgpool"
+spec: 
+  ports:
+    - protocol: "TCP"
+      port: 5432
+      targetPort: 5432
+  selector:
+    name: "pgpool"
+  type: ClusterIP
@@ -1,5 +1,4 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
--->
 
-<rests xmlns="http://camel.apache.org/schema/spring">
-   <rest>
-      <post uri="/search/unifiedFilterRequest">
-         <to uri="bean:filterProcessor?method=getFiltersWithValues"/>
-      </post>
-   </rest>
-</rests>
+name: pgpool
+container:
+  port: 5432
+  name:
+    primary: pgset-primary
+    replica: pgset-replica
+credentials:
+  pgusername: testuser
+  pgpassword: password
+serviceType: ClusterIP
+image:
+  repository: crunchydata
+  container: crunchy-pgpool
+  tag: centos7-10.4-2.0.0
index 22d135b..62a6f31 100644 (file)
@@ -12,7 +12,7 @@
   {
     "id": "policy-nexus-local-status",
     "name": "Policy Nexus Local Status",
-    "http": "http://nexus:8081/nexus/service/local/status?pretty",
+    "http": "http://nexus:8081/nexus/service/local/status",
     "method": "GET",
     "header": {
       "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="],
@@ -27,7 +27,7 @@
   {
     "id": "policy-nexus-internal-metrics",
     "name": "Policy Nexus Internal Metrics",
-    "http": "http://nexus:8081/nexus/internal/metrics?pretty",
+    "http": "http://nexus:8081/nexus/internal/metrics",
     "method": "GET",
     "header": {
       "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="],
@@ -42,7 +42,7 @@
   {
     "id": "policy-nexus-internal-healthcheck",
     "name": "Policy Nexus Internal Healthcheck",
-    "http": "http://nexus:8081/nexus/internal/healthcheck?pretty",
+    "http": "http://nexus:8081/nexus/internal/healthcheck",
     "method": "GET",
     "header": {
       "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="],
@@ -64,7 +64,7 @@
   {
     "id": "drools",
     "name": "Drools Health Check",
-    "http": "http://drools:6969/healthcheck?pretty",
+    "http": "https://drools:6969/healthcheck",
     "method": "GET",
     "header": {
       "Authorization": ["Basic aGVhbHRoY2hlY2s6emIhWHp0RzM0"],
@@ -79,7 +79,7 @@
   {
     "id": "pap",
     "name": "PAP Health Check",
-    "http": "http://pap:9091/pap/test?pretty",
+    "http": "https://pap:9091/pap/test",
     "method": "GET",
     "header": {
       "Authorization": ["Basic dGVzdHBhcDphbHBoYTEyMw=="],
@@ -94,7 +94,7 @@
   {
     "id": "pdp",
     "name": "PDP Health Check",
-    "http": "http://pdp:8081/pdp/test?pretty",
+    "http": "https://pdp:8081/pdp/test",
     "method": "GET",
     "header": {
       "Authorization": ["Basic dGVzdHBkcDphbHBoYTEyMw=="],
index 25717ce..adf10a1 100755 (executable)
@@ -70,10 +70,10 @@ curl --silent -X POST \
   -H 'Authorization: Token onceuponatimeiplayedwithnetbox20180814' \
   -H 'Content-Type: application/json' \
   -d '{
-  "prefix": "192.168.20.0/24",
+  "prefix": "{{ .Values.service.vfw_protected_pool }}",
   "site": 1,
   "tenant": 1,
-  "is_pool": true,
+  "is_pool": false,
   "description": "IP Pool for protected network - vFW use case"
 }'
 
@@ -83,10 +83,10 @@ curl --silent -X POST \
   -H 'Authorization: Token onceuponatimeiplayedwithnetbox20180814' \
   -H 'Content-Type: application/json' \
   -d '{
-  "prefix": "192.168.10.0/24",
+  "prefix": "{{ .Values.service.vfw_unprotected_pool }}",
   "site": 1,
   "tenant": 1,
-  "is_pool": true,
+  "is_pool": false,
   "description": "IP Pool for unprotected network - vFW use case"
 }'
 
@@ -96,9 +96,10 @@ curl --silent -X POST \
   -H 'Authorization: Token onceuponatimeiplayedwithnetbox20180814' \
   -H 'Content-Type: application/json' \
   -d '{
-  "prefix": "10.0.0.0/8",
+  "prefix": "{{ .Values.service.vfw_mgmt_pool }}",
   "site": 1,
   "tenant": 1,
-  "is_pool": true,
+  "is_pool": false,
   "description": "IP Pool for ONAP - general purpose"
 }'
+
index 8fbd454..3489049 100755 (executable)
@@ -30,7 +30,7 @@ metadata:
 {{ .Values.persistence.annotations | indent 4 }}
   {{- end }}
 spec:
-{{- if not .Values.persistence.storageClass -}}
+{{- if not .Values.persistence.storageClass }}
   selector:
     matchLabels:
       name: {{ .Release.Name }}-{{ .Values.persistence.staticPvName }}
index 49a96eb..a60bbb4 100755 (executable)
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 global: # global defaults
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   persistence: {}
 
 config:
@@ -64,6 +64,12 @@ service:
   internalPort: 8001
   portName: netbox-app
 
+  # The following subnet pool will be
+  # configured in Netbox by provisioning script.
+  vfw_protected_pool: 192.168.20.0/24
+  vfw_unprotected_pool: 192.168.10.0/24
+  vfw_mgmt_pool: 10.0.101.0/24
+
 ingress:
   enabled: false
 
@@ -80,11 +86,21 @@ persistence:
   volumeReclaimPolicy: Retain
   accessMode: ReadWriteMany
   size: 100Mi
-  storageClass: "nfs-dev-sc"
 
-  # Names used for shared pv/pvcs across App & Nginx containers
+  # Uncomment the storageClass parameter to use an existing PV
+  # that will match the following class.
+  # When uncomment the storageClass, the PV is not created anymore.
+
+  # storageClass: "nfs-dev-sc"
+
   staticPvName: netbox-static
 
+  # When using storage class, mountPath and mountSubPath are
+  # simply ignored.
+
+  mountPath: /dockerdata-nfs
+  mountSubPath: netbox/app
+
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
@@ -96,4 +112,4 @@ readiness:
   initialDelaySeconds: 10
   periodSeconds: 10
 
-resources: {}
\ No newline at end of file
+resources: {}
index 90fca37..3490306 100755 (executable)
@@ -29,7 +29,7 @@ spec:
   ports:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.internalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
index 31f2abf..14fedc8 100755 (executable)
@@ -17,7 +17,7 @@
 # Declare variables to be passed into your templates.
 
 global: # global defaults
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   persistence: {}
   pullPolicy: Always
 
@@ -79,6 +79,6 @@ service:
   name: netbox-nginx
   portName: netbox-nginx
   internalPort: 8080
-  nodePort: 69
+  nodePort: 20
 
-resources: {}
\ No newline at end of file
+resources: {}
index 7760211..30bba6d 100755 (executable)
@@ -30,7 +30,7 @@ metadata:
 {{ .Values.persistence.annotations | indent 4 }}
 {{- end }}
 spec:
-{{- if not .Values.persistence.storageClass -}}
+{{- if not .Values.persistence.storageClass }}
   selector:
     matchLabels:
       name: {{ include "common.fullname" . }}
index c54c3a6..e662567 100755 (executable)
@@ -17,7 +17,7 @@
 # Declare variables to be passed into your templates.
 
 global: # global defaults
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   persistence: {}
 
 # application image
@@ -57,10 +57,22 @@ readiness:
 persistence:
   enabled: true
   volumeReclaimPolicy: Retain
-  storageClass: "nfs-dev-sc"
+
+  # Uncomment the storageClass parameter to use an existing PV
+  # that will match the following class.
+  # When uncomment the storageClass, the PV is not created anymore.
+
+  # storageClass: "nfs-dev-sc"
+
   accessMode: ReadWriteMany
   size: 1Gi
 
+  # When using storage class, mountPath and mountSubPath are
+  # simply ignored.
+
+  mountPath: /dockerdata-nfs
+  mountSubPath: netbox/postgres/data
+
 service:
   type: ClusterIP
   name: netbox-postgres
index 6665064..2dfb36b 100755 (executable)
@@ -16,7 +16,7 @@
 # Global configuration defaults.
 #################################################################
 global:
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   commonConfigPrefix: netbox
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
index 8f23423..ead7562 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-config
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 ---
@@ -26,6 +31,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-dmaap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/dmaap/*.json").AsConfig . | indent 2 }}
 ---
@@ -34,6 +44,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-dcaelocations
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/dcaeLocations/*.json").AsConfig . | indent 2 }}
 ---
@@ -42,6 +57,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-mrclusters
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/mr_clusters/*.json").AsConfig . | indent 2 }}
 ---
@@ -50,6 +70,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-topics
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/topics/*.json").AsConfig . | indent 2 }}
 ---
@@ -58,5 +83,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-feeds
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/feeds/*.json").AsConfig . | indent 2 }}
index 6cef506..dd75846 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-mdb-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/mariadb/conf.d/*").AsConfig . | indent 2 }}
 ---
@@ -25,5 +30,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-mdb-initd-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/sql_init_01.sql").AsConfig . | indent 2 }}
index 0124f4d..bd74184 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-node-props-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/node.properties").AsConfig . | indent 2 }}
 ---
@@ -25,5 +30,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-create-feed-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/feeds/*").AsConfig . | indent 2 }}
index c8adab4..525c18b 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-prov-props-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/provserver.properties").AsConfig . | indent 2 }}
index ff13eb7..1ed7888 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-msgrtrapi-prop-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/dmaap/MsgRtrApi.properties").AsConfig . | indent 2 }}
 ---
@@ -26,5 +31,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-cadi-prop-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/dmaap/cadi.properties").AsConfig . | indent 2 }}
index 964570b..18a4f84 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-esr-filebeat
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
 ---
@@ -26,6 +31,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-esr-esrserver-log
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/esrserver/logback.xml").AsConfig . | indent 2 }}
-
diff --git a/kubernetes/helm/plugins/deploy/deploy.sh b/kubernetes/helm/plugins/deploy/deploy.sh
new file mode 100755 (executable)
index 0000000..07455d7
--- /dev/null
@@ -0,0 +1,168 @@
+#!/bin/bash
+
+usage() {
+cat << EOF
+Install (or upgrade) an umbrella Helm Chart, and its subcharts, as separate Helm Releases 
+
+The umbrella Helm Chart is broken apart into a parent release and subchart releases.
+Subcharts the are disabled (<chart>.enabled=false) will not be installed or upgraded.
+All releases are grouped and deployed within the same namespace.
+
+
+The deploy arguments must be a release and chart. The chart
+argument can be either: a chart reference('stable/onap'), a path to a chart directory,
+a packaged chart, or a fully qualified URL. For chart references, the latest
+version will be specified unless the '--version' flag is set.
+
+To override values in a chart, use either the '--values' flag and pass in a file
+or use the '--set' flag and pass configuration from the command line, to force string
+values, use '--set-string'.
+
+You can specify the '--values'/'-f' flag multiple times. The priority will be given to the
+last (right-most) file specified. For example, if both myvalues.yaml and override.yaml
+contained a key called 'Test', the value set in override.yaml would take precedence:
+
+       $ helm deploy demo ./onap --namespace onap -f openstack.yaml -f overrides.yaml
+
+You can specify the '--set' flag multiple times. The priority will be given to the
+last (right-most) set specified. For example, if both 'bar' and 'newbar' values are
+set for a key called 'foo', the 'newbar' value would take precedence:
+
+       $ helm deploy demo local/onap --namespace onap -f overrides.yaml --set log.enabled=false --set vid.enabled=false
+
+Usage:
+  helm deploy [RELEASE] [CHART] [flags]
+
+Flags:
+      --namespace string         namespace to install the release into. Defaults to the current kube config namespace.
+      --set stringArray          set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
+      --set-string stringArray   set STRING values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)
+  -f, --values valueFiles        specify values in a YAML file or a URL(can specify multiple) (default [])
+EOF
+}
+
+parse_yaml() {
+  local prefix=$2
+  local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
+  sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \
+       -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p"  $1 |
+  awk -F$fs '{
+     indent = length($1)/2;
+     vname[indent] = $2;
+     for (i in vname) {if (i > indent) {delete vname[i]}}
+     if (length($3) > 0) {
+        vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])("_")}
+        printf("%s%s%s=\"%s\"\n", "'$prefix'",vn, $2, $3);
+     }
+  }'
+}
+
+generate_overrides() {
+  SUBCHART_NAMES=($(cat $COMPUTED_OVERRIDES | grep -v '^\s\s'))
+
+  for index in "${!SUBCHART_NAMES[@]}"; do
+    START=${SUBCHART_NAMES[index]}
+    END=${SUBCHART_NAMES[index+1]}
+    if [[ $START == "global:" ]]; then
+      echo "global:" > $GLOBAL_OVERRIDES
+      cat $COMPUTED_OVERRIDES | sed '/common:/,/consul:/d' \
+        | sed -n '/'"$START"'/,/'log:'/p' | sed '1d;$d' >> $GLOBAL_OVERRIDES  
+    else
+      SUBCHART_DIR="$CACHE_SUBCHART_DIR/$(cut -d':' -f1 <<<"$START")"
+      if [[ -d "$SUBCHART_DIR" ]]; then
+        cat $COMPUTED_OVERRIDES | sed -n '/'"$START"'/,/'"$END"'/p' \
+          | sed '1d;$d' | cut -c3- > $SUBCHART_DIR/subchart-overrides.yaml
+      fi
+    fi
+  done
+}
+
+deploy() {
+  RELEASE=$1
+  CHART_URL=$2
+  FLAGS=${@:3}
+  CHART_REPO="$(cut -d'/' -f1 <<<"$CHART_URL")"
+  CHART_NAME="$(cut -d'/' -f2 <<<"$CHART_URL")"
+  CACHE_DIR=~/.helm/plugins/deploy/cache
+  CHART_DIR=$CACHE_DIR/$CHART_NAME
+  CACHE_SUBCHART_DIR=$CHART_DIR-subcharts
+  # should pass all flags instead
+  NAMESPACE="$(echo $FLAGS | sed -n 's/.*\(namespace\).\s*/\1/p' | cut -c10-)"
+  # clear previously cached charts
+  rm -rf $CACHE_DIR
+
+  # fetch umbrella chart (parent chart containing subcharts)
+  if [[ -d "$CHART_URL" ]]; then
+    mkdir -p $CHART_DIR
+    cp -R $CHART_URL/* $CHART_DIR/
+
+    cd $CHART_DIR/charts/
+    for subchart in * ; do
+      tar xzf ${subchart}
+    done
+    rm -rf *.tgz
+  else
+    helm fetch $CHART_URL --untar --untardir $CACHE_DIR
+  fi
+
+  # move out subcharts to process separately
+  mkdir -p $CACHE_SUBCHART_DIR
+  mv $CHART_DIR/charts/* $CACHE_SUBCHART_DIR/
+  # temp hack - parent chart needs common subchart
+  mv $CACHE_SUBCHART_DIR/common $CHART_DIR/charts/
+
+  # disable dependencies
+  rm $CHART_DIR/requirements.lock
+  mv $CHART_DIR/requirements.yaml $CHART_DIR/requirements.deploy
+
+  # compute overrides for parent and all subcharts
+  COMPUTED_OVERRIDES=$CACHE_DIR/$CHART_NAME/computed-overrides.yaml
+  helm upgrade -i $RELEASE $CHART_DIR $FLAGS --dry-run --debug \
+   | sed -n '/COMPUTED VALUES:/,/HOOKS:/p' | sed '1d;$d' > $COMPUTED_OVERRIDES
+
+  # extract global overrides to apply to parent and all subcharts
+  GLOBAL_OVERRIDES=$CHART_DIR/global-overrides.yaml
+  generate_overrides $COMPUTED_OVERRIDES $GLOBAL_OVERRIDES
+
+  # upgrade/install parent chart first
+  helm upgrade -i $RELEASE $CHART_DIR --namespace $NAMESPACE -f $COMPUTED_OVERRIDES
+
+  # parse computed overrides - will use to determine if a subchart is "enabled"
+  eval $(parse_yaml $COMPUTED_OVERRIDES "computed_")
+
+  # upgrade/install each "enabled" subchart
+  cd $CACHE_SUBCHART_DIR
+  for subchart in * ; do
+    VAR="computed_${subchart}_enabled"
+    COMMAND="$"$VAR
+    eval "SUBCHART_ENABLED=$COMMAND"
+    if [[ $SUBCHART_ENABLED == "true" ]]; then
+      SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml
+      helm upgrade -i "${RELEASE}-${subchart}" $CACHE_SUBCHART_DIR/$subchart \
+       --namespace $NAMESPACE -f $GLOBAL_OVERRIDES -f $SUBCHART_OVERRIDES
+    fi
+  done
+}
+
+if [[ $# < 2 ]]; then
+  usage
+  exit 0
+fi
+
+case "${1:-"help"}" in
+  "help")
+    usage
+    ;;
+  "--help")
+    usage
+    ;;
+  "-h")
+    usage
+    ;;
+  *)
+    deploy $1 $2 ${@:3}
+    ;;
+esac
+
+exit 0
\ No newline at end of file
diff --git a/kubernetes/helm/plugins/deploy/plugin.yaml b/kubernetes/helm/plugins/deploy/plugin.yaml
new file mode 100644 (file)
index 0000000..fc7f7d0
--- /dev/null
@@ -0,0 +1,7 @@
+name: "deploy"
+version: "1.0.0"
+usage: "install (upgrade if release exists) parent chart and subcharts as separate 
+but related releases"
+description: "install (upgrade if release exists) parent charty and all subcharts as separate 
+but related releases"
+command: "$HELM_PLUGIN_DIR/deploy.sh"
\ No newline at end of file
diff --git a/kubernetes/helm/plugins/undeploy/plugin.yaml b/kubernetes/helm/plugins/undeploy/plugin.yaml
new file mode 100644 (file)
index 0000000..02999fd
--- /dev/null
@@ -0,0 +1,7 @@
+name: "undeploy"
+version: "1.0.0"
+usage: "delete parent chart and subcharts that were deployed as separate 
+releases"
+description: "delete parent chart and subcharts that were deployed as separate 
+releases"
+command: "$HELM_PLUGIN_DIR/undeploy.sh"
\ No newline at end of file
diff --git a/kubernetes/helm/plugins/undeploy/undeploy.sh b/kubernetes/helm/plugins/undeploy/undeploy.sh
new file mode 100755 (executable)
index 0000000..02b5d34
--- /dev/null
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+usage() {
+cat << EOF
+Delete an umbrella Helm Chart, and its subcharts, that was previously deployed using 'Helm deploy'. 
+
+Example of deleting all Releases that have the prefix 'demo'.
+  $ helm undeploy demo
+
+  $ helm undeploy demo --purge
+
+Usage:
+  helm undeploy [RELEASE] [flags]
+
+Flags:
+      --purge     remove the releases from the store and make its name free for later use
+EOF
+}
+
+undeploy() {
+  RELEASE=$1
+  FLAGS=$2
+
+  array=($(helm ls -q | grep $RELEASE))
+  n=${#array[*]}
+  for (( i = n-1; i >= 0; i-- ))
+  do
+    helm del "${array[i]}" $FLAGS
+  done
+}
+
+if [[ $# < 1 ]]; then
+  echo "Error: command 'undeploy' requires a release name"
+  exit 0
+fi
+
+case "${1:-"help"}" in
+  "help")
+    usage
+    ;;
+  "--help")
+    usage
+    ;;
+  "-h")
+    usage
+    ;;
+  *)
+    undeploy $1 ${@:2}
+    ;;
+esac
+
+exit 0
\ No newline at end of file
index 6bbd5b9..9dbdad5 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging ElasticStack
 name: log
-version: 2.0.0
+version: 3.0.0
index 2be8c79..88edfd0 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Elasticsearch
 name: log-elasticsearch
-version: 2.0.0
+version: 3.0.0
index 7fe6851..14a4eb7 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Kibana
 name: log-kibana
-version: 2.0.0
+version: 3.0.0
index 62bafab..99f93b4 100644 (file)
@@ -16,4 +16,4 @@
 apiVersion: v1
 description: ONAP Logging Logstash
 name: log-logstash
-version: 2.0.0
+version: 3.0.0
index 16355ee..7dd8fa5 100644 (file)
@@ -20,5 +20,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-log-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
index ba249be..1c91e8a 100644 (file)
@@ -62,6 +62,8 @@ spec:
        - mountPath: /opt/ocata/ocata/pub/config/log.yml
          name: ocata-logconfig
          subPath: log.yml
+       resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        ports:
@@ -80,17 +82,6 @@ spec:
          successThreshold: {{ .Values.liveness.successThreshold }}
          failureThreshold: {{ .Values.liveness.failureThreshold }}
        {{ end }}
-       resources:
-{{ toYaml .Values.resources | indent 12 }}
-        {{- if .Values.nodeSelector }}
-     nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-     {{- end -}}
-     {{- if .Values.affinity }}
-     affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-     {{- end }}
-
      # side car containers
      - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
index 286f839..25b21d6 100644 (file)
@@ -66,21 +66,21 @@ service:
 ingress:
   enabled: false
 
-resources: {}
-  # We usually recommend not to specify default resources and to leave this as a conscious
-  # choice for the user. This also increases chances charts run on environments with little
-  # resources, such as Minikube. If you do want to specify resources, uncomment the following
-  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
-  #
-  # Example:
-  # Configure resource requests and limits
-  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  # Minimum memory for development is 2 CPU cores and 4GB memory
-  # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
index 411c445..0b39a5c 100644 (file)
@@ -20,5 +20,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-log-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
index 82804a4..b555d46 100644 (file)
@@ -62,6 +62,8 @@ spec:
        - mountPath: /opt/vio/vio/pub/config/log.yml
          name: vio-logconfig
          subPath: log.yml
+       resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        ports:
@@ -92,17 +94,6 @@ spec:
          name: vio-log
        - mountPath: /usr/share/filebeat/data
          name: vio-data-filebeat
-       resources:
-{{ toYaml .Values.resources | indent 12 }}
-        {{- if .Values.nodeSelector }}
-     nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-     {{- end -}}
-     {{- if .Values.affinity }}
-     affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-     {{- end }}
-
      volumes:
      - name: vio-log
        emptyDir: {}
index 473ccf6..bc207ef 100644 (file)
@@ -66,21 +66,21 @@ service:
 ingress:
   enabled: false
 
-resources: {}
-  # We usually recommend not to specify default resources and to leave this as a conscious
-  # choice for the user. This also increases chances charts run on environments with little
-  # resources, such as Minikube. If you do want to specify resources, uncomment the following
-  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
-  #
-  # Example:
-  # Configure resource requests and limits
-  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  # Minimum memory for development is 2 CPU cores and 4GB memory
-  # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
index 411c445..0b39a5c 100644 (file)
@@ -20,5 +20,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-log-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
index 353cb7b..2e89974 100644 (file)
@@ -62,6 +62,8 @@ spec:
        - mountPath: /opt/windriver/titanium_cloud/pub/config/log.yml
          name: windriver-logconfig
          subPath: log.yml
+       resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        ports:
@@ -80,17 +82,6 @@ spec:
          successThreshold: {{ .Values.liveness.successThreshold }}
          failureThreshold: {{ .Values.liveness.failureThreshold }}
        {{ end }}
-       resources:
-{{ toYaml .Values.resources | indent 12 }}
-        {{- if .Values.nodeSelector }}
-     nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-     {{- end -}}
-     {{- if .Values.affinity }}
-     affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-     {{- end }}
-
      # side car containers
      - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
index d6af600..dce2343 100644 (file)
@@ -66,21 +66,21 @@ liveness:
 ingress:
   enabled: false
 
-resources: {}
-  # We usually recommend not to specify default resources and to leave this as a conscious
-  # choice for the user. This also increases chances charts run on environments with little
-  # resources, such as Minikube. If you do want to specify resources, uncomment the following
-  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
-  #
-  # Example:
-  # Configure resource requests and limits
-  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  # Minimum memory for development is 2 CPU cores and 4GB memory
-  # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
index bdbbc9b..e2b789d 100644 (file)
@@ -20,6 +20,11 @@ kind: ConfigMap
 metadata:
   name: multicloud-filebeat-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
 ---
@@ -28,6 +33,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-log-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/framework/*").AsConfig . | indent 2 }}
 ---
@@ -36,5 +46,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-provider-plugin-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/provider-plugin.json").AsConfig . | indent 2 }}
index 84a8cc2..5c524fb 100644 (file)
@@ -53,6 +53,8 @@ spec:
          value: "{{ .Values.config.aai.username }}"
        - name: AAI_PASSWORD
          value: "{{ .Values.config.aai.password }}"
+       resources:
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: {{ include "common.name" . }}
@@ -94,17 +96,6 @@ spec:
          name: framework-log
        - mountPath: /usr/share/filebeat/data
          name: framework-data-filebeat
-       resources:
-{{ toYaml .Values.resources | indent 12 }}
-        {{- if .Values.nodeSelector }}
-     nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 10 }}
-     {{- end -}}
-     {{- if .Values.affinity }}
-     affinity:
-{{ toYaml .Values.affinity | indent 10 }}
-     {{- end }}
-
      volumes:
      - name: framework-log
        emptyDir: {}
index aeed9e1..dc04dbb 100644 (file)
@@ -70,21 +70,21 @@ service:
 ingress:
   enabled: false
 
-resources: {}
-  # We usually recommend not to specify default resources and to leave this as a conscious
-  # choice for the user. This also increases chances charts run on environments with little
-  # resources, such as Minikube. If you do want to specify resources, uncomment the following
-  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
-  #
-  # Example:
-  # Configure resource requests and limits
-  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  # Minimum memory for development is 2 CPU cores and 4GB memory
-  # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
index 7575061..30e6572 100644 (file)
@@ -75,7 +75,7 @@ spec:
             - name: ONAP_CLOUDOWNER
               value: {{ .Values.config.cloudOwner }}
             - name: NBI_URL
-              value: "http://nbi.{{ include "common.namespace" . }}:8080/nbi/api/v1"
+              value: "http://nbi.{{ include "common.namespace" . }}:8080/nbi/api/v3"
             - name: SDC_HOST
               value: "http://sdc-be.{{ include "common.namespace" . }}:8080"
             - name: SDC_HEADER_ECOMPINSTANCEID
@@ -94,6 +94,12 @@ spec:
             {{- end }}
             - name: LOGGING_LEVEL_ORG_ONAP_NBI
               value: {{ .Values.config.loglevel }}
+            - name: MSB_ENABLED
+              value: "true"
+            - name: MSB_DISCOVERY_HOST
+              value: "msb-discovery.{{ include "common.namespace" . }}"
+            - name: MSB_DISCOVERY_PORT
+              value: "10081"
           volumeMounts:
             - mountPath: /etc/localtime
               name: localtime
index f0cbc9a..f37e818 100644 (file)
@@ -28,7 +28,7 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/externalapi/nbi:2.0.0
+image: onap/externalapi/nbi:3.0.0-latest
 pullPolicy: Always
 sdc_authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
 aai_authorization: Basic QUFJOkFBSQ==
@@ -84,7 +84,7 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 10
+  initialDelaySeconds: 120
   periodSeconds: 10
   # necessary to disable liveness probe when setting breakpoints
   # in debugger so K8s doesn't restart unresponsive container
@@ -104,21 +104,10 @@ service:
 ingress:
   enabled: false
 
-resources: {}
-  # We usually recommend not to specify default resources and to leave this as a conscious
-  # choice for the user. This also increases chances charts run on environments with little
-  # resources, such as Minikube. If you do want to specify resources, uncomment the following
-  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
-  #
-  # Example:
-  # Configure resource requests and limits
-  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  # Minimum memory for development is 2 CPU cores and 4GB memory
-  # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+resources:
+  limits:
+    cpu: 1
+    memory: 2Gi
+  requests:
+    cpu: 100m
+    memory: 1Gi
index 911a1d5..b6e450a 100644 (file)
@@ -44,6 +44,10 @@ dependencies:
     version: ~2.0.0
     repository: '@local'
     condition: consul.enabled
+  - name: contrib
+    version: ~2.0.0
+    repository: '@local'
+    condition: contrib.enabled
   - name: dcaegen2
     version: ~2.0.0
     repository: '@local'
@@ -57,7 +61,7 @@ dependencies:
     repository: '@local'
     condition: esr.enabled
   - name: log
-    version: ~2.0.0
+    version: ~3.0.0
     repository: '@local'
     condition: log.enabled
   - name: sniro-emulator
index 7a988a5..4c9e704 100644 (file)
@@ -22,6 +22,7 @@ global:
   # Change to an unused port prefix range to prevent port conflicts
   # with other instances running within the same k8s cluster
   nodePortPrefix: 302
+  nodePortPrefixExt: 304
 
   # ONAP Repository
   # Uncomment the following to enable the use of a single docker
index eba5dcf..9b56c7b 100644 (file)
@@ -22,6 +22,7 @@ global:
   # Change to an unused port prefix range to prevent port conflicts
   # with other instances running within the same k8s cluster
   nodePortPrefix: 302
+  nodePortPrefixExt: 304
 
   # ONAP Repository
   # Uncomment the following to enable the use of a single docker
@@ -77,6 +78,8 @@ cli:
   enabled: true
 consul:
   enabled: true
+contrib:
+  enabled: true
 dcaegen2:
   enabled: true
 dmaap:
@@ -107,6 +110,9 @@ portal:
   enabled: true
 robot:
   enabled: true
+  config:
+# openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
+    openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
 sdc:
   enabled: true
 sdnc:
index 075d7a8..6d7dad9 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-docker-entry-initd
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/cassandra/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
 
index 969fb11..7a38efa 100644 (file)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index 3b8f331..f21a002 100755 (executable)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ .Values.global.commonConfigPrefix }}-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index c8a9f03..fa6b410 100755 (executable)
@@ -24,7 +24,7 @@ global:
   commonConfigPrefix: onap-oof-has
   image:
     readiness: oomk8s/readiness-check:2.0.0
-    optf_has: onap/optf-has:1.2.0
+    optf_has: onap/optf-has:1.2.1
     filebeat: docker.elastic.co/beats/filebeat:5.5.0
 
 pullPolicy: Always
index 650531a..e73c758 100644 (file)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index fae9d93..ac1bcc0 100644 (file)
@@ -26,7 +26,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/optf-osdf:1.2.0
+image: onap/optf-osdf:1.2.1
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index a6c054d..c44c8f0 100644 (file)
@@ -30,12 +30,12 @@ echo "Removing the vFW Policy from PDP.."
 echo
 echo
 
-curl -v -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+curl -v -k -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
   "policyComponent" : "PDP",
   "policyName": "com.BRMSParamvFirewall",
   "policyType": "BRMS_Param"
-}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/deletePolicy
+}' https://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/deletePolicy
 
 sleep 20
 
@@ -45,7 +45,7 @@ echo
 echo "Updating vFW Operational Policy .."
 echo
 
-curl -v -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+curl -v -k -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
   "policyConfigType": "BRMS_PARAM",
   "policyName": "com.BRMSParamvFirewall",
   "policyDescription": "BRMS Param vFirewall policy",
@@ -60,7 +60,7 @@ curl -v -X PUT --header 'Content-Type: application/json' --header 'Accept: text/
       "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+'${RESOURCE_ID}'%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
     }
   }
-}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/updatePolicy
+}' https://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/updatePolicy
 
 sleep 5
 
@@ -70,11 +70,11 @@ echo "Pushing the vFW Policy .."
 echo
 echo
 
-curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+curl -v -k --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
   "policyName": "com.BRMSParamvFirewall",
   "policyType": "BRMS_Param"
-}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/pushPolicy
+}' https://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/pushPolicy
 
 sleep 20
 
@@ -95,7 +95,7 @@ echo "PDP-D amsterdam maven coordinates .."
 echo
 echo
 
-curl -vvv --silent --user @1b3rt:31nst31n -X GET http://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools  | python -m json.tool
+curl -vvv -k --silent --user @1b3rt:31nst31n -X GET https://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools  | python -m json.tool
 
 
 echo
@@ -104,4 +104,4 @@ echo "PDP-D control loop updated .."
 echo
 echo
 
-curl -v --silent --user @1b3rt:31nst31n -X GET http://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools/facts/closedloop-amsterdam/org.onap.policy.controlloop.Params  | python -m json.tool
+curl -v -k --silent --user @1b3rt:31nst31n -X GET https://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools/facts/closedloop-amsterdam/org.onap.policy.controlloop.Params  | python -m json.tool
index a86a5fc..44f3b36 100644 (file)
@@ -148,12 +148,45 @@ sleep 2
 
 echo "Create MicroServicevCPE Policy"
 curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
-       "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }",
+    "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"Measurement_vGMUX\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ABATED\" }, { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", \"thresholdValue\": 0, \"direction\": \"GREATER\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }",
        "policyConfigType": "MicroService",
        "policyName": "com.MicroServicevCPE",
        "onapName": "DCAE"
 }' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
+#########################################Create SDNC Naming Policies##########################################
+
+echo "Create SDNC Naming Policies"
+
+sleep 2
+
+echo "Create SDNC vFW Naming Policy"
+curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ 
+    "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VFW_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vFW\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vFW\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}",
+    "policyName": "SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP",
+    "policyConfigType": "MicroService",
+    "onapName": "SDNC",
+    "riskLevel": "4",
+    "riskType": "test",
+    "guard": "false",
+    "priority": "4",
+    "description": "ONAP_VFW_NAMING_TIMESTAMP"
+}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
+
+sleep 2
+
+echo "Create SDNC vPG Naming Policy"
+curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{ 
+    "configBody": "{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VPG_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"nfRole\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"nfRole\":\"vPG\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|nfRole|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"}],\"naming-type\":\"KEY\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"protected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"protected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"unprotected\",\"property-name\":\"CONSTANT\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"unprotected_private_net_id\",\"nfRole\":\"vPG\",\"naming-recipe\":\"VNF_NAME|DELIMITER|CONSTANT\"}]}}",
+    "policyName": "SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP",
+    "policyConfigType": "MicroService",
+    "onapName": "SDNC",
+    "riskLevel": "4",
+    "riskType": "test",
+    "guard": "false",
+    "priority": "4",
+    "description": "ONAP_VPG_NAMING_TIMESTAMP"
+}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/createPolicy'
 
 #########################################Creating Decision Guard policy######################################### 
 
@@ -262,3 +295,24 @@ curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'A
   "policyName": "com.MicroServicevCPE",
   "policyType": "MicroService"
 }' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' 
+
+#########################################Pushing SDNC Naming Policies##########################################
+echo "Pushing SDNC Naming Policies"
+
+sleep 2
+
+echo "pushPolicy : PUT : SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP"
+curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+  "pdpGroup": "default",
+  "policyName": "SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP",
+  "policyType": "MicroService"
+}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' 
+
+sleep 10
+
+echo "pushPolicy : PUT : SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP"
+curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+  "pdpGroup": "default",
+  "policyName": "SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP",
+  "policyType": "MicroService"
+}' 'https://{{.Values.global.pdp.nameOverride}}:{{.Values.config.pdpPort}}/pdp/api/pushPolicy' 
index f1493cd..194ab1d 100644 (file)
@@ -38,8 +38,7 @@ aai.readTimeout={{ .Values.config.aaiReadTimeout }}
 http.userId={{ .Values.config.httpUserId }}
 http.password={{ .Values.config.httpPassword }}
 
-# {0} = customerId {1} = serviceType {2} = serviceInstanceId
-aai.serviceInstancePath=/aai/v11/business/customers/customer/{0}/service-subscriptions/service-subscription/{1}/service-instances/service-instance/{2}
+aai.searchNodeQuery=/aai/v11/search/nodes-query?search-node-type=service-instance&filter=service-instance-id:EQUALS:
 
 #Servlet context parameters
 server.context_parameters.p-name=value #context parameter with p-name as key and value as value.
index 9b76b43..47ad5c3 100644 (file)
@@ -37,9 +37,9 @@ config:
   aaiPort: 8443
   aaiUsername: AAI
   aaiPassword: OBF:1gfr1ev31gg7
-  aaiHttpProtocol: http
+  aaiHttpProtocol: https
   aaiConnectionTimeout: 5000
-  aaiReadTimeout: 1000 
+  aaiReadTimeout: 1000
   # HTTP Basic Authorization credentials for Rest Service API
   httpUserId: admin
   httpPassword: OBF:1u2a1toa1w8v1tok1u30
index 05eecc6..dc885ac 100755 (executable)
@@ -1,3 +1,16 @@
+# Copyright © 2018 Amdocs
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
 server.port=9529
 server.ssl.key-store=/auth/tomcat_keystore
 server.ssl.key-store-password=onapSecret
@@ -29,7 +42,7 @@ transport.publish.type=HTTPAUTH
 transport.publish.partition=1
 transport.publish.retries=4
 
-event.header.domain=IST3S2
+event.header.domain=onap
 event.header.source-name=RO
 event.header.event-type=POA-EVENT
 event.header.entity-type=poa-entity
index 1a958ea..7a119f9 100755 (executable)
@@ -1,7 +1,21 @@
+# Copyright © 2018 Amdocs
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 server.host={{ .Values.config.aaiCtxBuilderHost }}
 basicauth.username={{ .Values.config.aaiCtxBuilderUsername }}
 basicauth.password={{ .Values.config.aaiCtxBuilderPassword }}
-server.port=9530
+server.port={{ .Values.config.ctxBuilderExternalPort }}
 server.protocol=http
 trust.store.path=/auth/tomcat_keystore
 key.store.path=/auth/aai-client-cert.p12
diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/networkdiscovery.properties b/kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/networkdiscovery.properties
new file mode 100755 (executable)
index 0000000..aa80aed
--- /dev/null
@@ -0,0 +1,28 @@
+# Copyright © 2018 Amdocs
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+server.host={{ .Values.config.networkdiscoveryCtxBuilderHost }}
+basicauth.username={{ .Values.config.networkdiscoveryCtxBuilderUsername }}
+basicauth.password={{ .Values.config.networkdiscoveryCtxBuilderPassword }}
+server.port={{ .Values.config.ctxBuilderExternalPort }}
+server.protocol=http
+trust.store.path=/auth/tomcat_keystore
+key.store.path=/auth/aai-client-cert.p12
+key.store.password=70c87528c88dcd9f9c2558d30e817868
+key.store.type=PKCS12
+key.manager.factory.algorithm=SunX509
+security.protocol=TLS
+connection.timeout.ms=60000
+read.timeout.ms=60000
+base.uri=/ndcontextbuilder/service/context
index 413ac1a..80167d2 100755 (executable)
@@ -1,7 +1,20 @@
+# Copyright © 2018 Amdocs
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
 server.host={{ .Values.config.sdcCtxBuilderHost }}
 basicauth.username={{ .Values.config.sdcCtxBuilderUsername }}
 basicauth.password={{ .Values.config.sdcCtxBuilderPassword }}
-server.port=9532
+server.port={{ .Values.config.ctxBuilderExternalPort }}
 server.protocol=http
 trust.store.path=/auth/tomcat_keystore
 key.store.path=/auth/aai-client-cert.p12
index 60a9273..f06d335 100755 (executable)
@@ -1,7 +1,20 @@
+# Copyright © 2018 Amdocs
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
 server.host={{ .Values.config.sdncCtxBuilderHost }}
 basicauth.username={{ .Values.config.sdncCtxBuilderUsername }}
 basicauth.password={{ .Values.config.sdncCtxBuilderPassword }}
-server.port=9531
+server.port={{ .Values.config.ctxBuilderExternalPort }}
 server.protocol=http
 trust.store.path=/auth/tomcat_keystore
 key.store.path=/auth/aai-client-cert.p12
index 076a8d2..072357f 100755 (executable)
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -32,15 +32,18 @@ debugEnabled: false
 # application configuration
 config:
   aaiCtxBuilderHost: pomba-aaictxbuilder
-  aaiCtxBuilderUsername: change-me
-  aaiCtxBuilderPassword: change-me
+  aaiCtxBuilderUsername: admin
+  aaiCtxBuilderPassword: admin
   sdcCtxBuilderHost: pomba-sdcctxbuilder
-  sdcCtxBuilderUsername: change-me
-  sdcCtxBuilderPassword: change-me
+  sdcCtxBuilderUsername: admin
+  sdcCtxBuilderPassword: admin
   sdncCtxBuilderHost: pomba-sdncctxbuilder
-  sdncCtxBuilderUsername: change-me
-  sdncCtxBuilderPassword: change-me
-  
+  sdncCtxBuilderUsername: admin
+  sdncCtxBuilderPassword: admin
+  networkdiscoveryCtxBuilderHost: pomba-networkdiscoveryctxbuilder
+  networkdiscoveryCtxBuilderUsername: admin
+  networkdiscoveryCtxBuilderPassword: admin
+  ctxBuilderExternalPort: 9530
 
 # default number of instances
 replicaCount: 1
index c2e527d..77afee7 100644 (file)
@@ -1 +1,247 @@
-{".kibana":{"mappings":{"doc":{"dynamic":"strict","properties":{"config":{"dynamic":"true","properties":{"buildNum":{"type":"keyword"},"defaultIndex":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":256}}},"telemetry:optIn":{"type":"boolean"}}},"dashboard":{"properties":{"description":{"type":"text"},"hits":{"type":"integer"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"optionsJSON":{"type":"text"},"panelsJSON":{"type":"text"},"refreshInterval":{"properties":{"display":{"type":"keyword"},"pause":{"type":"boolean"},"section":{"type":"integer"},"value":{"type":"integer"}}},"timeFrom":{"type":"keyword"},"timeRestore":{"type":"boolean"},"timeTo":{"type":"keyword"},"title":{"type":"text"},"uiStateJSON":{"type":"text"},"version":{"type":"integer"}}},"index-pattern":{"properties":{"fieldFormatMap":{"type":"text"},"fields":{"type":"text"},"intervalName":{"type":"keyword"},"notExpandable":{"type":"boolean"},"sourceFilters":{"type":"text"},"timeFieldName":{"type":"keyword"},"title":{"type":"text"}}},"search":{"properties":{"columns":{"type":"keyword"},"description":{"type":"text"},"hits":{"type":"integer"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"sort":{"type":"keyword"},"title":{"type":"text"},"version":{"type":"integer"}}},"server":{"properties":{"uuid":{"type":"keyword"}}},"timelion-sheet":{"properties":{"description":{"type":"text"},"hits":{"type":"integer"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"timelion_chart_height":{"type":"integer"},"timelion_columns":{"type":"integer"},"timelion_interval":{"type":"keyword"},"timelion_other_interval":{"type":"keyword"},"timelion_rows":{"type":"integer"},"timelion_sheet":{"type":"text"},"title":{"type":"text"},"version":{"type":"integer"}}},"type":{"type":"keyword"},"updated_at":{"type":"date"},"url":{"properties":{"accessCount":{"type":"long"},"accessDate":{"type":"date"},"createDate":{"type":"date"},"url":{"type":"text","fields":{"keyword":{"type":"keyword","ignore_above":2048}}}}},"visualization":{"properties":{"description":{"type":"text"},"kibanaSavedObjectMeta":{"properties":{"searchSourceJSON":{"type":"text"}}},"savedSearchId":{"type":"keyword"},"title":{"type":"text"},"uiStateJSON":{"type":"text"},"version":{"type":"integer"},"visState":{"type":"text"}}}}}}}}
+{
+  ".kibana": {
+    "mappings": {
+      "doc": {
+        "dynamic": "strict",
+        "properties": {
+          "config": {
+            "dynamic": "true",
+            "properties": {
+              "buildNum": {
+                "type": "keyword"
+              },
+              "defaultIndex": {
+                "type": "text",
+                "fields": {
+                  "keyword": {
+                    "type": "keyword",
+                    "ignore_above": 256
+                  }
+                }
+              },
+              "telemetry:optIn": {
+                "type": "boolean"
+              }
+            }
+          },
+          "dashboard": {
+            "properties": {
+              "description": {
+                "type": "text"
+              },
+              "hits": {
+                "type": "integer"
+              },
+              "kibanaSavedObjectMeta": {
+                "properties": {
+                  "searchSourceJSON": {
+                    "type": "text"
+                  }
+                }
+              },
+              "optionsJSON": {
+                "type": "text"
+              },
+              "panelsJSON": {
+                "type": "text"
+              },
+              "refreshInterval": {
+                "properties": {
+                  "display": {
+                    "type": "keyword"
+                  },
+                  "pause": {
+                    "type": "boolean"
+                  },
+                  "section": {
+                    "type": "integer"
+                  },
+                  "value": {
+                    "type": "integer"
+                  }
+                }
+              },
+              "timeFrom": {
+                "type": "keyword"
+              },
+              "timeRestore": {
+                "type": "boolean"
+              },
+              "timeTo": {
+                "type": "keyword"
+              },
+              "title": {
+                "type": "text"
+              },
+              "uiStateJSON": {
+                "type": "text"
+              },
+              "version": {
+                "type": "integer"
+              }
+            }
+          },
+          "index-pattern": {
+            "properties": {
+              "fieldFormatMap": {
+                "type": "text"
+              },
+              "fields": {
+                "type": "text"
+              },
+              "intervalName": {
+                "type": "keyword"
+              },
+              "notExpandable": {
+                "type": "boolean"
+              },
+              "sourceFilters": {
+                "type": "text"
+              },
+              "timeFieldName": {
+                "type": "keyword"
+              },
+              "title": {
+                "type": "text"
+              }
+            }
+          },
+          "search": {
+            "properties": {
+              "columns": {
+                "type": "keyword"
+              },
+              "description": {
+                "type": "text"
+              },
+              "hits": {
+                "type": "integer"
+              },
+              "kibanaSavedObjectMeta": {
+                "properties": {
+                  "searchSourceJSON": {
+                    "type": "text"
+                  }
+                }
+              },
+              "sort": {
+                "type": "keyword"
+              },
+              "title": {
+                "type": "text"
+              },
+              "version": {
+                "type": "integer"
+              }
+            }
+          },
+          "server": {
+            "properties": {
+              "uuid": {
+                "type": "keyword"
+              }
+            }
+          },
+          "timelion-sheet": {
+            "properties": {
+              "description": {
+                "type": "text"
+              },
+              "hits": {
+                "type": "integer"
+              },
+              "kibanaSavedObjectMeta": {
+                "properties": {
+                  "searchSourceJSON": {
+                    "type": "text"
+                  }
+                }
+              },
+              "timelion_chart_height": {
+                "type": "integer"
+              },
+              "timelion_columns": {
+                "type": "integer"
+              },
+              "timelion_interval": {
+                "type": "keyword"
+              },
+              "timelion_other_interval": {
+                "type": "keyword"
+              },
+              "timelion_rows": {
+                "type": "integer"
+              },
+              "timelion_sheet": {
+                "type": "text"
+              },
+              "title": {
+                "type": "text"
+              },
+              "version": {
+                "type": "integer"
+              }
+            }
+          },
+          "type": {
+            "type": "keyword"
+          },
+          "updated_at": {
+            "type": "date"
+          },
+          "url": {
+            "properties": {
+              "accessCount": {
+                "type": "long"
+              },
+              "accessDate": {
+                "type": "date"
+              },
+              "createDate": {
+                "type": "date"
+              },
+              "url": {
+                "type": "text",
+                "fields": {
+                  "keyword": {
+                    "type": "keyword",
+                    "ignore_above": 2048
+                  }
+                }
+              }
+            }
+          },
+          "visualization": {
+            "properties": {
+              "description": {
+                "type": "text"
+              },
+              "kibanaSavedObjectMeta": {
+                "properties": {
+                  "searchSourceJSON": {
+                    "type": "text"
+                  }
+                }
+              },
+              "savedSearchId": {
+                "type": "keyword"
+              },
+              "title": {
+                "type": "text"
+              },
+              "uiStateJSON": {
+                "type": "text"
+              },
+              "version": {
+                "type": "integer"
+              },
+              "visState": {
+                "type": "text"
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
index 38d7cc7..d54dbfe 100644 (file)
-{"_index":".kibana","_type":"doc","_id":"index-pattern:f4978470-8fa0-11e8-bf59-199e245501e4","_score":1,"_source":{"type":"index-pattern","updated_at":"2018-07-25T00:23:33.543Z","index-pattern":{"title":"service-viol*","timeFieldName":"violationTimestamp","fields":"[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]"}}}
-{"_index":".kibana","_type":"doc","_id":"dashboard:Audit-Dashboard","_score":1,"_source":{"type":"dashboard","updated_at":"2018-07-25T01:08:47.377Z","dashboard":{"title":"Audit Dashboard","hits":0,"description":"","panelsJSON":"[{\"id\":\"Count-Visualization\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Validation-Records\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"modelInvariantId\",\"serviceInstanceId\",\"result\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]","optionsJSON":"{\"darkTheme\":false}","uiStateJSON":"{}","version":1,"timeRestore":true,"timeTo":"now","timeFrom":"now-30d","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}"}}}}
-{"_index":".kibana","_type":"doc","_id":"search:test","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.481Z","search":{"title":"test","description":"","hits":0,"columns":["serviceInstanceId","validationId"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}}
-{"_index":".kibana","_type":"doc","_id":"visualization:Violations-Over-Time","_score":1,"_source":{"type":"visualization","updated_at":"2018-07-25T01:08:47.645Z","visualization":{"title":"Violations Over Time","visState":"{\"title\":\"Violations Over Time\",\"type\":\"histogram\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"scale\":\"linear\",\"mode\":\"stacked\",\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Violation Events\"}},{\"id\":\"2\",\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"violationTimestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}],\"listeners\":{}}","uiStateJSON":"{}","description":"","savedSearchId":"Violation-Search","version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"filter\":[]}"}}}}
-{"_index":".kibana","_type":"doc","_id":"dashboard:Audit-Violations-Dashboard","_score":1,"_source":{"type":"dashboard","updated_at":"2018-07-25T01:08:47.382Z","dashboard":{"title":"Audit Violations Dashboard","hits":0,"description":"","panelsJSON":"[{\"id\":\"Violations-Over-Time\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Violation-Search\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"violationId\",\"violationType\",\"message\",\"severity\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]","optionsJSON":"{\"darkTheme\":false}","uiStateJSON":"{}","version":1,"timeRestore":false,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}"}}}}
-{"_index":".kibana","_type":"doc","_id":"visualization:Count-Visualization","_score":1,"_source":{"type":"visualization","updated_at":"2018-07-25T01:12:03.484Z","visualization":{"title":"Validations Over Time","visState":"{\"aggs\":[{\"id\":\"1\",\"params\":{\"customLabel\":\"Validation Events\"},\"schema\":\"metric\",\"type\":\"count\"},{\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"customLabel\":\"\",\"extended_bounds\":{},\"field\":\"validationTimestamp\",\"interval\":\"auto\",\"min_doc_count\":1},\"schema\":\"segment\",\"type\":\"date_histogram\"}],\"listeners\":{},\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"defaultYExtents\":false,\"mode\":\"stacked\",\"scale\":\"linear\",\"setYExtents\":false,\"shareYAxis\":true,\"times\":[],\"yAxis\":{}},\"title\":\"Count Visualization\",\"type\":\"histogram\"}","uiStateJSON":"{}","description":"","version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"}}}}
-{"_index":".kibana","_type":"doc","_id":"config:6.3.1","_score":1,"_source":{"type":"config","updated_at":"2018-07-25T00:25:06.654Z","config":{"buildNum":17276,"defaultIndex":"f4978470-8fa0-11e8-bf59-199e245501e4","telemetry:optIn":false}}}
-{"_index":".kibana","_type":"doc","_id":"search:Validation-Records","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.478Z","search":{"title":"Validation Records","description":"","hits":0,"columns":["validationId","modelInvariantId","serviceInstanceId","result"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}}
-{"_index":".kibana","_type":"doc","_id":"search:Main-View","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.480Z","search":{"title":"Main View","description":"","hits":0,"columns":["validationId","modelInvariantId","serviceInstanceId","result"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}}
-{"_index":".kibana","_type":"doc","_id":"index-pattern:2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380","_score":1,"_source":{"type":"index-pattern","updated_at":"2018-07-25T01:08:06.474Z","index-pattern":{"title":"service-validations*","timeFieldName":"validationTimestamp","fields":"[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"result\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.errorMessage\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].nf-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-service-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]"}}}
-{"_index":".kibana","_type":"doc","_id":"search:Violation-Search","_score":1,"_source":{"type":"search","updated_at":"2018-07-25T01:12:03.486Z","search":{"title":"Violation Search","description":"","hits":0,"columns":["validationId","violationId","violationType","message","severity"],"sort":["validationTimestamp","desc"],"version":1,"kibanaSavedObjectMeta":{"searchSourceJSON":"{\"index\":\"f4978470-8fa0-11e8-bf59-199e245501e4\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"}}}}
+{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "index-pattern:f4978470-8fa0-11e8-bf59-199e245501e4",
+  "_score": 1,
+  "_source": {
+    "type": "index-pattern",
+    "updated_at": "2018-07-25T00:23:33.543Z",
+    "index-pattern": {
+      "title": "service-viol*",
+      "timeFieldName": "violationTimestamp",
+      "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"message\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]"
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "dashboard:Audit-Dashboard",
+  "_score": 1,
+  "_source": {
+    "type": "dashboard",
+    "updated_at": "2018-07-25T01:08:47.377Z",
+    "dashboard": {
+      "title": "Audit Dashboard",
+      "hits": 0,
+      "description": "",
+      "panelsJSON": "[{\"id\":\"Count-Visualization\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Validation-Records\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"modelInvariantId\",\"serviceInstanceId\",\"result\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]",
+      "optionsJSON": "{\"darkTheme\":false}",
+      "uiStateJSON": "{}",
+      "version": 1,
+      "timeRestore": true,
+      "timeTo": "now",
+      "timeFrom": "now-30d",
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}"
+      }
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "search:test",
+  "_score": 1,
+  "_source": {
+    "type": "search",
+    "updated_at": "2018-07-25T01:12:03.481Z",
+    "search": {
+      "title": "test",
+      "description": "",
+      "hits": 0,
+      "columns": [
+        "serviceInstanceId",
+        "validationId"
+      ],
+      "sort": [
+        "validationTimestamp",
+        "desc"
+      ],
+      "version": 1,
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"
+      }
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "visualization:Violations-Over-Time",
+  "_score": 1,
+  "_source": {
+    "type": "visualization",
+    "updated_at": "2018-07-25T01:08:47.645Z",
+    "visualization": {
+      "title": "Violations Over Time",
+      "visState": "{\"title\":\"Violations Over Time\",\"type\":\"histogram\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"scale\":\"linear\",\"mode\":\"stacked\",\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"count\",\"schema\":\"metric\",\"params\":{\"customLabel\":\"Violation Events\"}},{\"id\":\"2\",\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"violationTimestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}}],\"listeners\":{}}",
+      "uiStateJSON": "{}",
+      "description": "",
+      "savedSearchId": "Violation-Search",
+      "version": 1,
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"filter\":[]}"
+      }
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "dashboard:Audit-Violations-Dashboard",
+  "_score": 1,
+  "_source": {
+    "type": "dashboard",
+    "updated_at": "2018-07-25T01:08:47.382Z",
+    "dashboard": {
+      "title": "Audit Violations Dashboard",
+      "hits": 0,
+      "description": "",
+      "panelsJSON": "[{\"id\":\"Violations-Over-Time\",\"type\":\"visualization\",\"panelIndex\":1,\"size_x\":12,\"size_y\":3,\"col\":1,\"row\":1},{\"id\":\"Violation-Search\",\"type\":\"search\",\"panelIndex\":2,\"size_x\":12,\"size_y\":5,\"col\":1,\"row\":4,\"columns\":[\"validationId\",\"violationId\",\"violationType\",\"message\",\"severity\"],\"sort\":[\"validationTimestamp\",\"desc\"]}]",
+      "optionsJSON": "{\"darkTheme\":false}",
+      "uiStateJSON": "{}",
+      "version": 1,
+      "timeRestore": false,
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}"
+      }
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "visualization:Count-Visualization",
+  "_score": 1,
+  "_source": {
+    "type": "visualization",
+    "updated_at": "2018-07-25T01:12:03.484Z",
+    "visualization": {
+      "title": "Validations Over Time",
+      "visState": "{\"aggs\":[{\"id\":\"1\",\"params\":{\"customLabel\":\"Validation Events\"},\"schema\":\"metric\",\"type\":\"count\"},{\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"customLabel\":\"\",\"extended_bounds\":{},\"field\":\"validationTimestamp\",\"interval\":\"auto\",\"min_doc_count\":1},\"schema\":\"segment\",\"type\":\"date_histogram\"}],\"listeners\":{},\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"defaultYExtents\":false,\"mode\":\"stacked\",\"scale\":\"linear\",\"setYExtents\":false,\"shareYAxis\":true,\"times\":[],\"yAxis\":{}},\"title\":\"Count Visualization\",\"type\":\"histogram\"}",
+      "uiStateJSON": "{}",
+      "description": "",
+      "version": 1,
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[]}"
+      }
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "config:6.3.1",
+  "_score": 1,
+  "_source": {
+    "type": "config",
+    "updated_at": "2018-07-25T00:25:06.654Z",
+    "config": {
+      "buildNum": 17276,
+      "defaultIndex": "f4978470-8fa0-11e8-bf59-199e245501e4",
+      "telemetry:optIn": false
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "search:Validation-Records",
+  "_score": 1,
+  "_source": {
+    "type": "search",
+    "updated_at": "2018-07-25T01:12:03.478Z",
+    "search": {
+      "title": "Validation Records",
+      "description": "",
+      "hits": 0,
+      "columns": [
+        "validationId",
+        "modelInvariantId",
+        "serviceInstanceId",
+        "result"
+      ],
+      "sort": [
+        "validationTimestamp",
+        "desc"
+      ],
+      "version": 1,
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"
+      }
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "search:Main-View",
+  "_score": 1,
+  "_source": {
+    "type": "search",
+    "updated_at": "2018-07-25T01:12:03.480Z",
+    "search": {
+      "title": "Main View",
+      "description": "",
+      "hits": 0,
+      "columns": [
+        "validationId",
+        "modelInvariantId",
+        "serviceInstanceId",
+        "result"
+      ],
+      "sort": [
+        "validationTimestamp",
+        "desc"
+      ],
+      "version": 1,
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"index\":\"2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"
+      }
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "index-pattern:2fa1bf80-8fa7-11e8-b5d4-cb06e6cca380",
+  "_score": 1,
+  "_source": {
+    "type": "index-pattern",
+    "updated_at": "2018-07-25T01:08:06.474Z",
+    "index-pattern": {
+      "title": "service-validations*",
+      "timeFieldName": "validationTimestamp",
+      "fields": "[{\"name\":\"_id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"modelInvariantId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"modelVersionId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"result\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"serviceInstanceId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"validationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.category\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.errorMessage\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.modelName\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.severity\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.validationRule\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].nf-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-aai-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-service-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.max-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.min-instances\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vf-module-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.invariant-id\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.nfc-naming-code\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdc-vf-list[*].vnfc-list.uuid\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf-list[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-name\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationDetails.context-list-sdnc-vf[*]-type\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"violations.violationTimestamp\",\"type\":\"date\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"violations.violationType\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"client\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"requestId\",\"type\":\"string\",\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false}]"
+    }
+  }
+}{
+  "_index": ".kibana",
+  "_type": "doc",
+  "_id": "search:Violation-Search",
+  "_score": 1,
+  "_source": {
+    "type": "search",
+    "updated_at": "2018-07-25T01:12:03.486Z",
+    "search": {
+      "title": "Violation Search",
+      "description": "",
+      "hits": 0,
+      "columns": [
+        "validationId",
+        "violationId",
+        "violationType",
+        "message",
+        "severity"
+      ],
+      "sort": [
+        "validationTimestamp",
+        "desc"
+      ],
+      "version": 1,
+      "kibanaSavedObjectMeta": {
+        "searchSourceJSON": "{\"index\":\"f4978470-8fa0-11e8-bf59-199e245501e4\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"},\"filter\":[],\"highlight\":{\"pre_tags\":[\"@kibana-highlighted-field@\"],\"post_tags\":[\"@/kibana-highlighted-field@\"],\"fields\":{\"*\":{}},\"require_field_match\":false,\"fragment_size\":2147483647}}"
+      }
+    }
+  }
+}
index 0d395ec..ae01e96 100644 (file)
@@ -1 +1,192 @@
-{"service-validations":{"mappings":{"_doc":{"properties":{"modelInvariantId":{"type":"text"},"modelName":{"type":"text"},"modelVersionId":{"type":"text"},"result":{"type":"text"},"serviceInstanceId":{"type":"text"},"validationId":{"type":"text"},"validationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violations":{"type":"nested","properties":{"category":{"type":"text"},"errorMessage":{"type":"text"},"modelName":{"type":"text"},"severity":{"type":"text"},"validationRule":{"type":"text"},"violationDetails":{"properties":{"context-list-aai-vf-list[*]":{"properties":{"invariant-id":{"type":"text"},"name":{"type":"text"},"nf-naming-code":{"type":"text"},"type":{"type":"text"},"uuid":{"type":"text"},"vf-module-list":{"properties":{"invariant-id":{"type":"text"},"max-instances":{"type":"long"},"min-instances":{"type":"long"},"uuid":{"type":"text"}}},"vnfc-list":{"properties":{"name":{"type":"text"},"nfc-naming-code":{"type":"text"}}}}},"context-list-aai-vf-list[*]-name":{"type":"text"},"context-list-aai-vf-list[*]-type":{"type":"text"},"context-list-aai-vf[*]-name":{"type":"text"},"context-list-aai-vf[*]-type":{"type":"text"},"context-list-sdc-service-name":{"type":"text"},"context-list-sdc-vf-list[*]":{"properties":{"invariant-id":{"type":"text"},"name":{"type":"text"},"type":{"type":"text"},"uuid":{"type":"text"},"vf-module-list":{"properties":{"invariant-id":{"type":"text"},"max-instances":{"type":"long"},"min-instances":{"type":"long"},"uuid":{"type":"text"}}},"vnfc-list":{"properties":{"invariant-id":{"type":"text"},"name":{"type":"text"},"nfc-naming-code":{"type":"text"},"uuid":{"type":"text"}}}}},"context-list-sdnc-vf-list[*]-name":{"type":"text"},"context-list-sdnc-vf-list[*]-type":{"type":"text"},"context-list-sdnc-vf[*]-name":{"type":"text"},"context-list-sdnc-vf[*]-type":{"type":"text"}}},"violationId":{"type":"text"},"violationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violationType":{"type":"text"}}}}}}}}
+{
+  "service-validations": {
+    "mappings": {
+      "default": {
+        "properties": {
+          "modelInvariantId": {
+            "type": "text"
+          },
+          "modelName": {
+            "type": "text"
+          },
+          "modelVersionId": {
+            "type": "text"
+          },
+          "result": {
+            "type": "text"
+          },
+          "serviceInstanceId": {
+            "type": "text"
+          },
+          "validationId": {
+            "type": "text"
+          },
+          "validationTimestamp": {
+            "type": "date",
+            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+          },
+          "violations": {
+            "type": "nested",
+            "properties": {
+              "category": {
+                "type": "text"
+              },
+              "errorMessage": {
+                "type": "text"
+              },
+              "modelName": {
+                "type": "text"
+              },
+              "severity": {
+                "type": "text"
+              },
+              "validationRule": {
+                "type": "text"
+              },
+              "violationDetails": {
+                "properties": {
+                  "context-list-aai-vf-list[*]": {
+                    "properties": {
+                      "invariant-id": {
+                        "type": "text"
+                      },
+                      "name": {
+                        "type": "text"
+                      },
+                      "nf-naming-code": {
+                        "type": "text"
+                      },
+                      "type": {
+                        "type": "text"
+                      },
+                      "uuid": {
+                        "type": "text"
+                      },
+                      "vf-module-list": {
+                        "properties": {
+                          "invariant-id": {
+                            "type": "text"
+                          },
+                          "max-instances": {
+                            "type": "long"
+                          },
+                          "min-instances": {
+                            "type": "long"
+                          },
+                          "uuid": {
+                            "type": "text"
+                          }
+                        }
+                      },
+                      "vnfc-list": {
+                        "properties": {
+                          "name": {
+                            "type": "text"
+                          },
+                          "nfc-naming-code": {
+                            "type": "text"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "context-list-aai-vf-list[*]-name": {
+                    "type": "text"
+                  },
+                  "context-list-aai-vf-list[*]-type": {
+                    "type": "text"
+                  },
+                  "context-list-aai-vf[*]-name": {
+                    "type": "text"
+                  },
+                  "context-list-aai-vf[*]-type": {
+                    "type": "text"
+                  },
+                  "context-list-sdc-service-name": {
+                    "type": "text"
+                  },
+                  "context-list-sdc-vf-list[*]": {
+                    "properties": {
+                      "invariant-id": {
+                        "type": "text"
+                      },
+                      "name": {
+                        "type": "text"
+                      },
+                      "type": {
+                        "type": "text"
+                      },
+                      "uuid": {
+                        "type": "text"
+                      },
+                      "vf-module-list": {
+                        "properties": {
+                          "invariant-id": {
+                            "type": "text"
+                          },
+                          "max-instances": {
+                            "type": "long"
+                          },
+                          "min-instances": {
+                            "type": "long"
+                          },
+                          "uuid": {
+                            "type": "text"
+                          }
+                        }
+                      },
+                      "vnfc-list": {
+                        "properties": {
+                          "invariant-id": {
+                            "type": "text"
+                          },
+                          "name": {
+                            "type": "text"
+                          },
+                          "nfc-naming-code": {
+                            "type": "text"
+                          },
+                          "uuid": {
+                            "type": "text"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "context-list-sdnc-vf-list[*]-name": {
+                    "type": "text"
+                  },
+                  "context-list-sdnc-vf-list[*]-type": {
+                    "type": "text"
+                  },
+                  "context-list-sdnc-vf[*]-name": {
+                    "type": "text"
+                  },
+                  "context-list-sdnc-vf[*]-type": {
+                    "type": "text"
+                  }
+                }
+              },
+              "violationId": {
+                "type": "text"
+              },
+              "violationTimestamp": {
+                "type": "date",
+                "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+              },
+              "violationType": {
+                "type": "text"
+              }
+            }
+          },
+          "client": {
+            "type": "text"
+          },
+          "requestId": {
+            "type": "text"
+          }
+        }
+      }
+    }
+  }
+}
index 893d91e..790f8c7 100644 (file)
@@ -1 +1,48 @@
-{"service-violations":{"mappings":{"_doc":{"properties":{"category":{"type":"text"},"message":{"type":"text"},"modelInvariantId":{"type":"text"},"modelVersionId":{"type":"text"},"serviceInstanceId":{"type":"text"},"severity":{"type":"text"},"validationId":{"type":"text"},"validationRule":{"type":"text"},"validationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violationId":{"type":"text"},"violationTimestamp":{"type":"date","format":"MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"},"violationType":{"type":"text"}}}}}}
+{
+  "service-violations": {
+    "mappings": {
+      "default": {
+        "properties": {
+          "category": {
+            "type": "text"
+          },
+          "message": {
+            "type": "text"
+          },
+          "modelInvariantId": {
+            "type": "text"
+          },
+          "modelVersionId": {
+            "type": "text"
+          },
+          "serviceInstanceId": {
+            "type": "text"
+          },
+          "severity": {
+            "type": "text"
+          },
+          "validationId": {
+            "type": "text"
+          },
+          "validationRule": {
+            "type": "text"
+          },
+          "validationTimestamp": {
+            "type": "date",
+            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+          },
+          "violationId": {
+            "type": "text"
+          },
+          "violationTimestamp": {
+            "type": "date",
+            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
+          },
+          "violationType": {
+            "type": "text"
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
index 9246aca..c4c00d3 100644 (file)
@@ -46,3 +46,16 @@ enricher.types = vserver, l3-network
 enricher.type.vserver.url    = /enricher/v11/cloud-infrastructure/vservers/vserver/{0}?sot=!aai
 enricher.type.l3-network.url = /enricher/v11/network/l3-networks/l3-network/{0}?sot=!aai
 
+# Mapping from Enricher Attribute name to POMBA Attribute name in the format
+#   <Enricher Attribute Name>:<Pomba Attribute Name>;  and separated by semicolon ";"
+# for example,
+#          vserser-id:id;
+# means Attribute name "vserver-id" from Enricher will be converted to "id" in POMBA.
+enricher.attributeNameMappingList=Id:id;id:id;vserver-id:id;name:name;locked:inMaintenance; \
+            hostname:hostName;status:status;vm_state:vmState;vm-state:vmState;admin_state_up:adminState; \
+            favor.disk:flavorDisk;flavor.ephemeral:flavorEphemoral;flavor.extra_specs.hw.cpu_model:flavorHwCpuModel; \
+            flavor.extra_specs.hw.cpu_policy:flavorHwCpuPolicy;flavor.extra_specs.hw.mem_page_size:flavorHwMemPageSize; \
+            flavor.original_name:flavorOriginalName;flavor.ram:flavorRam;flavor.swap:flavorSwag;flavorvcpus:flavorVcpus; \
+            image.id:imageId;hostId:hostId;host:host;host_status:hostStatus;security_group.name:securityGroupName; \
+            serverName:serverName;metadata.myservername:otherServerName;shared:sharedNetwork;subnets:subnets; \
+            userId:userId;tenant_id:tenantId
index b330930..79c5f0b 100644 (file)
@@ -1,6 +1,6 @@
 <configuration scan="true" scanPeriod="10 seconds" debug="false">
                <jmxConfigurator />
-               <property resource="application.properties" />
+               <property file="/opt/app/config/application.properties" />
                <property name="logDirectory" value="/var/log/onap/pomba-networkdiscoveryctxbuilder" />
                <!-- Example evaluator filter applied against console appender -->
                <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
index 2b9d290..2394ef1 100644 (file)
@@ -35,7 +35,7 @@ debugEnabled: false
 config:
   # Network Discovery Context Builder REST Service
   networkDiscoveryCtxBuilderHttpProtocol: http
-  networkDiscoveryCtxBuilderPort: 8080
+  networkDiscoveryCtxBuilderPort: 9530
   networkDiscoveryCtxBuilderUserId: admin
   networkDiscoveryCtxBuilderPassword: OBF:1u2a1toa1w8v1tok1u30
   networkDiscoveryCtxBuilderResourceList: vnfcs,vservers,l3-networks
@@ -43,7 +43,7 @@ config:
   # Service Decomposition REST Client Configuration
   serviceDecompositionHttpProtocol: http
   serviceDecompositionServiceName: pomba-servicedecomposition
-  serviceDecompositionPort: 8080
+  serviceDecompositionPort: 9532
   serviceDecompositionInstancePath: /service-decomposition/service/context
   #Basic Authorization Client credentials for Service Decomposition REST service
   serviceDecompositionUserId: admin
@@ -51,7 +51,7 @@ config:
 
   # Network Discovery Micro Service REST Client Configuration
   networkDiscoveryServiceName: pomba-networkdiscovery
-  networkDiscoveryPort: 8080
+  networkDiscoveryPort: 9531
   networkDiscoveryHttpProtocol: http
   networkDiscoveryPath: /network-discovery/v1/network/resource
   # Wait for Network Discovery MicroService response in milliseconds
index a1df99b..0d17725 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2018 Amdocs
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -42,7 +42,7 @@ config:
   sdcPassword: OBF:1uha1uh81w8v1ugi1ugg
   sdcConsumerId: pomba
   sdcServiceName: sdc-be
-  sdcPort: 30204
+  sdcPort: 8443
   # HTTP Basic Authorization credentials for Rest Service API
   sdcCtxBuilderUserId: admin
   sdcCtxBuilderPassword: OBF:1u2a1toa1w8v1tok1u30
diff --git a/kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy b/kubernetes/pomba/charts/pomba-validation-service/resources/bundleconfig/etc/rules/poa-event/default-rules.groovy
new file mode 100644 (file)
index 0000000..c669909
--- /dev/null
@@ -0,0 +1,226 @@
+/*
+ * ============LICENSE_START===================================================
+ * Copyright (c) 2018 Amdocs
+ * ============================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=====================================================
+ */
+
+entity {
+    name 'POA-EVENT'
+    indexing {
+        indices 'default-rules'
+    }
+  validation {
+
+    // NDCB-AAI comparison: Context level
+    useRule {
+      name 'NDCB-AAI-attribute-comparison'
+      attributes 'context-list.ndcb', 'context-list.aai'
+    }
+
+    // NDCB-AAI comparison: Service entity
+    useRule {
+      name 'NDCB-AAI-attribute-comparison'
+      attributes 'context-list.ndcb.service', 'context-list.aai.service'
+    }
+
+    // NDCB-AAI comparison: VF list
+    useRule {
+      name 'NDCB-AAI-attribute-comparison'
+      attributes 'context-list.ndcb.vfList[*]', 'context-list.aai.vfList[*]'
+    }
+
+    // NDCB-AAI comparison: VF-Module list
+    useRule {
+      name 'NDCB-AAI-attribute-comparison'
+      attributes 'context-list.ndcb.vfList[*].vfModuleList[*]', 'context-list.aai.vfList[*].vfModuleList[*]'
+    }
+
+    // NDCB-AAI comparison: VNFC list
+    useRule {
+      name 'NDCB-AAI-attribute-comparison'
+      attributes 'context-list.ndcb.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]'
+    }
+
+    // NDCB-AAI comparison: VM list
+    useRule {
+      name 'NDCB-AAI-attribute-comparison'
+      attributes 'context-list.ndcb.vfList[*].vfModuleList[*].vmList[*]', 'context-list.aai.vfList[*].vfModuleList[*].vmList[*]'
+    }
+
+    // NDCB-AAI comparison: Network list
+    useRule {
+      name 'NDCB-AAI-attribute-comparison'
+      attributes 'context-list.ndcb.vfList[*].vfModuleList[*].networkList[*]', 'context-list.aai.vfList[*].vfModuleList[*].networkList[*]'
+    }
+
+    // SDC-AAI VNFC type
+    useRule {
+      name 'SDC-AAI-vnfc-type'
+      attributes 'context-list.sdc.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]'
+    }
+
+    // SDC-AAI VNFC node count
+    useRule {
+      name 'SDC-AAI-vnfc-node-count'
+      attributes 'context-list.sdc.vfList[*].vnfcList[*]', 'context-list.aai.vfList[*].vnfcList[*]'
+    }
+
+    // SDC-AAI VF-Module instance
+    useRule {
+      name 'SDC-AAI-vf-module-instance-check'
+      attributes 'context-list.ndcb.vfList[*].vfModuleList[*]', 'context-list.aai.vfList[*].vfModuleList[*]'
+    }
+  }
+}
+
+rule {
+  name        'SDC-AAI-vnfc-type'
+  category    'INVALID_VALUE'
+  description 'Validate that each VNFC instance in AAI conforms to a VNFC type defined in SDC model'
+  errorText   'AAI VNFC instance includes non-specified type in design SDC model'
+  severity    'ERROR'
+  attributes  'sdcList', 'aaiList'
+  validate    '''
+        def getVnfcTypes = { parsedData ->
+          parsedData.collect{ it.findResult{ k, v -> if(k.equals("type")) {return "$v"}}}
+        }
+
+        def slurper = new groovy.json.JsonSlurper()
+        def sdcTypes = getVnfcTypes(slurper.parseText(sdcList.toString()))
+        def aaiTypes = getVnfcTypes(slurper.parseText(aaiList.toString()))
+
+        // each type in AAI must exist in SDC
+        return aaiTypes.containsAll(sdcTypes)
+                '''
+}
+
+rule {
+  name        'SDC-AAI-vnfc-node-count'
+  category    'INVALID_VALUE'
+  description 'Validate that for each VNFC node defined in SDC model, there is at least one VNFC instance in AAI'
+  errorText   'Design has specified types but not all of them exist in AAI'
+  severity    'WARNING'
+  attributes  'sdcList', 'aaiList'
+  validate    '''
+        def getVnfcNodes = { parsedData ->
+          parsedData.collect { new Tuple2(
+              it.findResult{ k, v -> if(k.equals("name")) {return "$v"}},
+              it.findResult{ k, v -> if(k.equals("type")) {return "$v"}})
+          }
+        }
+
+        def slurper = new groovy.json.JsonSlurper()
+        def sdcNodes = getVnfcNodes(slurper.parseText(sdcList.toString()))
+        def aaiNodes = getVnfcNodes(slurper.parseText(aaiList.toString()))
+
+        // each node in AAI must exist in SDC
+        return aaiNodes.containsAll(sdcNodes)
+                '''
+}
+
+rule {
+  name        'SDC-AAI-vf-module-instance-check'
+  category    'INVALID_VALUE'
+  description 'Validate that each VF module instance in AAI conforms to a VF module defined in SDC service model'
+  errorText   'One or more AAI VF module instance(s) not defined in SDC model'
+  severity    'CRITICAL'
+  attributes  'sdcList', 'aaiList'
+  validate    '''
+        def getVfModules = { parsedData ->
+          parsedData.collect{ it.findResult{ k, v -> if(k.equals("name")) {return "$v"}}}
+        }
+
+        def slurper = new groovy.json.JsonSlurper()
+        def sdcVfModules = getVfModules(slurper.parseText(sdcList.toString()))
+        def aaiVfModules = getVfModules(slurper.parseText(aaiList.toString()))
+
+        // all VF modules in AAI must exist in SDC
+        return aaiVfModules.containsAll(sdcVfModules)
+                '''
+}
+
+rule {
+  name        'NDCB-AAI-attribute-comparison'
+  category    'INVALID_VALUE'
+  description 'Verify that every attribute in Network-Discovery is the same as in AAI'
+  errorText   'Some attributes in Network-Discovery are not equal to attributes in AAI'
+  severity    'ERROR'
+  attributes  'ndcbItems', 'aaiItems'
+  validate    '''
+        Closure<java.util.Map> getAttributes = { parsedData ->
+          java.util.Map attributeMap = new java.util.HashMap()
+
+          def isAttributeDataQualityOk = { attribute ->
+            attribute.findResult{ k, v -> if(k.equals("dataQuality") ) {return v.get("status")}}.equals("ok")
+          }
+
+          def addToMap = { attrKey, attrValue ->
+            java.util.Set values = attributeMap.get("$attrKey")
+            if(values == null) {
+              values = new java.util.HashSet()
+              attributeMap.put("$attrKey", values)
+            }
+            values.add("$attrValue")
+          }
+
+          def addAttributeToMap = { attribute ->
+            if(isAttributeDataQualityOk(attribute)) {
+              String key, value
+              attribute.each { k, v ->
+                if(k.equals("name")) {key = "$v"}
+                if(k.equals("value")) {value = "$v"}
+              }
+              addToMap("$key", "$value")
+            }
+          }
+
+          def processKeyValue = { key, value ->
+            if(value instanceof java.util.ArrayList) {
+              if(key.equals("attributeList")) {
+                value.each {
+                  addAttributeToMap(it)
+                }
+              }
+            } else if(!(value instanceof groovy.json.internal.LazyMap)) {
+              // only add key-value attributes, skip the rest
+              addToMap("$key", "$value")
+            }
+          }
+
+          if(parsedData instanceof java.util.ArrayList) {
+            parsedData.each {
+              it.each { key, value -> processKeyValue(key, value) }
+            }
+          } else {
+            parsedData.each { key, value -> processKeyValue(key, value) }
+          }
+          return attributeMap
+        }
+
+        def slurper = new groovy.json.JsonSlurper()
+        java.util.Map ndcb = getAttributes(slurper.parseText(ndcbItems.toString()))
+        java.util.Map aai = getAttributes(slurper.parseText(aaiItems.toString()))
+
+        ndcb.each{ ndcbKey, ndcbValueList ->
+          def aaiValueList = aai.get("$ndcbKey")
+          aaiValueList.each{ aaiValue ->
+            if(!ndcbValueList.any{ it == "$aaiValue" }) {
+              return false
+            }
+          }
+        }
+        return true
+        '''
+}
\ No newline at end of file
index e66afdc..d3bfd81 100644 (file)
@@ -35,3 +35,11 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/appconfig/topics/*.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-rules
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/bundleconfig/etc/rules/poa-event/*.groovy").AsConfig . | indent 2 }}
index 550223b..5faa453 100644 (file)
@@ -72,6 +72,8 @@ spec:
             name: config-auth
           - mountPath: {{ .Values.config.configTopicsDir }}/
             name: config-topics
+          - mountPath: {{ .Values.config.rulesDir }}/
+            name: rules
           resources:
 {{ toYaml .Values.resources | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -125,5 +127,12 @@ spec:
               path: topic-poa-audit-result.properties
             - key: topic-poa-rule-validation.properties
               path: topic-poa-rule-validation.properties
+        - name: rules
+          configMap:
+            name: {{ include "common.fullname" . }}-rules
+            defaultMode: 0644
+            items:
+            - key: default-rules.groovy
+              path: default-rules.groovy
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 775527f..9607671 100644 (file)
@@ -43,6 +43,7 @@ config:
   configDir: /opt/app/validation-service/appconfig
   configAuthDir: /opt/app/validation-service/appconfig/auth
   configTopicsDir: /opt/app/validation-service/appconfig/topics
+  rulesDir: /opt/app/validation-service/bundleconfig/etc/rules/poa-event
   maxHeap: 1024
 #  username: myusername
 #  password: mypassword
index cf3b6a5..178e91c 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onapportal
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/deliveries/properties/ONAPPORTAL/*").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/deliveries/properties/ONAPPORTAL/*").AsConfig . | indent 2 }}
index 07ce9b1..3f45468 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-docker-entry-initd
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/cassandra/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }}
 
index b212fc2..9a08da5 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-mariadb
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/mariadb/*").AsConfig . | indent 2 }}
 
index b419428..bce6896 100644 (file)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onapportalsdk
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/deliveries/properties/ONAPPORTALSDK/*").AsConfig . | indent 2 }}
index ab20a3f..6779c28 100644 (file)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-onapwidgetms
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/deliveries/properties/ONAPWIDGETMS/*").AsConfig . | indent 2 }}
index 568c689..0c67732 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: portal-filebeat
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/filebeat.yml").AsConfig . | indent 2 }}
 
index 5e8ba33..c4124c2 100755 (executable)
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#!/bin/bash -x
+#!/bin/bash
 
 #
 # Execute tags built to support the hands on demo,
@@ -166,6 +166,8 @@ do
        esac
 done
 
+set -x
+
 ETEHOME=/var/opt/OpenECOMP_ETE
 VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py"
 POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
index befe142..22b83e8 100755 (executable)
 # Note: Do not run multiple concurrent ete.sh as the --display is not parameterized and tests will collide
 #
 if [ "$1" == "" ] || [ "$2" == "" ]; then
-   echo "Usage: ete-k8s.sh [namespace] [ health | ete | closedloop | instantiate | distribute ]"
+   echo "Usage: ete-k8s.sh [namespace] [ health | ete | closedloop | instantiate | distribute | portal ]"
    exit
 fi
 
+set -x
 
 export NAMESPACE="$1"
 
index b87ca65..a857e83 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada
+# Copyright (c) 2018 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
index f2b50ce..9111644 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada
+# Copyright (c) 2018 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ GLOBAL_APPC_SERVER_PROTOCOL = "http"
 GLOBAL_APPC_SERVER_PORT = "8282"
 GLOBAL_APPC_SERVER = "http://appc.{{include "common.namespace" .}}:"
 GLOBAL_APPC_USERNAME = "admin"
-GLOBAL_APPC_PASSWORD = "admin"
+GLOBAL_APPC_PASSWORD = "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
 GLOBAL_APPC_CDT_SERVER_PROTOCOL = "http"
 GLOBAL_APPC_CDT_SERVER_PORT = "80"
 GLOBAL_APPC_CDT_SERVER = "http://appc-cdt.{{include "common.namespace" .}}:"
@@ -75,8 +75,20 @@ GLOBAL_MR_SERVER_PORT = "3904"
 # mso info - everything is from the private oam network (also called onap private network)
 GLOBAL_MSO_SERVER_PROTOCOL = "http"
 GLOBAL_MSO_SERVER_PORT = "8080"
+
+GLOBAL_MSO_APIHAND_SERVER_PORT = "8080"
+GLOBAL_MSO_ASDCHAND_SERVER_PORT = "8085"
+GLOBAL_MSO_BPMN_SERVER_PORT = "8081"
+GLOBAL_MSO_CATDB_SERVER_PORT = "8082"
+GLOBAL_MSO_OPENSTACK_SERVER_PORT = "8087"
+GLOBAL_MSO_REQDB_SERVER_PORT = "8083"
+GLOBAL_MSO_SDNC_SERVER_PORT =  "8086"
+GLOBAL_MSO_VFC_SERVER_PORT = "8084"
+
 GLOBAL_MSO_USERNAME = "InfraPortalClient"
+GLOBAL_MSO_CATDB_USERNAME = "bpel"
 GLOBAL_MSO_PASSWORD = "password1$"
+
 # music info - everything is from the private oam network (also called onap private network)
 GLOBAL_MUSIC_SERVER_PROTOCOL = "http"
 GLOBAL_MUSIC_SERVER_PORT = "8080"
@@ -93,7 +105,7 @@ GLOBAL_PACKET_GENERATOR_USERNAME = "admin"
 GLOBAL_PACKET_GENERATOR_PASSWORD = "admin"
 GLOBAL_PGN_PORT = "2831"
 # policy info - everything is from the private oam network (also called onap private network)
-GLOBAL_POLICY_SERVER_PROTOCOL = "http"
+GLOBAL_POLICY_SERVER_PROTOCOL = "https"
 GLOBAL_POLICY_SERVER_PORT = "8081"
 GLOBAL_POLICY_HEALTHCHECK_PORT = "6969"
 GLOBAL_POLICY_AUTH = "dGVzdHBkcDphbHBoYTEyMw=="
@@ -116,8 +128,8 @@ GLOBAL_SMS_SERVER_PROTOCOL = "https"
 GLOBAL_SMS_SERVER_NAME = "aaf-sms.{{include "common.namespace" .}}"
 GLOBAL_SMS_SERVER_PORT = "10443"
 # vid info - everything is from the private oam network (also called onap private network)
-GLOBAL_VID_SERVER_PROTOCOL = "http"
-GLOBAL_VID_SERVER_PORT = "8080"
+GLOBAL_VID_SERVER_PROTOCOL = "https"
+GLOBAL_VID_SERVER_PORT = "8443"
 GLOBAL_VID_USERNAME = "demo"
 GLOBAL_VID_PASSWORD = "Kp8bJ4SXszM0WX"
 GLOBAL_VID_HEALTH_USERNAME = "Default"
@@ -132,3 +144,4 @@ GLOBAL_PROXY_WARNING_CONTINUE_XPATH=""
 GLOBAL_DNS_TRAFFIC_DURATION = "600"
 # location where heat templates are loaded from
 GLOBAL_HEAT_TEMPLATES_FOLDER = "/var/opt/OpenECOMP_ETE/demo/heat"
+
index d07f2e3..4ae8124 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada
+# Copyright (c) 2018 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -34,7 +34,6 @@ GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR = "log-kibana.{{include "common.namespace" .}
 GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = "log-ls-http.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
 GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}"
-GLOBAL_INJECTED_MSO_IP_ADDR = "so.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_MUSIC_IP_ADDR = "music.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_NBI_IP_ADDR = "nbi.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_NETWORK = "{{ .Values.openStackPrivateNetId }}"
@@ -46,6 +45,7 @@ GLOBAL_INJECTED_OOF_IP_ADDR = "N/A"
 GLOBAL_INJECTED_OOF_HOMING_IP_ADDR = "oof-has-api.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR = "oof-osdf.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_MSB_IP_ADDR = "msb-iag.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_OPENSTACK_API_KEY = "{{ .Values.config.openStackEncryptedPasswordHere}}"
 GLOBAL_INJECTED_OPENSTACK_PASSWORD = "{{ .Values.openStackPassword }}"
 GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "{{ .Values.openStackTenantId }}"
 GLOBAL_INJECTED_OPENSTACK_USERNAME = "{{ .Values.openStackUserName }}"
@@ -61,7 +61,15 @@ GLOBAL_INJECTED_SDC_FE_IP_ADDR = "sdc-fe.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SDC_IP_ADDR = "N/A"
 GLOBAL_INJECTED_SDNC_IP_ADDR = "sdnc.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = "sdnc-portal.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_APIHAND_IP_ADDR = "so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_ASDCHAND_IP_ADDR = "so-sdc-controller.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_BPMN_IP_ADDR = "so-bpmn-infra.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_CATDB_IP_ADDR = "so-catalog-db-adapter.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_SO_IP_ADDR = "so.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_OPENSTACK_IP_ADDR = "so-openstack-adapter.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_REQDB_IP_ADDR = "so-request-db-adapter.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_SDNC_IP_ADDR = "so-sdnc-adapter.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_SO_VFC_IP_ADDR = "so-vfc-adapter.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_UBUNTU_1404_IMAGE = "{{ .Values.ubuntu14Image }}"
 GLOBAL_INJECTED_UBUNTU_1604_IMAGE = "{{ .Values.ubuntu16Image }}"
 GLOBAL_INJECTED_VM_IMAGE_NAME = "{{ .Values.ubuntu14Image }}"
@@ -81,7 +89,7 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_CLOUD_ENV" : "openstack",
     "GLOBAL_INJECTED_DCAE_IP_ADDR" : "dcae-healthcheck.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_DMAAP_DR_PROV_IP_ADDR" : "dmaap-dr-prov.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_DMAAP_DR_NODE_IP_ADDR": "dmaap-dr-node.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_DMAAP_DR_NODE_IP_ADDR" : "dmaap-dr-node.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_DNS_IP_ADDR" : "N/A",
     "GLOBAL_INJECTED_DOCKER_VERSION" : "1.2-STAGING-latest",
     "GLOBAL_INJECTED_EXTERNAL_DNS" : "N/A",
@@ -90,7 +98,6 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR" : "log-kibana.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR" : "log-ls.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_MR_IP_ADDR" : "message-router.{{include "common.namespace" .}}",
-    "GLOBAL_INJECTED_MSO_IP_ADDR" : "so.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_MUSIC_IP_ADDR" : "music.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_NBI_IP_ADDR" : "nbi.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_NETWORK" : "{{ .Values.openStackPrivateNetId }}",
@@ -102,6 +109,7 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_OOF_HOMING_IP_ADDR" : "oof-has-api.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR" : "oof-osdf.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_MSB_IP_ADDR" : "msb-iag.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_OPENSTACK_API_KEY" : "{{ .Values.config.openStackEncryptedPasswordHere}}",
     "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "{{ .Values.openStackPassword }}",
     "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "{{ .Values.openStackTenantId }}",
     "GLOBAL_INJECTED_OPENSTACK_USERNAME" : "{{ .Values.openStackUserName }}",
@@ -117,7 +125,15 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_SCRIPT_VERSION" : "{{ .Values.scriptVersion }}",
     "GLOBAL_INJECTED_SDNC_IP_ADDR" : "sdnc.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : "sdnc-portal.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_APIHAND_IP_ADDR" : "so.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_ASDCHAND_IP_ADDR" : "so-sdc-controller.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_BPMN_IP_ADDR" : "so-bpmn-infra.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_CATDB_IP_ADDR" : "so-catalog-db-adapter.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_SO_IP_ADDR" : "so.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_OPENSTACK_IP_ADDR" : "so-openstack-adapter.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_REQDB_IP_ADDR" : "so-request-db-adapter.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_SDNC_IP_ADDR" : "so-sdnc-adapter.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_SO_VFC_IP_ADDR" : "so-vfc-adapter.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_UBUNTU_1404_IMAGE" : "{{.Values.ubuntu14Image}}",
     "GLOBAL_INJECTED_UBUNTU_1604_IMAGE" : "{{.Values.ubuntu16Image}}",
     "GLOBAL_INJECTED_VM_IMAGE_NAME" : "{{ .Values.ubuntu14Image }}",
old mode 100644 (file)
new mode 100755 (executable)
index 8a28e89..2951b60
@@ -22,7 +22,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/testsuite:1.2.1
+image: onap/testsuite:1.3.1-STAGING-latest
 pullPolicy: Always
 
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
@@ -35,6 +35,9 @@ debugEnabled: false
 #################################################################
 config:
 
+# openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
+  openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
+
 # Demo configuration
 # Nexus demo artifact version.  Maps to GLOBAL_INJECTED_ARTIFACTS_VERSION
 demoArtifactsVersion: "1.2.0-SNAPSHOT"
@@ -147,4 +150,4 @@ persistence:
   accessMode: ReadWriteMany
   size: 2Gi
   mountPath: /dockerdata-nfs
-  mountSubPath: robot/logs
\ No newline at end of file
+  mountSubPath: robot/logs
index 8ee112c..03eb04e 100644 (file)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-logging-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
index 8ee112c..03eb04e 100644 (file)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-logging-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
index 8ee112c..03eb04e 100644 (file)
@@ -18,5 +18,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-logging-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/logging/*").AsConfig . | indent 2 }}
index abe7649..50062a1 100644 (file)
@@ -83,5 +83,9 @@ spec:
             value: "{{ .Values.config.sdcProtocol }}"
           - name: SDC_ENDPOINT
             value: "{{ .Values.config.sdcEndpoint }}"
+          - name: SDC_USER
+            value: "{{ .Values.config.sdcExternalUser }}"
+          - name: SDC_PASSWORD
+            value: "{{ .Values.config.sdcExternalUserPassword }}"
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index cc1142c..e2e1430 100644 (file)
@@ -36,13 +36,15 @@ pullPolicy: Always
 debugEnabled: false
 
 config:
-  javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=6000,server=y,suspend=n -Xmx1536m -Xms1536m"
+  javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=7001,server=y,suspend=n -Xmx1536m -Xms1536m"
   cassandaAuthenticationEnabled: true
   cassandraHosts: sdc-cs
   cassandraThriftClientPort: 9160
   cassandraClientPort: 9042
   sdcProtocol: HTTP
   sdcEndpoint: sdc-be:8080
+  sdcExternalUser: workflow
+  sdcExternalUserPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
 
 # default number of instances
 replicaCount: 1
index 6eece10..076fc11 100644 (file)
@@ -34,7 +34,7 @@ pullPolicy: Always
 debugEnabled: false
 
 config:
-  javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=6001,server=y,suspend=n -Xmx256m -Xms256m"
+  javaOptions: "-Xdebug -agentlib:jdwp=transport=dt_socket,address=7000,server=y,suspend=n -Xmx256m -Xms256m"
   backendServerURL: "http://sdc-wfd-be:8080"
 
 # default number of instances
index affae0c..1e69c97 100644 (file)
@@ -18,6 +18,11 @@ kind: ConfigMap
 metadata:
   name: {{ .Release.Name }}-sdc-environments-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/environments/*").AsConfig . | indent 2 }}
 ---
@@ -26,5 +31,10 @@ kind: ConfigMap
 metadata:
   name: {{ .Release.Name }}-sdc-filebeat-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/sdnc/charts/dmaap-listener/resources/config/aai.properties b/kubernetes/sdnc/charts/dmaap-listener/resources/config/aai.properties
new file mode 100644 (file)
index 0000000..66e6267
--- /dev/null
@@ -0,0 +1,35 @@
+TransportType=HTTPAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName =dmaap-v1.dev.dmaap.dt.saat.acsi.openecomp.org/events
+Environment =TEST
+Partner = BOT_R
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =admin
+password =admin
+contenttype =application/json
+authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM=
+authDate=2016-02-18T13:57:37-0800
+host=message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}
+topic=AAI-EVENT
+group=jmsgrp
+id=sdnc2
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=admin
+sdnc.odl.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+sdnc.odl.url-base=http://sdnc.{{.Release.Namespace}}:{{.Values.config.sdncPort}}/restconf/operations
\ No newline at end of file
index fd8934b..816b1db 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index 1a13cc3..d69d67d 100644 (file)
@@ -73,8 +73,11 @@ spec:
         - mountPath: {{ .Values.config.configDir }}/lcm.properties
           name: properties
           subPath: lcm.properties
+        - mountPath: {{ .Values.config.configDir }}/aai.properties
+          name: properties
+          subPath: aai.properties
         resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 9ddf590..e735090 100644 (file)
@@ -72,12 +72,23 @@ mysql:
   service:
     name: sdnc-dbhost
     internalPort: 3306
+#Resource limit flavor -By default using small
+flavor: small
+#Segregation for different environment (small and large)
+
+resources:
+ small:
+  limits:
+    cpu: 2
+    memory: 4Gi
+  requests:
+    cpu: 2
+    memory: 4Gi
+ large:
+  limits:
+    cpu: 4
+    memory: 8Gi
+  requests:
+    cpu: 4
+    memory: 8Gi
 
-resources: {}
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
index f57dc78..816b1db 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index a19c33a..fe9d302 100644 (file)
@@ -75,7 +75,7 @@ spec:
             name: config
             subPath: RestServer_config
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
@@ -93,4 +93,4 @@ spec:
             name: {{ include "common.fullname" . }}
             defaultMode: 0644
       imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 895fa6e..6cd46b6 100644 (file)
@@ -69,11 +69,23 @@ service:
 ingress:
   enabled: false
 
-resources: {}
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+#Resource Limit flavor -By default using small
+flavor: small
+
+#Segregation for Different environment (Small and Large)
+
+resources:
+ small:
+  limits:
+    cpu: 1
+    memory: 1Gi
+  requests:
+    cpu: 1
+    memory: 1Gi
+ large:
+  limits:
+    cpu: 2
+    memory: 2Gi
+  requests:
+    cpu: 2
+    memory: 2Gi
index f57dc78..816b1db 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index 87ed6aa..aba6870 100644 (file)
@@ -97,7 +97,7 @@ spec:
             name: properties
             subPath: svclogic.properties.sdnctldb02
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 1938503..400d749 100644 (file)
@@ -77,11 +77,22 @@ mysql:
     name: sdnc-dbhost
     internalPort: 3306
 
-resources: {}
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+#Resource limit flavor -By default using small
+flavor: small
+#segregation for different environment (small and large)
+
+resources:
+ small:
+  limits:
+    cpu: 1
+    memory: 1Gi
+  requests:
+    cpu: 1
+    memory: 1Gi
+ large:
+  limits:
+    cpu: 2
+    memory: 2Gi
+  requests:
+    cpu: 2
+    memory: 2Gi
index fd8934b..816b1db 100644 (file)
@@ -17,5 +17,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index 5aa1a31..2258d4a 100644 (file)
@@ -73,7 +73,7 @@ spec:
           name: properties
           subPath: ueb-listener.properties
         resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index de9bd27..c6bbeca 100644 (file)
@@ -74,11 +74,21 @@ mysql:
 ingress:
   enabled: false
 
-resources: {}
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+#Resource limit flavor -By default using small
+flavor: small
+#Segregation for different environment (small and large)
+resources:
+ small:
+  limits:
+    cpu: 2
+    memory: 4Gi
+  requests:
+    cpu: 2
+    memory: 4Gi
+ large:
+  limits:
+    cpu: 4
+    memory: 8Gi
+  requests:
+    cpu: 4
+    memory: 8Gi
index 9a39d0f..5d51118 100644 (file)
@@ -1,3 +1,4 @@
+#ANSIBLE
 ansible.agenturl=http://{{.Values.config.ansibleServiceName}}:{{.Values.config.ansiblePort}}/Dispatch
 ansible.user=sdnc
 ansible.password=sdnc
@@ -8,11 +9,29 @@ ansible.version=0.00
 lcm.upgrade-pre-check.playbookname=ansible_precheck
 lcm.upgrade-post-check.playbookname=ansible_postcheck
 lcm.upgrade-software.playbookname=ansible_upgradesw
+lcm.pnf.upgrade-pre-check.playbookname=ansible_precheck_pnf
+lcm.pnf.upgrade-post-check.playbookname=ansible_postcheck_pnf
+lcm.pnf.upgrade-software.playbookname=ansible_upgradesw_pnf
+lcm.quiesce-traffic.playbookname=ansible_quiescetraffic
+lcm.resume-traffic.playbookname=ansible_resumetraffic
+lcm.distribute-traffic.playbookname=ansible_distributetraffic
+
+#RESTAPI INTERFACEs
 restapi.templateDir=/opt/onap/sdnc/restapi/templates
+
+#RESTCONF
+lcm.restconf.configscaleout.templatefile=lcm-restconf-configscaleout.json
+lcm.restconf.configscaleout.urlpath=/restconf/config/vlb-business-vnf-onap-plugin:vlb-business-vnf-onap-plugin/vdns-instances/vdns-instance/
+lcm.restconf.configscaleout.geturlpath=/restconf/config/vlb-business-vnf-onap-plugin:vlb-business-vnf-onap-plugin
+lcm.restconf.configscaleout.user=
+lcm.restconf.configscaleout.password=
+lcm.restconf.port=8183
+
+#DMAAP
 restapi.lcm.dmaap.publish.templatefile=lcm-dmaap-publish-template.json
 lcm.dmaap.url=http://message-router.{{.Release.Namespace}}:{{.Values.config.dmaapPort}}/events/SDNC-LCM-WRITE
 lcm.dmaap.user=
 lcm.dmaap.password=
 lcm.dmaap.version=1.0
 lcm.dmaap.partition=MSO
-lcm.dmaap.type=response
\ No newline at end of file
+lcm.dmaap.type=response
index cf43323..3e88512 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 ---
@@ -25,5 +30,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-scripts
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/bin/*").AsConfig . | indent 2 }}
index 6f4ee22..4adf816 100644 (file)
@@ -17,6 +17,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-filebeat-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
 ---
@@ -25,6 +30,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-log-configmap
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
 ---
@@ -33,6 +43,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-bin
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/bin/*").AsConfig . | indent 2 }}
 ---
@@ -41,6 +56,11 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-properties
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }}
 ---
@@ -49,5 +69,10 @@ kind: ConfigMap
 metadata:
   name: {{ include "common.fullname" . }}-env
   namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Get "resources/env.yaml") . | indent 2 }}
index 63a85a3..e74202c 100644 (file)
@@ -98,11 +98,11 @@ spec:
   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort4 }}
     port: {{ .Values.service.clusterPort2 }}
     targetPort: {{ .Values.service.internalPort4 }}
-    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort4 }}
+    nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort4 }}
   - name: {{ .Values.service.portName }}-0-port-{{ .Values.service.internalPort }}
     port: {{ .Values.service.clusterPort3 }}
     targetPort: {{ .Values.service.internalPort }}
-    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort1 }}
+    nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort1 }}
   type: NodePort
   selector:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0
@@ -121,11 +121,11 @@ spec:
   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort4 }}
     port: {{ .Values.service.clusterPort2 }}
     targetPort: {{ .Values.service.internalPort4 }}
-    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort5 }}
+    nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort5 }}
   - name: {{ .Values.service.portName }}-1-port-{{ .Values.service.internalPort }}
     port: {{ .Values.service.clusterPort3 }}
     targetPort: {{ .Values.service.internalPort }}
-    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort2 }}
+    nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort2 }}
   type: NodePort
   selector:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-1
@@ -144,11 +144,11 @@ spec:
   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort4 }}
     port: {{ .Values.service.clusterPort2 }}
     targetPort: {{ .Values.service.internalPort4 }}
-    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort6 }}
+    nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort6 }}
   - name: {{ .Values.service.portName }}-2-port-{{ .Values.service.internalPort }}
     port: {{ .Values.service.clusterPort3 }}
     targetPort: {{ .Values.service.internalPort }}
-    nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.geoNodePort3 }}
+    nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.geoNodePort3 }}
   type: NodePort
   selector:
     statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-2
index 03ae880..8c52e5c 100644 (file)
@@ -128,7 +128,7 @@ spec:
           - mountPath: /var/log/onap
             name: logs
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
index 607fd05..1fd2fa5 100644 (file)
@@ -17,6 +17,7 @@
 #################################################################
 global:
   nodePortPrefix: 302
+  nodePortPrefixExt: 304
   repository: nexus3.onap.org:10001
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
@@ -196,11 +197,23 @@ persistence:
 ingress:
   enabled: false
 
-resources: {}
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+#Resource Limit flavor -By Default using small
+flavor: small
+#segregation for different envionment (Small and Large)
+
+resources:
+ small:
+  limits:
+    cpu: 2
+    memory: 4Gi
+  requests:
+    cpu: 2
+    memory: 4Gi
+
+ large:
+  limits:
+    cpu: 4
+    memory: 8Gi
+  requests:
+    cpu: 4
+    memory: 8Gi
index 01f836a..9021ef5 100755 (executable)
@@ -15,7 +15,7 @@ aai:
   auth: 2630606608347B7124C244AB0FE34F6F
   dme2:
     timeout: '30000'
-  endpoint: https://aai.api.simpledemo.onap.org:8443
+  endpoint: https://aai.{{ include "common.namespace" . }}:8443
 camunda:
   bpm:
     admin-user:
@@ -39,50 +39,50 @@ mso:
   adapters:
     requestDb:
       auth: Basic YnBlbDptc28tZGItMTUwNyE=
-      endpoint: https://c1.vm1.mso.simpledemo.onap.org:8081
+      endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
     completemsoprocess:
-      endpoint:  http://c1.vm1.mso.simpledemo.onap.org:8081/CompleteMsoProcess
+      endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/CompleteMsoProcess
     db:
       auth: 26AFB797A6A57960D5D718491925C50F77CDC22AC394B3DBA09950D8FD1C0764
       password: wLg4sjrAFUS8rfVfdvTXeQ==
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083/services/RequestsDbAdapter
+      endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/services/RequestsDbAdapter
       spring:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083
+        endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
     network:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/NetworkAdapter
+      endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/NetworkAdapter
       rest:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/rest/v1/networks
+        endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/v1/networks
     openecomp:
       db:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083/services/RequestsDbAdapter
+        endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/services/RequestsDbAdapter
     po:
       auth: 757A94191D685FD2092AC1490730A4FC
       password: 3141634BF7E070AA289CF2892C986C0B
     sdnc:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8086/adapters/SDNCAdapter
+      endpoint: http://mso-sdnc-adapter.{{ include "common.namespace" . }}:8086/adapters/SDNCAdapter
       rest:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8086/adapters/rest/v1/sdnc
+        endpoint: http://mso-sdnc-adapter.{{ include "common.namespace" . }}:8086/adapters/rest/v1/sdnc
       timeout: PT60S
     tenant:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/TenantAdapter
+      endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/TenantAdapter
     vnf:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/VnfAdapter
+      endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAdapter
       rest:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/rest/vnfs/v1/vnfs
+        endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/vnfs/v1/vnfs
     volume-groups:
       rest:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/rest/v1/volume-groups
+        endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}g:8087/services/rest/v1/volume-groups
     vnf-async:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8087/services/VnfAdapterAsync
+      endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAsyncAdapter
   bpmn:
     process:
       historyTimeToLive: '30'
   callbackRetryAttempts: '5'
   catalog:
     db:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082/ecomp/mso/catalog
+      endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8083/ecomp/mso/catalog
       spring:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082
+        endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8083
   db:
     auth: Basic YnBlbDptc28tZGItMTUwNyE=
   default:
@@ -98,7 +98,7 @@ mso:
     timeout: PT60S
   request:
     db:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083/
+      endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/
   rollback: 'true'
   sdnc:
     password: 3141634BF7E070AA289CF2892C986C0B
@@ -110,7 +110,7 @@ mso:
   site-name: CamundaEngine
   sniro:
     auth: test:testpwd
-    callback: http://c1.vm1.mso.simpledemo.onap.org:8086/adapters/rest/SDNCNotify
+    callback: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/adapters/rest/SDNCNotify
     endpoint: http://replaceme:28090/optimizationInstance/V1/create
     timeout: PT30M
   workflow:
@@ -183,20 +183,20 @@ mso:
         aai:
           namespace: http://org.onap.aai.inventory/
     message:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8081/mso/WorkflowMessage
+      endpoint: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/WorkflowMessage
     notification:
       name: GenericNotificationServiceATT
     sdncadapter:
-      callback: http://c1.vm1.mso.simpledemo.onap.org:8086/mso/SDNCAdapterCallbackService
+      callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/SDNCAdapterCallbackService
     vnfadapter:
       create:
-        callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify
+        callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback
       delete:
-        callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify
+        callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback
       query:
-        callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify
+        callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback
       rollback:
-        callback: http://c1.vm1.mso.simpledemo.onap.org:8087/mso/vnfAdapterNotify
+        callback: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/VNFAdaptercallback
   global:
     dmaap:
       username: testuser
@@ -208,11 +208,11 @@ policy:
   auth: Basic dGVzdHBkcDphbHBoYTEyMw==
   client:
     auth: Basic bTAzNzQzOnBvbGljeVIwY2sk
-  endpoint: https://localhost:8081/pdp/api/
+  endpoint: http://pdp.{{ include "common.namespace" . }}:8081/pdp/api/
   environment: TEST
 sdnc:
   auth: Basic YWRtaW46YWRtaW4=
-  host: https://localhost:8443
+  host: https://sdc-be.{{ include "common.namespace" . }}:8443
   path: /restconf/operations/GENERIC-RESOURCE-API
 appc:
   client:
@@ -230,22 +230,12 @@ appc:
     key: VIlbtVl6YLhNUrtU
     secret: 64AG2hF4pYeG2pq7CT6XwUOT
     service: ueb
-    poolMembers: ueb1.simpledemo.onap.org:3904,ueb2.simpledemo.onap.org:3904
+    poolMembers: message-router.{{ include "common.namespace" . }}:3904,message-router.{{ include "common.namespace" . }}:3904
 server:
   port: 8081
   tomcat:
     max-threads: 50
 spring:
-  datasource:
-     driver-class-name: org.mariadb.jdbc.Driver
-     url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/camundabpmn
-     username: ${DB_USERNAME}
-     password: ${DB_PASSWORD}
-     dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
   security:
     usercredentials:
     -
@@ -271,4 +261,5 @@ spring:
     -
       username: mso_admin
       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
-      role: ACTUATOR
\ No newline at end of file
+      role: ACTUATOR
+
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 4f6e109..e513e6a 100755 (executable)
@@ -22,19 +22,30 @@ app: so-bpmn-infra
 service:
     type: ClusterIP
     internalPort: 8081
-    externalPort: 10200
+    externalPort: 8081
     portName: so-bpmn-port
 updateStrategy:
     type: RollingUpdate
     maxUnavailable: 1
     maxSurge: 1
+# Resource Limit flavor -By Default using small
+flavor: large
+# Segregation for Different environment (Small and Large)
 resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
     requests:
       memory: 1Gi
       cpu: 500m
+  large:
     limits:
       memory: 8Gi
       cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 livenessProbe:
     path: /manage/health
     scheme: HTTP
@@ -47,4 +58,4 @@ ingress:
   enabled: false
 nodeSelector: {}
 tolerations: []
-affinity: {}
\ No newline at end of file
+affinity: {}
index 65f22b7..bdf82b6 100755 (executable)
@@ -22,30 +22,10 @@ mso:
   catalog:
     db:
       spring:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082
+        endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082
   db:
     auth: Basic YnBlbDpwYXNzd29yZDEk
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    initialize: false
-    initialization-mode: never
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
-  jpa:
-    generate-ddl: false
-    show-sql: false
-    hibernate:
-      ddl-auto: validate
-      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
-      enable-lazy-load-no-trans: true
-    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
   security:
     usercredentials:
     -
@@ -59,8 +39,3 @@ spring:
 #Actuator
 management:
   context-path: /manage
-flyway:
-  base-on-migrate: true
-  url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-  user: ${DB_USERNAME}
-  password: ${DB_PASSWORD}
\ No newline at end of file
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 7e49057..1b2441f 100755 (executable)
@@ -22,19 +22,30 @@ app: catalog-db-adapter
 service:\r
     type: ClusterIP\r
     internalPort: 8082\r
-    externalPort: 10800\r
+    externalPort: 8082\r
     portName: so-catdb-port\r
 updateStrategy:\r
     type: RollingUpdate\r
     maxUnavailable: 1\r
     maxSurge: 1\r
+# Resource Limit flavor -By Default using small\r
+flavor: small\r
+# Segregation for Different environment (Small and Large)\r
 resources:\r
+  small:\r
+    limits:\r
+      memory: 4Gi\r
+      cpu: 2000m\r
     requests:\r
       memory: 1Gi\r
       cpu: 500m\r
+  large:\r
     limits:\r
-      memory: 4Gi\r
-      cpu: 2000m\r
+      memory: 8Gi\r
+      cpu: 4000m\r
+    requests:\r
+      memory: 2Gi\r
+      cpu: 1000m\r
 livenessProbe:\r
     path: /manage/health\r
     port: 8082\r
@@ -48,4 +59,4 @@ ingress:
   enabled: false\r
 nodeSelector: {}\r
 tolerations: []\r
-affinity: {}
\ No newline at end of file
+affinity: {}\r
index a72d108..07feb4a 100755 (executable)
@@ -81,7 +81,7 @@ spec:
         - name: docker-entrypoint-initdb-d
           mountPath: "/docker-entrypoint-initdb.d"
         resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
@@ -107,4 +107,4 @@ spec:
       - name: docker-entrypoint-initdb-d
         emptyDir: {}
       imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 81370c7..8ea7e13 100755 (executable)
@@ -72,21 +72,20 @@ service:
   nodePort: 52
 ingress:
   enabled: false
-resources: {}
-  # We usually recommend not to specify default resources and to leave this as a conscious
-  # choice for the user. This also increases chances charts run on environments with little
-  # resources, such as Minikube. If you do want to specify resources, uncomment the following
-  # s, adjust them as necessary, and remove the curly braces after 'resources:'.
-  #
-  # Example:
-  # Configure resource requests and limits
-  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
-  # Minimum memory for development is 2 CPU cores and 4GB memory
-  # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
\ No newline at end of file
+# Resource Limit flavor
+flavor: small
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 4Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 8Gi
+    requests:
+      cpu: 4
+      memory: 8Gi
index f964364..331ee65 100755 (executable)
 server:
   port: 8087
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
   security:
     usercredentials:
     -
@@ -98,7 +88,7 @@ mso:
   catalog:
     db:
       spring:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082
+        endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082
   db:
     auth: Basic YnBlbDptc28tZGItMTUwNyE=
   site-name: localDevEnv
@@ -137,4 +127,4 @@ cloud_config:
       region_id: "DFW"
       clli: "DFW"
       aic_version: "2.5"
-      identity_service_id: "RAX_KEYSTONE"
\ No newline at end of file
+      identity_service_id: "RAX_KEYSTONE"
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index abd12c7..f5b9931 100755 (executable)
@@ -21,19 +21,30 @@ app: openstack-adapter
 service:
     type: ClusterIP
     internalPort: 8087
-    externalPort: 10300
+    externalPort: 8087
     portName: so-optack-port
 updateStrategy:
     type: RollingUpdate
     maxUnavailable: 1
     maxSurge: 1
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
 resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
     requests:
       memory: 1Gi
       cpu: 500m
+  large:
     limits:
-      memory: 4Gi
-      cpu: 2000m
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 livenessProbe:
     path: /manage/health
     port: 8087
index 82117b0..f995d94 100755 (executable)
@@ -23,28 +23,8 @@ mso:
   adapters:
     requestDb:
       auth: Basic YnBlbDptc28tZGItMTUwNyE=
-      endpoint: https://c1.vm1.mso.simpledemo.onap.org:8081
+      endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    initialize: false
-    initialization-mode: never
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
-  jpa:
-    generate-ddl: false
-    show-sql: false
-    hibernate:
-      ddl-auto: validate
-      naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
-      enable-lazy-load-no-trans: true
-    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
   security:
     usercredentials:
     -
@@ -58,8 +38,3 @@ spring:
 #Actuator
 management:
   context-path: /manage
-flyway:
-  base-on-migrate: true
-  url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
-  username: ${DB_USERNAME}
-  password: ${DB_PASSWORD}
\ No newline at end of file
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 46ac09e..b57f71e 100755 (executable)
@@ -21,19 +21,30 @@ app: request-db-adapter
 service:\r
     type: ClusterIP\r
     internalPort: 8083\r
-    externalPort: 10700\r
+    externalPort: 8083\r
     portName: so-reqdb-port\r
 updateStrategy:\r
     type: RollingUpdate\r
     maxUnavailable: 1\r
     maxSurge: 1\r
+# Resource Limit flavor -By Default using small\r
+flavor: small\r
+# Segregation for Different environment (Small and Large)\r
 resources:\r
+  small:\r
+    limits:\r
+      memory: 4Gi\r
+      cpu: 2000m\r
     requests:\r
       memory: 1Gi\r
       cpu: 500m\r
+  large:\r
     limits:\r
-      memory: 4Gi\r
-      cpu: 2000m\r
+      memory: 8Gi\r
+      cpu: 4000m\r
+    requests:\r
+      memory: 2Gi\r
+      cpu: 1000m\r
 livenessProbe:\r
     path: /manage/health\r
     port: 8083\r
@@ -47,4 +58,4 @@ ingress:
   enabled: false\r
 nodeSelector: {}\r
 tolerations: []\r
-affinity: {}
\ No newline at end of file
+affinity: {}\r
index f33737d..899274c 100755 (executable)
@@ -16,16 +16,6 @@ aai:
 server:
   port: 8085
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
   security:
     usercredentials:
     -
@@ -36,36 +26,25 @@ spring:
       username: mso_admin
       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
       role: ACTUATOR
-request:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
 mso:
   msoKey: 07a7159d3bf51a0e53be7a8f89699be7
   logPath: ./logs/sdc
   catalog:
     db:
       spring:
-        endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082
+        endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082
   db:
     auth: Basic YnBlbDpwYXNzd29yZDEk
   site-name: onapheat
   aai:
-    endpoint: https://aai.api.simpledemo.onap.org:8443
+    endpoint: https://aai.{{ include "common.namespace" . }}:8443
   asdc-connections:
     asdc-controller1:
       user: mso
       consumerGroup: sdc-OpenSource-Env1
       consumerId: sdc-COpenSource-Env11
       environmentName: AUTO
-      asdcAddress: c2.vm1.sdc.simpledemo.onap.org:8443
+      asdcAddress: sdc-be.{{ include "common.namespace" . }}:8443
       password: 613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247
       pollingInterval: 60
       pollingTimeout: 60
@@ -75,7 +54,7 @@ mso:
       keyStorePath:
       watchDogTimeout: 60
       isFitlerInEmptyResources: true
-      messageBusAddress: vm1.mr.simpledemo.onap.org,vm1.mr.simpledemo.onap.org
+      messageBusAddress: message-router.{{ include "common.namespace" . }},message-router.{{ include "common.namespace" . }}
   asdc:
     config:
       key: 566B754875657232314F5548556D3665
@@ -83,4 +62,8 @@ mso:
         count: 3,
         componentNames: SO,AAI,SDNC
   scheduling:
-    enabled: false
\ No newline at end of file
+    enabled: false
+  adapters:
+    requestDb:
+      auth: Basic YnBlbDptc28tZGItMTUwNyE=
+      endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 903b490..f5a5176 100755 (executable)
@@ -21,19 +21,30 @@ app: sdc-controller
 service:
     type: ClusterIP
     internalPort: 8085
-    externalPort: 10500
+    externalPort: 8085
     portName: so-sdc-port
 updateStrategy:
     type: RollingUpdate
     maxUnavailable: 1
     maxSurge: 1
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
 resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
     requests:
       memory: 1Gi
       cpu: 500m
+  large:
     limits:
-      memory: 4Gi
-      cpu: 2000m
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 livenessProbe:
     path: /manage/health
     port: 8085
@@ -47,4 +58,4 @@ ingress:
   enabled: false
 nodeSelector: {}
 tolerations: []
-affinity: {}
\ No newline at end of file
+affinity: {}
index 4479206..26916f9 100755 (executable)
@@ -22,7 +22,7 @@ mso:
     catalog:
         db:
           spring:
-            endpoint: http://c1.vm1.mso.simpledemo.onap.org:8082
+            endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082
     db:
       auth: Basic cGFzc3dvcmQxJA==
     site-name: onapheat
@@ -84,7 +84,7 @@ org:
                             delete: POST|270000|sdncurl6|sdnc-request-header|org:onap:sdnctl:vnf
                             rollback: POST|270000|sdncurl6|sdnc-request-header|org:onap:sdnctl:vnf
                     bpelauth: cGFzc3dvcmQxJA==
-                    bpelurl: http://c1.vm1.mso.simpledemo.onap.org:8081/mso/SDNCAdapterCallbackService
+                    bpelurl: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/SDNCAdapterCallbackService
                     generic-resource:
                         network-topology-operation:
                             activate: POST|270000|sdncurl10|sdnc-request-header|org:onap:sdnc:northbound:generic-resource
@@ -115,18 +115,18 @@ org:
                     mobility:
                         '':
                             query: GET|60000|sdncurl5|
-                    myurl: http://c1.vm1.mso.simpledemo.onap.org:8081/adapters/rest/SDNCNotify
+                    myurl: http://so-sdnc-adapter{{ include "common.namespace" . }}:8086/adapters/rest/SDNCNotify
                     rest:
-                        bpelurl: http://c1.vm1.mso.simpledemo.onap.org:8081/mso/WorkflowMessage
+                        bpelurl: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/mso/WorkflowMessage
                     sdncauth: 406B2AE613211B6FB52466DE6E1769AC
                     sdncconnecttime: 5000
-                    sdncurl10: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/GENERIC-RESOURCE-API:'
-                    sdncurl11: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/VNFTOPOLOGYAIC-API:'
-                    sdncurl12: http://c1.vm1.sdnc.simpledemo.onap.org:8282/
-                    sdncurl5: http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/config
-                    sdncurl6: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/VNF-API:'
-                    sdncurl8: 'http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/NBNC-API:'
-                    sdncurl9: http://c1.vm1.sdnc.simpledemo.onap.org:8282/restconf/operations/NORTHBOUND-API:service-topology-operation
+                    sdncurl10: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/GENERIC-RESOURCE-API:'
+                    sdncurl11: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/VNFTOPOLOGYAIC-API:'
+                    sdncurl12: http://sdnc.{{ include "common.namespace" . }}:8282/
+                    sdncurl5: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/config
+                    sdncurl6: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/VNF-API:'
+                    sdncurl8: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/NBNC-API:'
+                    sdncurl9: http://sdnc.{{ include "common.namespace" . }}:8282/restconf/operations/NORTHBOUND-API:service-topology-operation
                     service:
                         infra:
                             service-topology-infra-activate-operation: POST|90000|sdncurl9|sdnc-request-header|com:att:sdnctl:northbound-api:v1
@@ -162,4 +162,4 @@ spring:
     -
       username: mso_admin
       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
-      role: ACTUATOR
\ No newline at end of file
+      role: ACTUATOR
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 0402e6f..55b5965 100755 (executable)
@@ -21,19 +21,30 @@ app: sdnc-adapter
 service:
     type: ClusterIP
     internalPort: 8086
-    externalPort: 10400
+    externalPort: 8086
     portName: so-sdnc-port
 updateStrategy:
     type: RollingUpdate
     maxUnavailable: 1
     maxSurge: 1
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
 resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
     requests:
       memory: 1Gi
       cpu: 500m
+  large:
     limits:
-      memory: 4Gi
-      cpu: 2000m
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 livenessProbe:
     path: /manage/health
     port: 8086
@@ -47,4 +58,4 @@ ingress:
   enabled: false
 nodeSelector: {}
 tolerations: []
-affinity: {}
\ No newline at end of file
+affinity: {}
index 6c26671..6f579e7 100755 (executable)
 # limitations under the License.
 logging:
   path: logs
-spring:
-  datasource:
-     driver-class-name: org.mariadb.jdbc.Driver
-     url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
-     username: ${DB_USERNAME}
-     password: ${DB_PASSWORD}
-     dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
 server:
     port: 8084
     tomcat:
@@ -34,10 +23,10 @@ mso:
   adapters:
     requestDb:
       auth: Basic YnBlbDptc28tZGItMTUwNyE=
-      endpoint: https://c1.vm1.mso.simpledemo.onap.org:8081
+      endpoint: https://so-request-db-adapter.{{ include "common.namespace" . }}:8083
 #Actuator
 management:
   security:
     enabled: false
     basic:
-      enabled: false
\ No newline at end of file
+      enabled: false
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 3007a2f..8842806 100755 (executable)
@@ -21,19 +21,30 @@ app: vfc-adapter
 service:
     type: ClusterIP
     internalPort: 8084
-    externalPort: 10600
+    externalPort: 8084
     portName: so-vfc-port
 updateStrategy:
     type: RollingUpdate
     maxUnavailable: 1
     maxSurge: 1
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
 resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
     requests:
       memory: 1Gi
       cpu: 500m
+  large:
     limits:
-      memory: 4Gi
-      cpu: 2000m
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
 livenessProbe:
     path: /manage/health
     port: 8084
@@ -47,4 +58,4 @@ ingress:
   enabled: false
 nodeSelector: {}
 tolerations: []
-affinity: {}
\ No newline at end of file
+affinity: {}
index 99c76cd..9d3c167 100755 (executable)
@@ -7,18 +7,18 @@ mso:
   msoKey: "07a7159d3bf51a0e53be7a8f89699be7"
   logPath: logs
   site-name: onapheat
-  adapters:
-    requestDb:
-      endpoint: http://c1.vm1.mso.simpledemo.onap.org:8083
-      auth: YnBlbDptc28tZGItMTUwNyE=
   catalog:
     db:
       spring:
-        endpoint: "http://c1.vm1.mso.simpledemo.onap.org:8082"
+        endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082
   db:
     auth: Basic cGFzc3dvcmQxJA==
-  config:
-    path: /src/main/resources/
+  adapters:
+    requestDb:
+      auth: YnBlbDptc28tZGItMTUwNyE=
+      endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
+    config:
+      path: /src/main/resources/
   infra:
     default:
       alacarte:
@@ -32,11 +32,11 @@ mso:
   apih:
     homing:
       sdna:
-        url: http://c1.vm1.mso.simpledemo.onap.org:8086/
+        url: http://so-sdnc-adapter.{{ include "common.namespace" . }}:8086/
         password: 4112B789E942B161228F7D5AFC654C0F
-  bpelURL: http://c1.vm1.mso.simpledemo.onap.org:8082/
+  bpelURL: http://so-bpmn-infra.{{ include "common.namespace" . }}:8082/
   bpelAuth: 786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1
-  camundaURL: http://c1.vm1.mso.simpledemo.onap.org:8082/
+  camundaURL: http://so-bpmn-infra.{{ include "common.namespace" . }}:8082/
   camundaAuth: 5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1
   async:
     core-pool-size: 50
@@ -48,40 +48,23 @@ mso:
     activate:
       instanceid: test
       userid: cs0008
-    endpoint: http://c1.vm1.mso.simpledemo.onap.org:28090
+    endpoint: http://sdc-be.{{ include "common.namespace" . }}:8443
   tenant:
     isolation:
       retry:
         count: 3
   aai:
-    endpoint: https://aai.api.simpledemo.onap.org:8443
+    endpoint: https://aai.{{ include "common.namespace" . }}:8443
     auth: 2630606608347B7124C244AB0FE34F6F
   so:
     operational-environment:
       dmaap:
         username: testuser
         password: VjR5NDcxSzA=
-        host: http://c1.vm1.mso.simpledemo.onap.org:28090
+        host: http://dmaap-bc.{{ include "common.namespace" . }}:8080
       publisher:
         topic: com.att.ecomp.mso.operationalEnvironmentEvent
 spring:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
-  jpa:
-      show-sql: true
-      hibernate:
-        dialect: org.hibernate.dialect.MySQL5Dialect
-        ddl-auto: validate
-        naming-strategy: org.hibernate.cfg.ImprovedNamingStrategy
-        enable-lazy-load-no-trans: true
   jersey:
     type: filter
   security:
@@ -110,14 +93,3 @@ spring:
       username: mso_admin
       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
       role: ACTUATOR
-request:
-  datasource:
-    url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
-    username: ${DB_USERNAME}
-    password: ${DB_PASSWORD}
-    driver-class-name: org.mariadb.jdbc.Driver
-    dbcp2:
-      initial-size: 5
-      max-total: 20
-      validation-query: select 1
-      test-on-borrow: true
\ No newline at end of file
index 48d9ef8..a03dbd8 100755 (executable)
@@ -26,8 +26,4 @@ metadata:
   name: {{ include "common.fullname" . }}-app-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-  {{- $yamlpath := printf "resources/config/overrides/override.yaml" -}}
-  {{- $root := . }}
-  {{- range $path, $bytes := .Files.Glob $yamlpath }}
-  override.yaml: {{ $root.Files.Get $path | quote }}
-  {{- end }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
index d235545..a69c189 100755 (executable)
@@ -47,12 +47,7 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources:
-          requests:
-            memory: {{ index .Values.resources.requests.memory}}
-            cpu: {{ index .Values.resources.requests.cpu}}
-          limits:
-            memory: {{ index .Values.resources.limits.memory}}
-            cpu: {{ index .Values.resources.limits.cpu}}
+{{ toYaml (pluck .Values.flavor .Values.resources| first) | indent 12 }}
         env:
         - name: DB_HOST
           valueFrom:
@@ -141,4 +136,4 @@ spec:
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
       imagePullSecrets:
-        - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 20cf8d2..b01d486 100755 (executable)
@@ -21,23 +21,34 @@ logPath: ./logs/apih/
 app: api-handler-infra
 service:
     type: NodePort
-    nodePort: 58
-    internalPort: 10100
+    nodePort: 77
+    internalPort: 8080
     portName: so-apih-port
 updateStrategy:
     type: RollingUpdate
     maxUnavailable: 1
     maxSurge: 1
+# Resource Limit flavor -By Default using small 
+flavor: small
+# Segregation for Different environment (Small and Large)
 resources:
+  small:
+    limits:
+      cpu: 2000m
+      memory: 4Gi
     requests:
-      memory: 1Gi
       cpu: 500m
+      memory: 1Gi
+  large:
     limits:
-      memory: 4Gi
-      cpu: 2000m
+      cpu: 4000m
+      memory: 8Gi
+    requests:
+      cpu: 1000m
+      memory: 2Gi
 livenessProbe:
-    path: /manage/health 
-    scheme: HTTPS
+    path: /manage/health
+    scheme: HTTP
     initialDelaySeconds: 600
     periodSeconds: 60
     timeoutSeconds: 10
@@ -52,4 +63,4 @@ global:
 mariadb:
   nameOverride: so-db
 nodeSelector: {}
-affinity: {}
\ No newline at end of file
+affinity: {}
@@ -13,9 +13,9 @@
 # limitations under the License.
 
 apiVersion: v1
-description: Chart for MariaDB Galera cluster
-name: mariadb-galera
-version: 2.0.0
+description: ONAP VID MariaDB Galera cluster
+name: vid_mariadb_galera
+version: 3.0.0
 keywords:
   - mariadb
   - mysql
@@ -126,7 +126,7 @@ resources:
     memory: 4Gi
 
 # Name for mariadb-galera cluster - should be unique accross all projects or other clusters
-nameOverride: vid-galera
+nameOverride: vid-mariadb-galera
 
 # DNS name for mariadb-galera cluster - should be unique accross all projects other clusters
 #dnsnameOverride: mariadb-galera
@@ -1,6 +1,5 @@
-<!--
-
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
+#!/bin/sh
+# Copyright © 2018 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
--->
-
-<rests xmlns="http://camel.apache.org/schema/spring">
-       <rest>
-               <post uri="/visualization/prepareVisualization">
-                       <route>
-                               <to uri="bean:schemaVisualizationProcessor?method=processVisualizationRequest" />
-                       </route>
-               </post>
-       </rest>
-</rests>
 
-         
+echo "Going to run mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P${MYSQL_PORT} ..."
+mysql -u${MYSQL_USER} -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P${MYSQL_PORT} < /db-config/vid-pre-init.sql
+if [ $? -ne 0 ];then
+        echo "ERROR: Failed to run ${cmd} vid-pre-init.sql"
+        exit 1
+else
+        echo "INFO: Database initialized successfully"
+fi
@@ -1,5 +1,5 @@
-<!--
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
+/*
+# 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.
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+*/
 
--->
-
-<rests xmlns="http://camel.apache.org/schema/spring">
-   <rest>
-      <post uri="/search/filterAggregation">
-         <to uri="bean:aggregateSummaryProcessor?method=getFilteredAggregation"/>
-      </post>
-   </rest>
-</rests>
+CREATE TABLE IF NOT EXISTS `vid_openecomp_epsdk`.`schema_info` (
+`SCHEMA_ID` VARCHAR(25) NOT NULL,
+`SCHEMA_DESC` VARCHAR(75) NOT NULL,
+`DATASOURCE_TYPE` VARCHAR(100) NULL DEFAULT NULL,
+`CONNECTION_URL` VARCHAR(200) NOT NULL,
+`USER_NAME` VARCHAR(45) NOT NULL,
+`PASSWORD` VARCHAR(45) NULL DEFAULT NULL,
+`DRIVER_CLASS` VARCHAR(100) NOT NULL,
+`MIN_POOL_SIZE` INT(11) NOT NULL,
+`MAX_POOL_SIZE` INT(11) NOT NULL,
+`IDLE_CONNECTION_TEST_PERIOD` INT(11) NOT NULL)
+ENGINE = InnoDB
+DEFAULT CHARACTER SET = utf8;
\ No newline at end of file
diff --git a/kubernetes/vid/templates/check-job-completion-configmap.yaml b/kubernetes/vid/templates/check-job-completion-configmap.yaml
deleted file mode 100644 (file)
index 270615a..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-check-job-completion
-  namespace: {{ include "common.namespace" . }}
-data:
-  vid_check_job_completion.py: |
-    #!/usr/bin/python
-    from __future__ import print_function
-    import time, argparse, logging, sys, os
-    import kubernetes.client
-    from kubernetes import client, config
-    from pprint import pprint
-
-    #extract env variables.
-    namespace = os.environ['NAMESPACE']
-    cert = os.environ['CERT']
-    host = os.environ['KUBERNETES_SERVICE_HOST']
-    token_path = os.environ['TOKEN']
-
-    with open(token_path, 'r') as token_file:
-        token = token_file.read().replace('\n', '')
-
-    client.configuration.api_key['authorization'] = token
-    client.configuration.api_key_prefix['authorization'] = 'Bearer'
-    client.configuration.host = "https://" + str(host)
-    client.configuration.ssl_ca_cert = cert
-
-    api_instance = client.BatchV1Api()
-
-    #setup logging
-    log = logging.getLogger(__name__)
-    handler = logging.StreamHandler(sys.stdout)
-    handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
-    handler.setLevel(logging.INFO)
-    log.addHandler(handler)
-    log.setLevel(logging.INFO)
-
-
-    def is_ready(job_name):
-        log.info( "[INFO] Checking if " + job_name + "  is completed")
-        pretty = True
-        job_status = False
-
-        try:
-            api_response = api_instance.read_namespaced_job_status(job_name, namespace, pretty=pretty)
-        except Exception as e:
-          print("Exception when calling BatchV1Api->read_namespaced_job_status: %s\n" % e)
-
-        pprint(api_response)
-        if api_response.status.succeeded == 1:
-          job_status_type = api_response.status.conditions[0].type
-          if job_status_type == "Complete":
-            job_status = True
-
-        print("[DBG] jobStatus: " + unicode(job_status))
-        return job_status
-
-
-    def main(args):
-        for job_name in args:
-            timeout = time.time() + 60 * 10
-            while True:
-                ready = is_ready(job_name)
-                if ready is True :
-                    break
-                elif time.time() > timeout:
-                    log.warning( "timed out waiting for '" + job_name + "' to be ready")
-                    exit(1)
-                else:
-                    time.sleep(5)
-
-
-    if __name__ == "__main__":
-        parser = argparse.ArgumentParser(description='Process some names.')
-        parser.add_argument('--job-name', action='append', required=True, help='A container name')
-        args = parser.parse_args()
-        arg_dict = vars(args)
-
-        for arg in arg_dict.itervalues():
-            main(arg)
-
-
diff --git a/kubernetes/vid/templates/cluster-ready-configmap.yaml b/kubernetes/vid/templates/cluster-ready-configmap.yaml
deleted file mode 100644 (file)
index 86f8d91..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-cluster-ready-configmap
-  namespace: {{ include "common.namespace" . }}
-data:
- vid_ready.py : |-
-   #!/usr/bin/python
-   from kubernetes import client, config
-   import time, argparse, logging, sys, os
-
-   #extract env variables.
-   namespace = os.environ['NAMESPACE']
-   cert = os.environ['CERT']
-   host = os.environ['KUBERNETES_SERVICE_HOST']
-   token_path = os.environ['TOKEN']
-
-   with open(token_path, 'r') as token_file:
-       token = token_file.read().replace('\n', '')
-
-   client.configuration.host = "https://" + host
-   client.configuration.ssl_ca_cert = cert
-   client.configuration.api_key['authorization'] = token
-   client.configuration.api_key_prefix['authorization'] = 'Bearer'
-
-   #setup logging
-   log = logging.getLogger(__name__)
-   handler = logging.StreamHandler(sys.stdout)
-   handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
-   handler.setLevel(logging.INFO)
-   log.addHandler(handler)
-   log.setLevel(logging.INFO)
-
-
-   def is_ready(container_name):
-       log.info( "Checking if " + container_name + "  is ready")
-       # config.load_kube_config() # for local testing
-       # namespace='onap-sdc' # for local testing
-       v1 = client.CoreV1Api()
-
-       ready = False
-
-       try:
-           response = v1.list_namespaced_pod(namespace=namespace, watch=False)
-
-           for i in response.items:
-               #log.info(i.metadata.name)
-               for s in i.status.container_statuses:
-                   #log.info(s.name)
-                   if i.metadata.name == container_name:
-                       ready = s.ready
-                       if not ready:
-                           log.info( container_name + " is not ready.")
-                       else:
-                           log.info( container_name + " is ready!")
-                   else:
-                       continue
-           return ready
-       except Exception as e:
-           log.error("Exception when calling list_namespaced_pod: %s\n" % e)
-
-
-   def main(args):
-       # args are a list of container names
-       for container_name in args:
-           # 5 min, TODO: make configurable
-           timeout = time.time() + 60 * 10
-           while True:
-               ready = is_ready(container_name)
-               if ready is True:
-                   break
-               elif time.time() > timeout:
-                   log.warning( "timed out waiting for '" + container_name + "' to be ready")
-                   exit(1)
-               else:
-                   time.sleep(5)
-
-
-   if __name__ == "__main__":
-       parser = argparse.ArgumentParser(description='Process some names.')
-       parser.add_argument('--container-name', action='append', required=True, help='A container name')
-       args = parser.parse_args()
-       arg_dict = vars(args)
-
-       for arg in arg_dict.itervalues():
-           main(arg)
-
-
-
index f7dbf07..cae46b4 100644 (file)
@@ -27,3 +27,16 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/filebeat/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
index 3a7bdca..5cd4f38 100644 (file)
@@ -31,16 +31,9 @@ spec:
         release: {{ .Release.Name }}
     spec:
       initContainers:
-#dd775k: This container checks if the job that wait for all db instances to be up and initializes the db had finished.
-#      - command:
-#        - /bin/sh
-#        args:
-#        - "-c"
-#        - "sleep 1000000000m"
       - command:
-        - python
+        - /root/job_complete.py
         args:
-        - /tmp/vid-check-job-completion/vid_check_job_completion.py
         - --job-name
         - vid-config-galera
         env:
@@ -52,17 +45,10 @@ spec:
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
-        volumeMounts:
-        - mountPath: /tmp/vid-check-job-completion
-          name: vid-check-job-completion
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          lifecycle:
-            postStart:
-              exec:
-                command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/usr/local/tomcat/webapps/vid/WEB-INF/classes/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
           ports:
           - containerPort: {{ .Values.service.internalPort }}
           # disable liveness probe when breakpoints set in debugger
@@ -167,10 +153,6 @@ spec:
         - name: vid-logback
           configMap:
             name: {{ include "common.fullname" . }}-log-configmap
-        - name: vid-check-job-completion
-          configMap:
-            name: {{ include "common.fullname" . }}-check-job-completion
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
 
-
diff --git a/kubernetes/vid/templates/galera-sql-configmap.yaml b/kubernetes/vid/templates/galera-sql-configmap.yaml
deleted file mode 100644 (file)
index 7f05af5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright © 2018 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-galera-sql-configmap
-  namespace: "{{ include "common.namespace" . }}"
-data:
-  vid-pre-init.sql: |-
-   CREATE TABLE IF NOT EXISTS `vid_openecomp_epsdk`.`schema_info` (
-   `SCHEMA_ID` VARCHAR(25) NOT NULL,
-   `SCHEMA_DESC` VARCHAR(75) NOT NULL,
-   `DATASOURCE_TYPE` VARCHAR(100) NULL DEFAULT NULL,
-   `CONNECTION_URL` VARCHAR(200) NOT NULL,
-   `USER_NAME` VARCHAR(45) NOT NULL,
-   `PASSWORD` VARCHAR(45) NULL DEFAULT NULL,
-   `DRIVER_CLASS` VARCHAR(100) NOT NULL,
-   `MIN_POOL_SIZE` INT(11) NOT NULL,
-   `MAX_POOL_SIZE` INT(11) NOT NULL,
-   `IDLE_CONNECTION_TEST_PERIOD` INT(11) NOT NULL)
-    ENGINE = InnoDB
-    DEFAULT CHARACTER SET = utf8;
-
index 3d1097f..36b35e4 100644 (file)
@@ -29,10 +29,16 @@ spec:
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
       name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.internalPort2 }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
+      name: {{ .Values.service.portName2 }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       name: {{ .Values.service.portName }}
+    - port: {{ .Values.service.externalPort2 }}
+      targetPort: {{ .Values.service.internalPort2 }}
+      name: {{ .Values.service.portName2 }}
     {{- end}}
   selector:
     app: {{ include "common.name" . }}
index b893dbf..2bcf647 100644 (file)
@@ -28,35 +28,34 @@ spec:
       name: vid-galera-init
     spec:
       initContainers:
-#dd775k:  This container checks that all galera instances are up before initializing it.
+#This container checks that all galera instances are up before initializing it.
       - name: vid-init-galera-readiness
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-#        - /bin/sh
-#        args:
-#        - "-c"
-#        - "sleep 1000000000m"
         command:
-        - python
-        args:
-        - /root/vid_ready.py
+        - /root/ready.py
+{{- $fullname := include "common.fullname" . -}}
+{{- range $i,$t := until (int .Values.vid_mariadb_galera.replicaCount)}}
         - --container-name
-        - {{ include "common.fullname" . }}-mariadb-galera-0
+        - {{ $fullname }}-mariadb-galera-{{$i}}
+{{- end }}
         env:
         - name: NAMESPACE
-          value: {{ include "common.namespace" . }}
-        volumeMounts:
-        - name: init-config
-          mountPath: /root/
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
       containers:
       - name: vid-config-galeradb
         image: {{ .Values.mariadb_image }}
         imagePullPolicy: "{{ .Values.pullPolicy }}"
         volumeMounts:
-        - name: vid-db-config
-          mountPath: /db-config
-        - name: dbcmd-config
-          mountPath: /dbcmd-config
+        - mountPath: /dbcmd-config/db_cmd.sh
+          name: {{ include "common.fullname" . }}-config
+          subPath: db_cmd.sh
+        - mountPath: /db-config/vid-pre-init.sql
+          name: {{ include "common.fullname" . }}-config
+          subPath: vid-pre-init.sql
         command:
         - /bin/sh
         args:
@@ -65,22 +64,20 @@ spec:
         env:
         - name: MYSQL_PASSWORD
           value: "{{ .Values.config.vidmysqlpassword }}"
-#          valueFrom:
-#            secretKeyRef:
-#              name: {{ template "common.fullname" . }}
-#              key: vid-password
         - name: MYSQL_HOST
           value: "{{ .Values.config.vidmysqlhost }}"
+        - name: MYSQL_USER
+          value: "{{ .Values.config.vidmysqluser }}"
+        - name: MYSQL_PORT
+          value: "{{ .Values.config.vidmysqlport }}"
+      restartPolicy: Never
       volumes:
-        - name: vid-db-config
-          configMap:
-            name: {{ include "common.fullname" . }}-galera-sql-configmap
-        - name: dbcmd-config
+        - name: {{ include "common.fullname" . }}-config
           configMap:
-            name: {{ include "common.fullname" . }}-dbcmd-configmap
-        - name: init-config
-          configMap:
-            name: {{ include "common.fullname" . }}-cluster-ready-configmap
-      restartPolicy: Never
-
+            name: {{ include "common.fullname" . }}
+            items:
+              - key: db_cmd.sh
+                path: db_cmd.sh
+              - key: vid-pre-init.sql
+                path: vid-pre-init.sql
 
index 812f74e..34a265c 100644 (file)
@@ -17,9 +17,8 @@
 # Declare variables to be passed into your templates.
 global:
   nodePortPrefix: 302
-  repositorySecret: eyJuZXh1czMub25hcC5vcmc6MTAwMDEiOnsidXNlcm5hbWUiOiJkb2NrZXIiLCJwYXNzd29yZCI6ImRvY2tlciIsImVtYWlsIjoiQCIsImF1dGgiOiJaRzlqYTJWeU9tUnZZMnRsY2c9PSJ9fQ==
   readinessRepository: oomk8s
-  readinessImage: readiness-check:1.0.0
+  readinessImage: readiness-check:2.0.1
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
 
@@ -28,7 +27,7 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vid:2.0.0
+image: onap/vid:3.0.0
 pullPolicy: Always
 
 # mariadb image for initializing
@@ -54,8 +53,9 @@ config:
   logstashPort: 5044
 
 # subchart configuration
-mariadb-galera:
-  nameOverride: vid-mariadb-galera
+vid_mariadb_galera:
+#  nameOverride: vid-mariadb-galera
+  replicaCount: 1
 
 # default number of instances
 replicaCount: 1
@@ -80,9 +80,13 @@ service:
   type: NodePort
   name: vid
   portName: vid
-  externalPort: "00"
-  nodePort: "00"
+  externalPort: 8443
   internalPort: 8443
+  nodePort: "00"
+  portName2: vid-http
+  externalPort2: 8080
+  internalPort2: 8080
+  nodePort2: "38"
 
 ingress:
   enabled: false
index ce82a2f..3b2a02a 100644 (file)
@@ -16,3 +16,6 @@ dependencies:
   - name: common
     version: ~2.0.0
     repository: '@local'
+  - name: postgres
+    version: ~2.0.0
+    repository: '@local'
diff --git a/kubernetes/vnfsdk/resources/config/marketplace_tables_postgres.sql b/kubernetes/vnfsdk/resources/config/marketplace_tables_postgres.sql
new file mode 100644 (file)
index 0000000..c05d7f2
--- /dev/null
@@ -0,0 +1,25 @@
+CREATE DATABASE "marketplaceDB";
+
+\c marketplaceDB;
+
+DROP TABLE IF EXISTS CSAR_PACKAGE_TABLE;
+
+CREATE TABLE CSAR_PACKAGE_TABLE (
+        CSARID                   VARCHAR(200)       NOT NULL,
+        DOWNLOADURI              VARCHAR(200)       NULL,
+        REPORT                       VARCHAR(200)       NULL,
+        SIZE                     VARCHAR(100)       NULL,
+        FORMAT                   VARCHAR(100)       NULL,
+        CREATETIME               VARCHAR(100)       NULL,
+        DELETIONPENDING          VARCHAR(100)       NULL,
+        MODIFYTIME               VARCHAR(100)       NULL,
+        SHORTDESC                    TEXT                       NULL,
+        NAME                     VARCHAR(100)       NULL,
+        VERSION                  VARCHAR(20)        NULL,
+        PROVIDER                 VARCHAR(300)       NULL,
+        TYPE                     VARCHAR(300)       NULL,
+        DETAILS                      TEXT                           NULL,
+        REMARKS                      TEXT                           NULL,
+        DOWNLOADCOUNT            INT                NULL,
+        CONSTRAINT csar_package_table_pkey PRIMARY KEY (CSARID)
+);
similarity index 67%
rename from kubernetes/vid/templates/dbcmd-configmap.yaml
rename to kubernetes/vnfsdk/templates/configmap.yaml
index aa08801..5a40a61 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada
+# Copyright © 2017 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-dbcmd-configmap
+  name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
 data:
- db_cmd.sh : |-
-   #!/bin/sh
-   #mysql -uroot -p${MYSQL_ROOT_PASSWORD} -h${MYSQL_HOST} -P3306 < /db-config/vid-pre-init.sql
-   mysql -uvidadmin -p${MYSQL_PASSWORD} -h${MYSQL_HOST} -P3306 < /db-config/vid-pre-init.sql
-
+{{ tpl (.Files.Glob "resources/config/marketplace_tables_postgres.sql").AsConfig . | indent 2 }}
index 8220553..5b6f923 100644 (file)
@@ -38,7 +38,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - "{{ .Values.vnfsdkpostgres.nameOverride }}"
+        - "{{ .Values.postgres.nameOverride }}"
         env:
         - name: NAMESPACE
           valueFrom:
@@ -54,7 +54,7 @@ spec:
         name: {{ include "common.name" . }}
         env:
         - name: POSTGRES_SERVICE_HOST
-          value: "$(VNFSDK_POSTGRES_SERVICE_HOST)"
+          value: "$(VNFSDK_DBSET_SERVICE_HOST)"
         readinessProbe:
           tcpSocket:
             port: {{ .Values.service.internalPort }}
diff --git a/kubernetes/vnfsdk/templates/job.yaml b/kubernetes/vnfsdk/templates/job.yaml
new file mode 100644 (file)
index 0000000..08d3107
--- /dev/null
@@ -0,0 +1,70 @@
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-init-postgres
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-job
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  backoffLimit: 20
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-job
+        release: {{ .Release.Name }}
+    spec:
+      restartPolicy: Never
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - "{{ .Values.postgres.nameOverride }}"
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy}}
+        name: {{ include "common.name" . }}-readiness
+      containers:
+      - name: {{ include "common.name" . }}-job
+        image: "{{ .Values.postgresRepository }}/{{ .Values.postgresImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: PGPASSWORD
+          value: "{{ .Values.postgres.config.pgUserPassword }}"
+        command:
+        - /bin/sh
+        - -c
+        - |
+          psql -U {{ .Values.postgres.config.pgUserName }} -h $(VNFSDK_DBPRI_SERVICE_HOST) -f /aaa/init/marketplace_tables_postgres.sql
+        volumeMounts:
+        - name: init-data
+          mountPath: /aaa/init/marketplace_tables_postgres.sql
+          subPath: marketplace_tables_postgres.sql
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      volumes:
+      - name: init-data
+        configMap:
+          name: {{ include "common.fullname" . }}
index edca2ec..0db7744 100644 (file)
@@ -29,11 +29,30 @@ global:
 # application image
 repository: nexus3.onap.org:10001
 image: onap/vnfsdk/refrepo:1.1.1
+postgresRepository: crunchydata
+postgresImage: crunchy-postgres:centos7-10.3-1.8.2
 pullPolicy: Always
 
-#subchart name
-vnfsdkpostgres:
+# application configuration override for postgres
+postgres:
   nameOverride: vnfsdk-postgres
+  service:
+    name: vnfsdk-dbset
+    name2: vnfsdk-dbpri
+    name3: vnfsdk-dbrep
+  container:
+    name:
+      primary: vnfsdk-dbpri
+      replica: vnfsdk-dbrep
+  persistence:
+    mountSubPath: vnfsdk/data
+    mountInitPath: vnfsdk
+  config:
+    pgUserName: postgres
+    pgDatabase: postgres
+    pgPrimaryPassword: postgres
+    pgUserPassword: postgres
+    pgRootPassword: postgres
 
 # flag to enable debugging - application support required
 debugEnabled: false