Merge "SDNC using shared mariadb-galera cluster"
authorAlexis de Talhouët <adetalhouet89@gmail.com>
Wed, 17 Apr 2019 12:21:27 +0000 (12:21 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 17 Apr 2019 12:21:27 +0000 (12:21 +0000)
137 files changed:
kubernetes/aaf/charts/aaf-sms/values.yaml
kubernetes/aai/charts/aai-babel/resources/config/tosca-mappings.json
kubernetes/aai/charts/aai-cassandra/templates/statefulset.yaml
kubernetes/aai/charts/aai-champ/values.yaml
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_config.yml
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.keyfile
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12
kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.props
kubernetes/aai/charts/aai-resources/templates/deployment.yaml
kubernetes/aai/charts/aai-schema-service/templates/deployment.yaml
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.keyfile
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12
kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.props
kubernetes/aai/charts/aai-traversal/templates/deployment.yaml
kubernetes/aai/resources/config/aai/aai_keystore
kubernetes/aai/resources/config/haproxy/aai.pem [new file with mode: 0644]
kubernetes/aai/templates/deployment.yaml
kubernetes/appc/charts/appc-ansible-server/templates/pv.yaml [new file with mode: 0644]
kubernetes/appc/charts/appc-ansible-server/templates/statefulset.yaml [moved from kubernetes/appc/charts/appc-ansible-server/templates/deployment.yaml with 83% similarity]
kubernetes/appc/charts/appc-ansible-server/values.yaml
kubernetes/clamp/charts/clamp-dash-es/values.yaml
kubernetes/clamp/charts/clamp-dash-logstash/resources/config/pipeline.conf
kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/clds-create-db-objects.sql
kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/create-tables.sql [new file with mode: 0644]
kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/load-sql-files-tests-automation.sh [changed mode: 0644->0755]
kubernetes/clamp/charts/mariadb/values.yaml
kubernetes/common/dgbuilder/values.yaml
kubernetes/common/mongo/values.yaml
kubernetes/common/music/charts/music-cassandra/templates/statefulset.yaml
kubernetes/common/nfs-provisioner/Chart.yaml [new file with mode: 0644]
kubernetes/common/nfs-provisioner/requirements.yaml [new file with mode: 0644]
kubernetes/common/nfs-provisioner/templates/nfs-provisoner.yaml [new file with mode: 0644]
kubernetes/common/nfs-provisioner/templates/service.yaml [new file with mode: 0644]
kubernetes/common/nfs-provisioner/values.yaml [new file with mode: 0644]
kubernetes/dcaegen2/Makefile
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-dashboard-inputs.yaml [new file with mode: 0644]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-snmptrap-inputs.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-ves-inputs.yaml
kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/configmap.yaml
kubernetes/dcaegen2/charts/dcae-cloudify-manager/templates/deployment.yaml
kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml
kubernetes/dcaegen2/charts/dcae-config-binding-service/values.yaml
kubernetes/dcaegen2/charts/dcae-deployment-handler/values.yaml
kubernetes/dcaegen2/charts/dcae-policy-handler/resources/config/config.json
kubernetes/dcaegen2/charts/dcae-policy-handler/values.yaml
kubernetes/dcaegen2/charts/dcae-servicechange-handler/charts/dcae-inventory-api/values.yaml
kubernetes/dcaegen2/values.yaml
kubernetes/dmaap/components/dmaap-bc/resources/config/dmaapbc.properties
kubernetes/dmaap/components/dmaap-dr-node/resources/config/drNodeCadi.properties [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-node/resources/config/node.properties
kubernetes/dmaap/components/dmaap-dr-node/templates/configmap.yaml
kubernetes/dmaap/components/dmaap-dr-node/templates/statefulset.yaml
kubernetes/dmaap/components/dmaap-dr-prov/resources/config/drProvCadi.properties [new file with mode: 0644]
kubernetes/dmaap/components/dmaap-dr-prov/resources/config/provserver.properties
kubernetes/dmaap/components/dmaap-dr-prov/templates/configmap.yaml
kubernetes/dmaap/components/dmaap-dr-prov/templates/deployment.yaml
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/statefulset.yaml
kubernetes/dmaap/components/message-router/charts/message-router-kafka/values.yaml
kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/values.yaml
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/_zkquorum.tpl [new file with mode: 0644]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/poddisruptionbudget.yaml
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/statefulset.yaml
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/values.yaml
kubernetes/dmaap/components/message-router/resources/topics/PM_MAPPER.json
kubernetes/dmaap/components/message-router/values.yaml
kubernetes/dmaap/requirements.yaml
kubernetes/nbi/charts/mariadb/values.yaml
kubernetes/onap/requirements.yaml
kubernetes/onap/templates/storageclass.yaml [new file with mode: 0644]
kubernetes/onap/values.yaml
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/Chart.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/cadi.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/liquibase.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/logback.xml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/optimizer.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/NOTES.txt [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/configmap.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/deployment.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/service.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/values.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cadi.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cmso.properties
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/optimizer.properties
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/templates/deployment.yaml
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/values.yaml
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/Chart.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/cadi.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/logback.xml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/ticketmgt.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/NOTES.txt [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/configmap.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/deployment.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/service.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/values.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/Chart.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/cadi.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/logback.xml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/topology.properties [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/NOTES.txt [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/configmap.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/deployment.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/service.yaml [new file with mode: 0644]
kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/values.yaml [new file with mode: 0644]
kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml
kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw-tweaks.sh
kubernetes/policy/charts/brmsgw/resources/config/pe/brmsgw.conf
kubernetes/policy/charts/mariadb/resources/config/db.sh
kubernetes/policy/charts/policy-apex-pdp/resources/config/OnapPfConfig.json [new file with mode: 0644]
kubernetes/policy/charts/policy-apex-pdp/resources/config/topic.properties [new file with mode: 0644]
kubernetes/policy/charts/policy-apex-pdp/templates/configmap.yaml
kubernetes/policy/charts/policy-apex-pdp/templates/statefulset.yaml
kubernetes/policy/charts/policy-apex-pdp/values.yaml
kubernetes/policy/charts/policy-api/resources/config/config.json
kubernetes/policy/charts/policy-api/templates/deployment.yaml
kubernetes/policy/charts/policy-pap/resources/config/config.json
kubernetes/policy/charts/policy-pap/resources/config/topic.properties [new file with mode: 0644]
kubernetes/policy/charts/policy-pap/templates/configmap.yaml
kubernetes/policy/charts/policy-pap/templates/deployment.yaml
kubernetes/pomba/charts/pomba-aaictxbuilder/values.yaml
kubernetes/pomba/charts/pomba-contextaggregator/values.yaml
kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml
kubernetes/pomba/charts/pomba-sdcctxbuilder/values.yaml
kubernetes/pomba/charts/pomba-sdncctxbuilder/values.yaml
kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.p12
kubernetes/readiness/docker/init/ready.py
kubernetes/robot/demo-k8s.sh
kubernetes/robot/eteHelm-k8s.sh [new file with mode: 0644]
kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
kubernetes/robot/resources/config/eteshare/config/vm_properties.py
kubernetes/robot/values.yaml
kubernetes/sdc/resources/config/environments/AUTO.json
kubernetes/sdnc/charts/sdnc-portal/values.yaml
kubernetes/sdnc/resources/config/bin/startODL.sh
kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-vnfm-adapter/resources/config/overrides/override.yaml
kubernetes/so/resources/config/overrides/override.yaml

index 8e7ea29..28b46c2 100644 (file)
@@ -67,11 +67,11 @@ readiness:
   periodSeconds: 30
 
 service:
-  type: NodePort
+  type: ClusterIP
   name: aaf-sms
   portName: aaf-sms
   internalPort: 10443
-  nodePort: 43
+  externalPort: 10443
 
 persistence:
   enabled: true
index 5be6097..a6fe82f 100644 (file)
@@ -15,7 +15,7 @@
                {
                        "type": "VF",
                        "name": "generic-vnf",
-                       "deleteFlag": false,
+                       "deleteFlag": true,
                        "modelVersionId": "93a6166f-b3d5-4f06-b4ba-aed48d009ad9",
                        "modelInvariantId": "acc6edd8-a8d4-4b93-afaa-0994068be14c"
                },
index a576eba..bd62c56 100644 (file)
@@ -60,7 +60,7 @@ spec:
             - -c
             - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
-          timeoutSeconds: {{ .Values.liveness.periodSeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
         lifecycle:
           preStop:
             exec:
index b35171e..331786c 100644 (file)
@@ -25,7 +25,7 @@ global:
 #################################################################
 
 # application image
-image: onap/champ:1.3.0
+image: onap/champ:1.4-STAGING-latest
 
 flavor: small
 
index 3fefe16..9172b71 100644 (file)
 # HTTP
 #   basic (challenging)
 #   proxy (not challenging, needs xff)
-#   kerberos (challenging) NOT FREE FOR COMMERCIAL
+#   kerberos (challenging)
 #   clientcert (not challenging, needs https)
-#   jwt (not challenging) NOT FREE FOR COMMERCIAL
+#   jwt (not challenging)
 #   host (not challenging) #DEPRECATED, will be removed in a future version.
 #                           host based authentication is configurable in sg_roles_mapping
 
 # Authc
 #   internal
 #   noop
-#   ldap  NOT FREE FOR COMMERCIAL USE
+#   ldap
 
 # Authz
-#   ldap  NOT FREE FOR COMMERCIAL USE
+#   ldap
 #   noop
 
 searchguard:
@@ -59,7 +59,7 @@ searchguard:
     # Set filtered_alias_mode to 'nowarn' to allow more than 2 filtered aliases per index silently
     #filtered_alias_mode: warn
     #kibana:
-      # Kibana multitenancy - NOT FREE FOR COMMERCIAL USE
+      # Kibana multitenancy
       # see https://github.com/floragunncom/search-guard-docs/blob/master/multitenancy.md
       # To make this work you need to install https://github.com/floragunncom/search-guard-module-kibana-multitenancy/wiki
       #multitenancy_enabled: true
@@ -85,7 +85,7 @@ searchguard:
         transport_enabled: false
         order: 6
         http_authenticator:
-          type: kerberos # NOT FREE FOR COMMERCIAL USE
+          type: kerberos
           challenge: true
           config:
             # If true a lot of kerberos/security related debugging output will be logged to standard out
@@ -150,7 +150,7 @@ searchguard:
           challenge: false
         authentication_backend:
           # LDAP authentication backend (authenticate users against a LDAP or Active Directory)
-          type: ldap # NOT FREE FOR COMMERCIAL USE
+          type: ldap
           config:
             # enable ldaps
             enable_ssl: false
@@ -176,7 +176,7 @@ searchguard:
         transport_enabled: false
         authorization_backend:
           # LDAP authorization backend (gather roles from a LDAP or Active Directory, you have to configure the above LDAP authentication backend settings too)
-          type: ldap # NOT FREE FOR COMMERCIAL USE
+          type: ldap
           config:
             # enable ldaps
             enable_ssl: false
@@ -217,5 +217,5 @@ searchguard:
       roles_from_another_ldap:
         enabled: false
         authorization_backend:
-          type: ldap # NOT FREE FOR COMMERCIAL USE
+          type: ldap
           #config goes here ...
index 3416d4a..8721938 100644 (file)
@@ -1,27 +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
+yf1wUdfxbhVQQq5UF8hzWB_01VVrRIkC8BaLT7NMTrmv30RsMj3lvlaX3_CnVC1emYgmiUfWnT7k
+brk0m-URJAKM8Pm6PrnOyKlx3U7NS8HVcFdKpVm_bx0CFsA3eY2NGe-D0gd35V1MohCbABZ8G2a6
+AgE7QmToHCwclXW_goK5P7lmJX1HaMVAIydMreP1m9sSR4UboRlvkH6VsMM1H1Y9ZhhXF--RkWAM
+EcIspNTQE4ef3ZvYtSzuWssGZP8Hjo4XJlXz1uCSkyczw0IR19n-lspF9S0cIMro6QqvJsyjyjRo
+UdYgxdwmQ_st4P43TZ8YEBQyE8r7VUoh_EqUx9ldilxGA0kBOQcTdtd805Kf98grXiQXeT-8UD1L
+02aLzbz8Md7f8foGS1oGLfoImdjYCzOOZs3qHmKSb6YoHY8VcBCxIEfCznYl8wLYLRsSZ0tV4SAM
+qCM_KHOM0HOZrNfSSAW5ZVZb67U9NI9SLFRV8gkmqxMspfjSLJCyHhq0D6RMECSpeAeVgoh6SWDw
+mBSXunY5ZWVzdUyEezjCcl3NqTahrlfMSV5xkfUmSNFe_WW9rIXF0vD6MHAEW62yA1OA8WoMUqp2
+VKkUzWGVGAdMvbU52D6hqmGXER44kxAHVgEwPdhQhqgk4BpjR2v9ozQ6E_xNGkSRnriNB-H6BSN0
+vZa0pNJfvmBCjwGeoyRbCJrN1grLoDHQ3_6g-IwsD3NugKp6SHxUgfiPAUMGz-J2ZdbAlU0SNQgM
+8gn6_cOaXvhqHBwh9SfT4jXyuCJru0zw3pyOjuw6fLMezvJDPvFfIgWllzc2IQ7_bufMZgCr2yAe
+O-nBzsXK8aqItzCti53sZLSM1YC6OuRaiIt2i0yTVa7koFYSFhyELqEco5cFKMs0c6SrgIxnRrBT
+x0RPXIyLdiRr76uP2wxL8KDfJ1vbCKi1xkZRchvQfm3ssgpzXVz8lnZ-HxacEhhAfGdDV56ZgRhu
+5UVQd2RdP9JVpnXRJPhVwlQeQlrIXWHp01efBPRMTZQd2lpaNqn5v5chzpi9bbM3P3-BLxnN2NID
+dv1E9Ox7MH-m3IQT9yFUi-UrDxAId4dnpgeCvyxhfnc1HJ9B71x9wmryC9PJWiKs3K-T_eC9pR4o
+eN5PUZZ7arwdMUmzqKPNAtyMqaJCWfD3GZ1KsC8OV5Ze0DRQZPeT3IHg2BUC1NGj2SdjcwaGP_zl
+uytFZWN7kQjnI4brorkO_jzjf7SEPCO7Vy2Z2vikIv7O8bSWZWDGYCcxUoYigFYcjZFirRYr3Yvl
+YZU-F_qh6ZvrVxStSpz6iYDAzPW9v4ZyLSHyWe5H2AN89uRdnvag1769KpjsmGVYbn5jabgCJFs8
+EL7rxymrXri5cKsGH8XC1E0a-kP6vvhdHJhx5eFsFmKJaWh3RCJ8_I5CSzSRsK8JvE1Z6nGFn_SI
+dpeNjf66lbm4y68loUh5Q4BDce3YaCT1gHmluBzXnv1vFzuvJ2jcVyq-nUDjdTqvM9okW8Prmt7l
+ttQ3MVZI4rd-tXJfV4lxaI6wF4LIwiMJmY2tiCHoJ5nbLfHvMG7G5K1NAbizPltQxURPiMPZeCDZ
+15SXI9vdCR-FyQikzp1hUUMMqz231-6BDDTKMOXpicQRQ0CHpEfxY4Rq3mu0QmRi-EIs6JAzfuLi
+ba7fbfHnkhl3GWkj0CVZD8uDbzJceSTHICqVt-3qECUSG3ZfsuebWAEWED_xQoXyAL7kK8fMOPwl
+m6qEk4z7boiJSrcQ2ZIdyPs2bZNvlv4wYg0F3BhFf2HeCYwR3BKXQGlDXGOAD5GuRpHHBch9JfVa
+iUbvCEF23mee633C_K4zCaaVR9UqXMefzqFxSsobMp3heo3eIcQzLhe2SL2xpI9TbsvN2N4c9UMk
+_TnQBHiYBgPxtB_j8bnVu7C__lTTpPKYLpUPxgWEIzljZzbkF37QQ1XtAc2EzcOi2FT4qsjlNgPw
+PbL6ZihWEYZrZUilTSLzzjcQDLzoaF6BL2LOOS-Uju-B7COhcSMc0JLYOob6RDBE9T6HUMuZ
index 023e2ea..5737e48 100644 (file)
Binary files a/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 and b/kubernetes/aai/charts/aai-resources/resources/config/aaf/org.onap.aai.p12 differ
index 78e4e71..59593a5 100644 (file)
@@ -2,13 +2,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_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, 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_keystore_password=enc:nF3D1h00vVoLZkCnFtTCJAiH6maEiA3933rI3ctap9Ggjlm2SMg_dxk6ui9iiDwr
+#cadi_key_password=enc:9xs_lJ9QQRDoMcHqLbGg40-gefGrw-sLMjWL40ejbyqdC7Jt_pQfY6ajBLGcbLuL
 cadi_alias=aai@aai.onap.org
 cadi_truststore=/opt/app/aai-resources/resources/aaf/truststoreONAPall.jks
-cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2
+cadi_truststore_password=enc:8BxmWFFRI9wcf2jVixnfdK2GPI4veaXofZ65fcYThHv
 cadi_loglevel=INFO
 cadi_bath_convert=/opt/app/aai-resources/resources/aaf/bath_config.csv
index 0a46c48..9fe4c17 100644 (file)
@@ -81,6 +81,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/cloud-infrastructure"
           },
+          {
+              "serviceName": "_aai-cloudInfrastructure",
+              "version": "v15",
+              "url": "/aai/v15/cloud-infrastructure",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/cloud-infrastructure"
+          },
+          {
+              "serviceName": "_aai-cloudInfrastructure",
+              "version": "v16",
+              "url": "/aai/v16/cloud-infrastructure",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/cloud-infrastructure"
+          },
           {
               "serviceName": "_aai-business",
               "version": "v11",
@@ -125,6 +147,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/business"
           },
+          {
+              "serviceName": "_aai-business",
+              "version": "v15",
+              "url": "/aai/v15/business",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/business"
+          },
+          {
+              "serviceName": "_aai-business",
+              "version": "v16",
+              "url": "/aai/v16/business",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/business"
+          },
           {
               "serviceName": "_aai-actions",
               "version": "v11",
@@ -169,6 +213,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/actions"
           },
+          {
+              "serviceName": "_aai-actions",
+              "version": "v15",
+              "url": "/aai/v15/actions",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/actions"
+          },
+          {
+              "serviceName": "_aai-actions",
+              "version": "v16",
+              "url": "/aai/v16/actions",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/actions"
+          },
           {
               "serviceName": "_aai-service-design-and-creation",
               "version": "v11",
@@ -212,6 +278,28 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1",
               "path": "/aai/v14/service-design-and-creation"
+          },
+           {
+              "serviceName": "_aai-service-design-and-creation",
+              "version": "v15",
+              "url": "/aai/v15/service-design-and-creation",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/service-design-and-creation"
+          },
+          {
+              "serviceName": "_aai-service-design-and-creation",
+              "version": "v16",
+              "url": "/aai/v16/service-design-and-creation",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/service-design-and-creation"
           },
           {
               "serviceName": "_aai-network",
@@ -257,6 +345,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/network"
           },
+          {
+              "serviceName": "_aai-network",
+              "version": "v15",
+              "url": "/aai/v15/network",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/network"
+          },
+          {
+              "serviceName": "_aai-network",
+              "version": "v16",
+              "url": "/aai/v16/network",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/network"
+          },
           {
               "serviceName": "_aai-externalSystem",
               "version": "v11",
@@ -301,6 +411,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/external-system"
           },
+          {
+              "serviceName": "_aai-externalSystem",
+              "version": "v15",
+              "url": "/aai/v15/external-system",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/external-system"
+          },
+          {
+              "serviceName": "_aai-externalSystem",
+              "version": "v16",
+              "url": "/aai/v16/external-system",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/external-system"
+          },
           {
               "serviceName": "aai-cloudInfrastructure",
               "version": "v11",
@@ -341,6 +473,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-cloudInfrastructure",
+              "version": "v15",
+              "url": "/aai/v15/cloud-infrastructure",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-cloudInfrastructure",
+              "version": "v16",
+              "url": "/aai/v16/cloud-infrastructure",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-business",
               "version": "v11",
@@ -381,6 +533,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-business",
+              "version": "v15",
+              "url": "/aai/v15/business",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-business",
+              "version": "v16",
+              "url": "/aai/v16/business",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-actions",
               "version": "v11",
@@ -421,6 +593,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-actions",
+              "version": "v15",
+              "url": "/aai/v15/actions",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-actions",
+              "version": "v16",
+              "url": "/aai/v16/actions",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-service-design-and-creation",
               "version": "v11",
@@ -461,6 +653,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-service-design-and-creation",
+              "version": "v15",
+              "url": "/aai/v15/service-design-and-creation",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-service-design-and-creation",
+              "version": "v16",
+              "url": "/aai/v16/service-design-and-creation",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-network",
               "version": "v11",
@@ -501,6 +713,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-network",
+              "version": "v15",
+              "url": "/aai/v15/network",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-network",
+              "version": "v16",
+              "url": "/aai/v16/network",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-externalSystem",
               "version": "v11",
@@ -540,6 +772,26 @@ spec:
               "enable_ssl": true,
               "lb_policy":"ip_hash",
               "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-externalSystem",
+              "version": "v15",
+              "url": "/aai/v15/external-system",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-externalSystem",
+              "version": "v16",
+              "url": "/aai/v16/external-system",
+              "protocol": "REST",
+              "port": "8447",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
           }
           ]'
     spec:
index bd9a85f..38a19d3 100644 (file)
@@ -53,7 +53,7 @@ spec:
         - mountPath: /opt/app/aai-schema-service/resources/etc/appprops/aaiconfig.properties
           name: aaiconfig-conf
           subPath: aaiconfig.properties
-        - mountPath: /opt/aai/logroot/AAI-SCHEMA-SERVICE
+        - mountPath: /opt/aai/logroot/AAI-SS
           name: {{ include "common.fullname" . }}-logs
         - mountPath: /opt/app/aai-schema-service/resources/logback.xml
           name: {{ include "common.fullname" . }}-log-conf
index 3416d4a..8721938 100644 (file)
@@ -1,27 +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
+yf1wUdfxbhVQQq5UF8hzWB_01VVrRIkC8BaLT7NMTrmv30RsMj3lvlaX3_CnVC1emYgmiUfWnT7k
+brk0m-URJAKM8Pm6PrnOyKlx3U7NS8HVcFdKpVm_bx0CFsA3eY2NGe-D0gd35V1MohCbABZ8G2a6
+AgE7QmToHCwclXW_goK5P7lmJX1HaMVAIydMreP1m9sSR4UboRlvkH6VsMM1H1Y9ZhhXF--RkWAM
+EcIspNTQE4ef3ZvYtSzuWssGZP8Hjo4XJlXz1uCSkyczw0IR19n-lspF9S0cIMro6QqvJsyjyjRo
+UdYgxdwmQ_st4P43TZ8YEBQyE8r7VUoh_EqUx9ldilxGA0kBOQcTdtd805Kf98grXiQXeT-8UD1L
+02aLzbz8Md7f8foGS1oGLfoImdjYCzOOZs3qHmKSb6YoHY8VcBCxIEfCznYl8wLYLRsSZ0tV4SAM
+qCM_KHOM0HOZrNfSSAW5ZVZb67U9NI9SLFRV8gkmqxMspfjSLJCyHhq0D6RMECSpeAeVgoh6SWDw
+mBSXunY5ZWVzdUyEezjCcl3NqTahrlfMSV5xkfUmSNFe_WW9rIXF0vD6MHAEW62yA1OA8WoMUqp2
+VKkUzWGVGAdMvbU52D6hqmGXER44kxAHVgEwPdhQhqgk4BpjR2v9ozQ6E_xNGkSRnriNB-H6BSN0
+vZa0pNJfvmBCjwGeoyRbCJrN1grLoDHQ3_6g-IwsD3NugKp6SHxUgfiPAUMGz-J2ZdbAlU0SNQgM
+8gn6_cOaXvhqHBwh9SfT4jXyuCJru0zw3pyOjuw6fLMezvJDPvFfIgWllzc2IQ7_bufMZgCr2yAe
+O-nBzsXK8aqItzCti53sZLSM1YC6OuRaiIt2i0yTVa7koFYSFhyELqEco5cFKMs0c6SrgIxnRrBT
+x0RPXIyLdiRr76uP2wxL8KDfJ1vbCKi1xkZRchvQfm3ssgpzXVz8lnZ-HxacEhhAfGdDV56ZgRhu
+5UVQd2RdP9JVpnXRJPhVwlQeQlrIXWHp01efBPRMTZQd2lpaNqn5v5chzpi9bbM3P3-BLxnN2NID
+dv1E9Ox7MH-m3IQT9yFUi-UrDxAId4dnpgeCvyxhfnc1HJ9B71x9wmryC9PJWiKs3K-T_eC9pR4o
+eN5PUZZ7arwdMUmzqKPNAtyMqaJCWfD3GZ1KsC8OV5Ze0DRQZPeT3IHg2BUC1NGj2SdjcwaGP_zl
+uytFZWN7kQjnI4brorkO_jzjf7SEPCO7Vy2Z2vikIv7O8bSWZWDGYCcxUoYigFYcjZFirRYr3Yvl
+YZU-F_qh6ZvrVxStSpz6iYDAzPW9v4ZyLSHyWe5H2AN89uRdnvag1769KpjsmGVYbn5jabgCJFs8
+EL7rxymrXri5cKsGH8XC1E0a-kP6vvhdHJhx5eFsFmKJaWh3RCJ8_I5CSzSRsK8JvE1Z6nGFn_SI
+dpeNjf66lbm4y68loUh5Q4BDce3YaCT1gHmluBzXnv1vFzuvJ2jcVyq-nUDjdTqvM9okW8Prmt7l
+ttQ3MVZI4rd-tXJfV4lxaI6wF4LIwiMJmY2tiCHoJ5nbLfHvMG7G5K1NAbizPltQxURPiMPZeCDZ
+15SXI9vdCR-FyQikzp1hUUMMqz231-6BDDTKMOXpicQRQ0CHpEfxY4Rq3mu0QmRi-EIs6JAzfuLi
+ba7fbfHnkhl3GWkj0CVZD8uDbzJceSTHICqVt-3qECUSG3ZfsuebWAEWED_xQoXyAL7kK8fMOPwl
+m6qEk4z7boiJSrcQ2ZIdyPs2bZNvlv4wYg0F3BhFf2HeCYwR3BKXQGlDXGOAD5GuRpHHBch9JfVa
+iUbvCEF23mee633C_K4zCaaVR9UqXMefzqFxSsobMp3heo3eIcQzLhe2SL2xpI9TbsvN2N4c9UMk
+_TnQBHiYBgPxtB_j8bnVu7C__lTTpPKYLpUPxgWEIzljZzbkF37QQ1XtAc2EzcOi2FT4qsjlNgPw
+PbL6ZihWEYZrZUilTSLzzjcQDLzoaF6BL2LOOS-Uju-B7COhcSMc0JLYOob6RDBE9T6HUMuZ
index 023e2ea..5737e48 100644 (file)
Binary files a/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 and b/kubernetes/aai/charts/aai-traversal/resources/config/aaf/org.onap.aai.p12 differ
index 7cb0d49..0f27dbd 100644 (file)
@@ -2,13 +2,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_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, 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_keystore_password=enc:nF3D1h00vVoLZkCnFtTCJAiH6maEiA3933rI3ctap9Ggjlm2SMg_dxk6ui9iiDwr
+#cadi_key_password=enc:9xs_lJ9QQRDoMcHqLbGg40-gefGrw-sLMjWL40ejbyqdC7Jt_pQfY6ajBLGcbLuL
 cadi_alias=aai@aai.onap.org
 cadi_truststore=/opt/app/aai-traversal/resources/aaf/truststoreONAPall.jks
-cadi_truststore_password=enc:s77wlnZFoQ08NhnU3OSeWO6uKgRwC6sAK-wTvVubNz2
+cadi_truststore_password=enc:8BxmWFFRI9wcf2jVixnfdK2GPI4veaXofZ65fcYThHv
 cadi_loglevel=INFO
 cadi_bath_convert=/opt/app/aai-traversal/resources/aaf/bath_config.csv
index 4f97f4a..be4b863 100644 (file)
@@ -81,6 +81,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/search/generic-query"
           },
+          {
+              "serviceName": "_aai-generic-query",
+              "version": "v15",
+              "url": "/aai/v15/search/generic-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/search/generic-query"
+          },
+          {
+              "serviceName": "_aai-generic-query",
+              "version": "v16",
+              "url": "/aai/v16/search/generic-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/search/generic-query"
+          },
           {
               "serviceName": "_aai-nodes-query",
               "version": "v11",
@@ -125,6 +147,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/search/nodes-query"
           },
+          {
+              "serviceName": "_aai-nodes-query",
+              "version": "v15",
+              "url": "/aai/v15/search/nodes-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/search/nodes-query"
+          },
+          {
+              "serviceName": "_aai-nodes-query",
+              "version": "v16",
+              "url": "/aai/v16/search/nodes-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/search/nodes-query"
+          },
           {
               "serviceName": "_aai-query",
               "version": "v11",
@@ -169,6 +213,28 @@ spec:
               "visualRange": "1",
               "path": "/aai/v14/query"
           },
+          {
+              "serviceName": "_aai-query",
+              "version": "v15",
+              "url": "/aai/v15/query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v15/query"
+          },
+          {
+              "serviceName": "_aai-query",
+              "version": "v16",
+              "url": "/aai/v16/query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1",
+              "path": "/aai/v16/query"
+          },
           {
               "serviceName": "_aai-named-query",
               "url": "/aai/search",
@@ -219,6 +285,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-generic-query",
+              "version": "v15",
+              "url": "/aai/v15/search/generic-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-generic-query",
+              "version": "v16",
+              "url": "/aai/v16/search/generic-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-nodes-query",
               "version": "v11",
@@ -259,6 +345,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-nodes-query",
+              "version": "v15",
+              "url": "/aai/v15/search/nodes-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-nodes-query",
+              "version": "v16",
+              "url": "/aai/v16/search/nodes-query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-query",
               "version": "v11",
@@ -299,6 +405,26 @@ spec:
               "lb_policy":"ip_hash",
               "visualRange": "1"
           },
+          {
+              "serviceName": "aai-query",
+              "version": "v15",
+              "url": "/aai/v15/query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
+          {
+              "serviceName": "aai-query",
+              "version": "v16",
+              "url": "/aai/v16/query",
+              "protocol": "REST",
+              "port": "8446",
+              "enable_ssl": true,
+              "lb_policy":"ip_hash",
+              "visualRange": "1"
+          },
           {
               "serviceName": "aai-named-query",
               "url": "/aai/search",
index 83cae95..d50b33e 100644 (file)
Binary files a/kubernetes/aai/resources/config/aai/aai_keystore and b/kubernetes/aai/resources/config/aai/aai_keystore differ
diff --git a/kubernetes/aai/resources/config/haproxy/aai.pem b/kubernetes/aai/resources/config/haproxy/aai.pem
new file mode 100644 (file)
index 0000000..e6dfd6a
--- /dev/null
@@ -0,0 +1,82 @@
+-----BEGIN CERTIFICATE-----
+MIIFATCCA+mgAwIBAgIIWY+5kgf/UH8wDQYJKoZIhvcNAQELBQAwRzELMAkGA1UE
+BhMCVVMxDTALBgNVBAoMBE9OQVAxDjAMBgNVBAsMBU9TQUFGMRkwFwYDVQQDDBBp
+bnRlcm1lZGlhdGVDQV85MB4XDTE5MDMyNjAzMjc1MloXDTIwMDMyNjAzMjc1Mlow
+azERMA8GA1UEAwwIYWFpLm9uYXAxDzANBgkqhkiG9w0BCQEWADEZMBcGA1UECwwQ
+YWFpQGFhaS5vbmFwLm9yZzEOMAwGA1UECwwFT1NBQUYxDTALBgNVBAoMBE9OQVAx
+CzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuyZj
+PvQrgB2bhyE3kpSH6OjXigs/+MfmV4eOrEwmMzQ1lWjItu2z5WY9xNGCky85G3Pr
+qmCfT/qNPXd0W5kEujYlL0QnvrCa77WP3kSSu0kMKdUJV3S90Rp1SOhGFU/WroAQ
+XvlzyBCunqQ9/F/L6mS8dLotUbkGIQlojAYOukWOT/+ogMMxzpxtb91QR+Wl4YeY
+yzX//0rls/6nEKzCh2STHJuTkXqL0kod+KY08unpvMX2J/SEeHdWLS8Gsuus6oqM
+r4bFyquua/U1ApxEMn0/agY58V75dF5CRPJRYrqqf9I6DBr0SntHv6pzMhokjewl
+ukkrEsvIOkqEvIcE+QIDAQABo4IByzCCAccwCQYDVR0TBAIwADAOBgNVHQ8BAf8E
+BAMCBeAwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMFQGA1UdIwRN
+MEuAFIH3mVsQuciM3vNSXupOaaBDPqzdoTCkLjAsMQ4wDAYDVQQLDAVPU0FBRjEN
+MAsGA1UECgwET05BUDELMAkGA1UEBhMCVVOCAQcwHQYDVR0OBBYEFFziBN1nFOnS
+Sp7XkxOuzVNR1GFLMIIBEQYDVR0RBIIBCDCCAQSCCGFhaS5vbmFwghJhYWktc3Bh
+cmt5LWJlLm9uYXCCG2FhaS5hcGkuc2ltcGxlZGVtby5vbmFwLm9yZ4IlYWFpLmVs
+YXN0aWNzZWFyY2guc2ltcGxlZGVtby5vbmFwLm9yZ4IlYWFpLmdyZW1saW5zZXJ2
+ZXIuc2ltcGxlZGVtby5vbmFwLm9yZ4IdYWFpLmhiYXNlLnNpbXBsZWRlbW8ub25h
+cC5vcmeCJWFhaS5zZWFyY2hzZXJ2aWNlLnNpbXBsZWRlbW8ub25hcC5vcmeCF2Fh
+aS5zaW1wbGVkZW1vLm9uYXAub3JnghphYWkudWkuc2ltcGxlZGVtby5vbmFwLm9y
+ZzANBgkqhkiG9w0BAQsFAAOCAQEAlqwzbZv/0uxVPmFJMB2t5B2nw3GNojLwxnHh
+UVKzrLbDDpM36CkY8uX9kYAaf/Eg8eA5Jp0T9lGCheg0TNHM9OBqyyvDPjewZ5jO
+N0xooRs7gh4bYtQaWIjCOg6bXg+mHkW4VVbpewMJYivGpJZQ76LauuHtg1OA688s
+fy4SGrbC902OoPZ8zJlINOyljqSa+uNwvv6bg9Iqnuq/jUaFpKOYVUkMzw/ImVzy
+3kXH/hY+nz4FNvMPlULgwxskOBRp90a5VWBC48cNzg4aNtanVz6lPAr/AVD1R6jt
+ZDEd3Ww8nTlRKjUryxgoorqo8ThctZscWBpHMRW4B/LgGEYtRA==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIEdTCCAl2gAwIBAgIBBzANBgkqhkiG9w0BAQsFADAsMQ4wDAYDVQQLDAVPU0FB
+RjENMAsGA1UECgwET05BUDELMAkGA1UEBhMCVVMwHhcNMTgwODE3MTg1MTM3WhcN
+MjMwODE3MTg1MTM3WjBHMQswCQYDVQQGEwJVUzENMAsGA1UECgwET05BUDEOMAwG
+A1UECwwFT1NBQUYxGTAXBgNVBAMMEGludGVybWVkaWF0ZUNBXzkwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCv0HHUkba3uNtNI3jPKimUcd6RNwmhSCJL
+neMWpnjqp5/A+HCKyNsEaT4y177hNLmCm/aMm1u2JIfikc+8wEqLCSBBPz+P0h+d
+o+sZ7U+4oeQizdYYpEdzHJ2SieHHa8vtu80rU3nO2NEIkuYC20HcKSEtl8fFKsk3
+nqlhY+tGfYJPTXcDOQAO40BTcgat3C3uIJHkWJJ4RivunE4LEuRv9QyKgAw7rkJV
+v+f7guqpZlXy6dzAkuU7XULWcgo55MkZlssoiErMvEZJad5aWKvRY3g7qUjaQ6wO
+15wOAUoRBW96eeZZbytgn8kybcBy++Ue49gPtgm1MF/KlAsp0MD5AgMBAAGjgYYw
+gYMwHQYDVR0OBBYEFIH3mVsQuciM3vNSXupOaaBDPqzdMB8GA1UdIwQYMBaAFFNV
+M/JL69BRscF4msEoMXvv6u1JMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/
+BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0B
+AQsFAAOCAgEADxNymiCNr2e37iLReoaxKmZvwox0cTiNAaj7iafRzmwIoY3VXO8Q
+ix5IYcp4FaQ7fV1jyp/AmaSnyHf6Osl0sx8PxsQkO7ALttxKUrjfbvNSVUA2C/vl
+u5m7UVJLIUtFDZBWanzUSmkTsYLHpiANFQKd2c/cU1qXcyzgJVFEFVyyHNkF7Is+
++pjG9M1hwQHOoTnEuU013P7X1mHek+RXEfhJWwe7UsZnBKZaZKbQZu7hEtqKWYp/
+QsHgnjoLYXsh0WD5rz/mBxdTdDLGpFqWDzDqb8rsYnqBzoowvsasV8X8OSkov0Ht
+8Yka0ckFH9yf8j1Cwmbl6ttuonOhky3N/gwLEozuhy7TPcZGVyzevF70kXy7g1CX
+kpFGJyEHXoprlNi8FR4I+NFzbDe6a2cFow1JN19AJ9Z5Rk5m7M0mQPaQ4RcikjB3
+aoLsASCJTm1OpOFHfxEKiBW4Lsp3Uc5/Rb9ZNbfLrwqWZRM7buW1e3ekLqntgbky
+uKKISHqVJuw/vXHl1jNibEo9+JuQ88VNuAcm7WpGUogeCa2iAlPTckPZei+MwZ8w
+tpvxTyYlZEC8DWzY1VC29+W2N5cvh01e2E3Ql08W1zL63dqrgdEZ3VWjzooYi4ep
+BmMXTvouW+Flyvcw/0oTcfN0biDIt0mCkZ5CQVjfGL9DTOYteR5hw+k=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEAuyZjPvQrgB2bhyE3kpSH6OjXigs/+MfmV4eOrEwmMzQ1lWjI
+tu2z5WY9xNGCky85G3PrqmCfT/qNPXd0W5kEujYlL0QnvrCa77WP3kSSu0kMKdUJ
+V3S90Rp1SOhGFU/WroAQXvlzyBCunqQ9/F/L6mS8dLotUbkGIQlojAYOukWOT/+o
+gMMxzpxtb91QR+Wl4YeYyzX//0rls/6nEKzCh2STHJuTkXqL0kod+KY08unpvMX2
+J/SEeHdWLS8Gsuus6oqMr4bFyquua/U1ApxEMn0/agY58V75dF5CRPJRYrqqf9I6
+DBr0SntHv6pzMhokjewlukkrEsvIOkqEvIcE+QIDAQABAoIBAEe1OrvJZM2PCqOp
+N5jjbnvwk32iN93EAl8xYppkBxMBgzJ/VsC4rYBNP4elWym4I2KAdSDwKrrDXtDZ
+b20VYXlT+8VzkOMA2izU3Y4lqi82mwGATjcDVSPExoGr9gZ+c9yi1yL8478ZnT7N
+4a5Mql5iQM9c8rZodY+9AiD8xTHbgXbaGmBsDhTxT/HPDsoacR/SHMh3XowbhAcs
+eXAe+NdDtLcG6WOEqi/EhkagkWvsecIBoy888Ffbxa5h/DLEaCCoC3Dw1tWFX8KM
+86sC9sQKDVRVKpKs2/9MGl9LoPi9jNDrOP6/Zx3T4k479ozGp/0G70LzmUcih72j
+MUbr4f0CgYEA/AV0yOLZh0i2K53jpv3e8RDJkOBFuLb0ZZVdGkVYHncw9/WY070E
+TJi0B51RAJtdSksAWa6o+1+VaJKQHtMZpABwMWDMRQUqdC+o+knONRpdCHwxXnSl
+gvujFyYJhURKDr42z0xjbQrHaEZRuVJ6tzJQhFtE66G01ngREhDPbUsCgYEAvhrB
+A/IOQpPaHcfU2ik80VE0KU9N4Ez50ZlheEbBDVTrMWzuFy8p9niNSfDKC7s5aqlP
+DgDvTD80D8Zw6+yT/aDU5iEf5vMdKc1pnlr8jJoCNSvuyJZ40kDSehsBOKC+YN3g
+b6xaYWIcH3mwwoLZO9XFsN5KAg/dSMJED8AGAEsCgYAduMMCIgbHdqLNWAyOGCif
+w3wSEvEGDMWb6VaWj5EJ3sKuq48/gW4tXmD0+O+ho7EH3vqGmRuisa4cLBTFHd5L
+QiX5HNJaXXaZRzmlcujXyGkqZAMqgZU3clfUlg7PYbNeM76hCgA7zuaffJOMyJZi
+XpOyWFUzeNmr5XMV71eXKwKBgEtgzFvGJMVdXsUkMU/3vfe5XRdsLJLdssjbKnzI
+gU/J9h/480caGmdyUYOaCGMyb4fNbl09HaV8AianJqtFeUC9/uzpAX9PsqaanmB9
+71nIz0tKCjpa/7lOnqZwAsHzasl58L4W9xdaEZChbecSfxRspSCGY44BwFpTPS2J
+lFeVAoGAFOetqKStyEy+qruEOMk+lWwaKLGZ4hLk7qmFochxwrXgx7hcZ4Zrqkv9
+7qyQtbAalFiCHGmLBdSb+GLfD/1pPUA3wJoLo/I3f4g9c7cw7m7r8MdWPDXSL2Vk
+vM97Syv92KQUBl8te7S3+bDBNklgb+KwRqSk3QRAl8ARWEjg8Kk=
+-----END RSA PRIVATE KEY-----
index 17680a0..8c10730 100644 (file)
@@ -70,6 +70,9 @@ spec:
           subPath: haproxy.cfg
         {{ end }}
           name: haproxy-cfg
+        - mountPath: /etc/ssl/private/aai.pem
+          name: aai-pem
+          subPath: aai.pem
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
@@ -121,5 +124,8 @@ spec:
         - name: haproxy-cfg
           configMap:
             name: aai-deployment-configmap
+        - name: aai-pem
+          secret:
+            secretName: aai-haproxy-secret
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/appc/charts/appc-ansible-server/templates/pv.yaml b/kubernetes/appc/charts/appc-ansible-server/templates/pv.yaml
new file mode 100644 (file)
index 0000000..25257ea
--- /dev/null
@@ -0,0 +1,41 @@
+{{/*
+# Copyright © 2018 Amdocs, AT&T, Bell Canada
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+{{- $global := . }}
+{{- 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" $global }}-data{{$i}}
+  namespace: {{ include "common.namespace" $global }}
+  labels:
+    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: {{ $global.Values.persistence.size}}
+  accessModes:
+    - {{ $global.Values.persistence.accessMode }}
+  storageClassName: "{{ include "common.fullname" $global }}-data"
+  persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }}
+  hostPath:
+    path: {{ $global.Values.global.persistence.mountPath | default $global.Values.persistence.mountPath }}/{{ $global.Release.Name }}/{{ $global.Values.persistence.mountSubPath }}{{$i}}
+---
+{{- end -}}
+{{- end -}}
@@ -12,8 +12,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: extensions/v1beta1
-kind: Deployment
+apiVersion: apps/v1beta1
+kind: StatefulSet
 metadata:
   name: {{ include "common.fullname" . }}
   namespace: {{ include "common.namespace" . }}
@@ -74,6 +74,8 @@ spec:
           - mountPath: {{ .Values.config.configDir }}/RestServer_config
             name: config
             subPath: RestServer_config
+          - mountPath: {{ .Values.persistence.playbookPath }}
+            name: {{ include "common.fullname" . }}-data
           resources:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -92,5 +94,21 @@ spec:
           configMap:
             name: {{ include "common.fullname" . }}
             defaultMode: 0644
-      imagePullSecrets:
+{{ if not .Values.persistence.enabled }}
+        - name: {{ include "common.fullname" . }}-data
+          emptyDir: {}
+{{ else }}
+  volumeClaimTemplates:
+  - metadata:
+      name: {{ include "common.fullname" . }}-data
+      labels:
+        name: {{ include "common.fullname" . }}
+    spec:
+      accessModes: [ {{ .Values.persistence.accessMode }} ]
+      storageClassName: {{ include "common.fullname" . }}-data
+      resources:
+        requests:
+          storage: {{ .Values.persistence.size }}
+{{ end }}
+    imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index b06d70f..1e15919 100644 (file)
@@ -39,7 +39,7 @@ debugEnabled: false
 config:
   appcChartName: appc
   mysqlServiceName: appc-dbhost
-
+  configDir: /opt/onap/ccsdk
 
 # default number of instances
 replicaCount: 1
@@ -66,6 +66,30 @@ service:
   portName: appc-ansible-server
   internalPort: 8000
   externalPort: 8000
+  nfsprovisionerPrefix: appc
+  disableNfsProvisioner: true
+
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+  volumeReclaimPolicy: Retain
+
+  ## database data Persistent Volume Storage Class
+  ## If defined, storageClassName: <storageClass>
+  ## If set to "-", storageClassName: "", which disables dynamic provisioning
+  ## If undefined (the default) or set to null, no storageClassName spec is
+  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
+  ##   GKE, AWS & OpenStack)
+  accessMode: ReadWriteMany
+  size: 1Gi
+  mountPath: /dockerdata-nfs
+  mountSubPath: appc/ansible
+  playbookPath: /home/ansible
 
 ingress:
   enabled: false
index 43920b3..f25e40b 100644 (file)
@@ -32,7 +32,7 @@ busyboxImage: library/busybox:latest
 
 # application image
 loggingRepository: docker.elastic.co
-image: elasticsearch/elasticsearch-oss:6.1.3
+image: elasticsearch/elasticsearch-oss:6.6.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 317b428..b4b5071 100644 (file)
@@ -57,13 +57,13 @@ filter {
         drop { }
     }
 
-    if [http_request_failure] or [@metadata][code] != "200" {
+    if [http_request_failure] or [@metadata][code] != 200 {
        mutate {
                   add_tag => [ "error" ]
        }
     }
 
-    if "dmaap_source" in [tags] {
+    if "dmaap_source" in [@metadata][request][tags] {
         #
         # Dmaap provides a json list, whose items are Strings containing the event
         # provided to Dmaap, which itself is an escaped json.
@@ -76,14 +76,7 @@ filter {
             source => "[message]"
             target => "message"
         }
-        ruby {
-            code => "
-            for ev in event.get('message', [])
-                ev.set('@metadata', event.get('@metadata'))
-            end
-            "
-        }
-       
+
         split {
             field => "message"
         }
@@ -194,7 +187,7 @@ filter {
     }
 
 
-    if "error" not in [tags] {
+    if "error" not in [@metadata][request][tags]{
         #
         # Creating data for a secondary index
         #
@@ -203,7 +196,7 @@ filter {
             add_tag => [ "event-cl-aggs" ]
         }
         
-        if  "event-cl-aggs" in [tags] {
+        if  "event-cl-aggs" in [@metadata][request][tags]{
             #
             # we only need a few fields for aggregations; remove all fields from clone except :
             #   vmName,vnfName,vnfType,requestID,closedLoopAlarmStart, closedLoopControlName,closedLoopAlarmEnd,abated,nbrDmaapevents,finalFailure
index 6f614a7..a6beca2 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright © 2017 AT&T, Amdocs, Bell Canada
+/* Copyright © 2017-2019 AT&T, Amdocs, Bell Canada
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -122,14 +122,6 @@ CREATE TABLE event (
   PRIMARY KEY (event_id)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
 
-CREATE TABLE clds_service_cache (
-  invariant_service_id VARCHAR(36) NOT NULL,
-  service_id VARCHAR(36) NULL,
-  timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-  object_data MEDIUMBLOB NULL,
-  PRIMARY KEY (invariant_service_id)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;
-
 CREATE TABLE IF NOT EXISTS tosca_model (
   tosca_model_id VARCHAR(36) NOT NULL,
   tosca_model_name VARCHAR(80) NOT NULL,
diff --git a/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/create-tables.sql b/kubernetes/clamp/charts/mariadb/resources/config/mariadb/docker-entrypoint-initdb.d/bulkload/create-tables.sql
new file mode 100644 (file)
index 0000000..8e51f62
--- /dev/null
@@ -0,0 +1,84 @@
+/* Copyright © 2019 AT&T
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*       http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+    create table hibernate_sequence (
+       next_val bigint
+    ) engine=InnoDB;
+
+    insert into hibernate_sequence values ( 1 );
+
+    create table loop_logs (
+       id bigint not null,
+        log_instant datetime(6) not null,
+        log_type varchar(255) not null,
+        message varchar(255) not null,
+        loop_id varchar(255) not null,
+        primary key (id)
+    ) engine=InnoDB;
+
+    create table loops (
+       name varchar(255) not null,
+        blueprint_yaml MEDIUMTEXT not null,
+        dcae_blueprint_id varchar(255),
+        dcae_deployment_id varchar(255),
+        dcae_deployment_status_url varchar(255),
+        global_properties_json json,
+        last_computed_state varchar(255) not null,
+        model_properties_json json,
+        svg_representation MEDIUMTEXT,
+        primary key (name)
+    ) engine=InnoDB;
+
+    create table loops_microservicepolicies (
+       loop_id varchar(255) not null,
+        microservicepolicy_id varchar(255) not null,
+        primary key (loop_id, microservicepolicy_id)
+    ) engine=InnoDB;
+
+    create table micro_service_policies (
+       name varchar(255) not null,
+        json_representation json not null,
+        model_type varchar(255) not null,
+        policy_tosca MEDIUMTEXT not null,
+        properties json,
+        shared bit not null,
+        primary key (name)
+    ) engine=InnoDB;
+
+    create table operational_policies (
+       name varchar(255) not null,
+        configurations_json json,
+        loop_id varchar(255) not null,
+        primary key (name)
+    ) engine=InnoDB;
+
+    alter table loop_logs
+       add constraint FK1j0cda46aickcaoxqoo34khg2
+       foreign key (loop_id)
+       references loops (name);
+
+    alter table loops_microservicepolicies
+       add constraint FKem7tp1cdlpwe28av7ef91j1yl
+       foreign key (microservicepolicy_id)
+       references micro_service_policies (name);
+
+    alter table loops_microservicepolicies
+       add constraint FKsvx91jekgdkfh34iaxtjfgebt
+       foreign key (loop_id)
+       references loops (name);
+
+    alter table operational_policies
+       add constraint FK1ddoggk9ni2bnqighv6ecmuwu
+       foreign key (loop_id)
+       references loops (name);
old mode 100644 (file)
new mode 100755 (executable)
index 1c8f3bf..0755826
@@ -7,6 +7,7 @@
 # Copyright (C) 2017 AT&T Intellectual Property. All rights
 #                             reserved.
 # Modifications Copyright © 2018 Amdocs,Bell Canada
+# Modifications Copyright © 2019 AT&T
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -25,5 +26,8 @@
 ###
 
 cd /docker-entrypoint-initdb.d/bulkload
+### Keep previous DB for now (SOON DEPRECATED)
 mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < clds-create-db-objects.sql
 mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < clds-stored-procedures.sql
+## New model creation
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -f cldsdb4 < create-tables.sql
index 13d1971..5f31c79 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2018-2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ global: # global defaults
 
 # application image
 repository: nexus3.onap.org:10001
-image: mariadb:10.1.11
+image: mariadb:10.3.12
 pullPolicy: Always
 flavor: small
 
index cb45d29..e07c904 100644 (file)
@@ -47,7 +47,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/ccsdk-dgbuilder-image:0.3.2
+image: onap/ccsdk-dgbuilder-image:0.4.2-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 19a0cf4..d6938c1 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 
 dockerHubRepository: registry.hub.docker.com
-image: library/mongo:3
+image: library/mongo:4.0.8
 pullPolicy: Always
 
 # application configuration
index 4499499..ae5f7c5 100644 (file)
@@ -74,7 +74,7 @@ spec:
             - -c
             - nodetool status | grep $POD_IP | awk '$1!="UN" { exit 1; }'
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
-          timeoutSeconds: {{ .Values.liveness.periodSeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
         lifecycle:
           preStop:
             exec:
diff --git a/kubernetes/common/nfs-provisioner/Chart.yaml b/kubernetes/common/nfs-provisioner/Chart.yaml
new file mode 100644 (file)
index 0000000..fcb69b3
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: NFS provisioner
+name: nfs-provisioner
+version: 4.0.0
diff --git a/kubernetes/common/nfs-provisioner/requirements.yaml b/kubernetes/common/nfs-provisioner/requirements.yaml
new file mode 100644 (file)
index 0000000..d175386
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
diff --git a/kubernetes/common/nfs-provisioner/templates/nfs-provisoner.yaml b/kubernetes/common/nfs-provisioner/templates/nfs-provisoner.yaml
new file mode 100644 (file)
index 0000000..58cf7a3
--- /dev/null
@@ -0,0 +1,78 @@
+{{/*
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+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:
+  strategy:
+    type: Recreate
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.fullname" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: {{ include "common.fullname" . }}
+          image: "{{ .Values.global.nfsprovisionerRepository | default .Values.nfsprovisionerRepository }}/{{ .Values.nfsprovisionerImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          ports:
+            - name: nfs
+              containerPort: {{ .Values.service.nfsPort }}
+            - name: mountd
+              containerPort: {{ .Values.service.mountdPort }}
+            - name: rpcbind
+              containerPort: {{ .Values.service.rpcbindPort }}
+            - name: rpcbind-udp
+              containerPort: {{ .Values.service.rpcbindUdpPort }}
+              protocol: UDP
+          securityContext:
+            capabilities:
+              add:
+                - DAC_READ_SEARCH
+                - SYS_RESOURCE
+          args:
+            - "-provisioner={{ include "common.namespace" . }}/nfs"
+          env:
+            - name: POD_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.podIP
+            - name: SERVICE_NAME
+              value: {{ include "common.servicename" . }}
+            - name: POD_NAMESPACE
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.namespace
+          volumeMounts:
+            - name: export-volume
+              mountPath: /export
+      {{- if .Values.affinity }}
+      affinity:
+      {{ toYaml .Values.affinity | indent 8 }}
+      {{- end }}
+      volumes:
+        - name: export-volume
+          hostPath:
+            path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}
diff --git a/kubernetes/common/nfs-provisioner/templates/service.yaml b/kubernetes/common/nfs-provisioner/templates/service.yaml
new file mode 100644 (file)
index 0000000..f9bba0f
--- /dev/null
@@ -0,0 +1,39 @@
+{{/*
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+kind: Service
+apiVersion: v1
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.fullname" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  ports:
+    - name: nfs
+      port: {{ .Values.service.nfsPort }}
+    - name: mountd
+      port: {{ .Values.service.mountdPort }}
+    - name: rpcbind
+      port: {{ .Values.service.rpcbindPort }}
+    - name: rpcbind-udp
+      port: {{ .Values.service.rpcbindUdpPort }}
+      protocol: UDP
+  selector:
+    app: {{ include "common.fullname" . }}
\ No newline at end of file
diff --git a/kubernetes/common/nfs-provisioner/values.yaml b/kubernetes/common/nfs-provisioner/values.yaml
new file mode 100644 (file)
index 0000000..687219d
--- /dev/null
@@ -0,0 +1,50 @@
+# Copyright © 2019 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
+#\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
+# Global configuration defaults.\r
+#################################################################\r
+global:\r
+  persistence:\r
+    mountPath: /dockerdata-nfs\r
+\r
+#################################################################\r
+# Application configuration defaults.\r
+#################################################################\r
+\r
+dockerHubRepository: registry.hub.docker.com\r
+pullPolicy: Always\r
+\r
+# default number of instances\r
+\r
+nodeSelector: {}\r
+\r
+affinity: {}\r
+\r
+service:\r
+  name: nfs-provisioner\r
+  nfsPort: 2049\r
+  mountdPort: 20048\r
+  rpcbindPort: 111\r
+  rpcbindUdpPort: 111\r
+\r
+## Persist data to a persitent volume\r
+persistence:\r
+  enabled: true\r
+  mountPath: /dockerdata-nfs\r
+\r
+## NFS provisioner image properties\r
+nfsprovisionerRepository: quay.io\r
+nfsprovisionerImage: kubernetes_incubator/nfs-provisioner:v1.0.8\r
+\r
index 432a744..f77bc8f 100644 (file)
@@ -1,4 +1,4 @@
-make-dcaegen2: make-dcae-bootstrap make-dcae-cloudify-manager make-dcae-config-binding-service make-dcae-healthcheck make-dcae-redis make-dcae-servicechange-handler make-dcae-inventory-api
+make-dcaegen2: make-dcae-bootstrap make-dcae-cloudify-manager make-dcae-config-binding-service make-dcae-healthcheck make-dcae-redis make-dcae-servicechange-handler make-dcae-inventory-api make-dcae-deployment-handler make-dcae-policy-handler
 
 make-dcae-bootstrap:
        cd charts && helm dep up dcae-bootstrap && helm lint dcae-bootstrap
@@ -20,3 +20,9 @@ make-dcae-servicechange-handler:
 
 make-dcae-inventory-api:
        cd charts/dcae-servicechange-handler/charts  && helm dep up dcae-inventory-api && helm lint dcae-inventory-api
+
+make-dcae-deployment-handler:
+       cd charts && helm dep up dcae-deployment-handler && helm lint dcae-deployment-handler
+
+make-dcae-policy-handler:
+       cd charts && helm dep up dcae-policy-handler && helm lint dcae-policy-handler
diff --git a/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-dashboard-inputs.yaml b/kubernetes/dcaegen2/charts/dcae-bootstrap/resources/inputs/k8s-dashboard-inputs.yaml
new file mode 100644 (file)
index 0000000..ff2c392
--- /dev/null
@@ -0,0 +1,32 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+{{ if .Values.componentImages.dashboard }}
+dashboard_docker_image: {{ include "common.repository" . }}/{{ .Values.componentImages.dashboard }}
+{{ end }}
+external_port: {{ .Values.config.address.dashboard.port }}
+external_tls_port: {{ .Values.config.address.dashboard.portSecure }}
+database_cluster_name: {{ .Values.postgres.service.name2 }}.{{ include "common.namespace" . }}
+database_cluster_fqdn: {{ .Values.postgres.service.name2 }}.{{ include "common.namespace" . }}.{{ .Values.postgres.suffix }}
+database_name: "dashboard_pg"
+cloudify_ip: {{ .Values.config.address.cm }}
+cloudify_user: "admin"
+cloudify_password: "admin"
+consul_url:  {{ .Values.config.address.consul.host }}
+postgres_port: "5432"
+replicas: 1
index e1ae791..aa2b9a3 100644 (file)
@@ -19,3 +19,4 @@
 {{ if .Values.componentImages.snmptrap }}
 tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.snmptrap }}
 {{ end }}
+external_port: {{ .Values.config.address.snmptrap.port }}
index 078af0c..69e7cb7 100644 (file)
@@ -20,6 +20,7 @@
 tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.ves }}
 {{ end }}
 external_port : {{ .Values.config.address.ves.port }}
+external_tls_port : {{ .Values.config.address.ves.portSecure }}
 ves_other_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_OTHER_OUTPUT/"
 ves_heartbeat_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT/"
 ves_fault_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_FAULT_OUTPUT/"
index 8d525cb..d985f4f 100644 (file)
 #################################################################
 global:
   nodePortPrefix: 302
+  nodePortPrefixExt: 304
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   tlsRepository: nexus3.onap.org:10001
-  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.1-STAGING-latest
+  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.2-STAGING-latest
 
 config:
   logstashServiceName: log-ls
@@ -37,6 +38,9 @@ config:
       host: consul-server
       port: 8500
     cm: dcae-cloudify-manager
+    dashboard:
+      port: 30418
+      portSecure: 30419
     datafile_collector:
       port: 30223
       portSecure: 30262
@@ -46,8 +50,11 @@ config:
     msb_iag: msb-iag
     policy_pdp: pdp
     sdc: sdc-be
+    snmptrap:
+      port: 30470
     ves:
       port: 30235
+      portSecure: 30417
   # redisCaching is a string not a boolean!
   redisCaching: "false"
 
@@ -58,6 +65,7 @@ postgres:
     name: dcae-postgres
     name2: dcae-pg-primary
     name3: dcae-pg-replica
+  suffix: svc.cluster.local
   container:
     name:
       primary: dcae-pg-primary
@@ -81,19 +89,19 @@ postgres:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.10-STAGING-latest
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.14-STAGING-latest
 default_k8s_location: central
 
 # DCAE component images to be deployed via Cloudify Manager
 # Use to override default setting in blueprints
 componentImages:
-  datafile_collector: onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.1.1
-  holmes_rules: onap/holmes/rule-management:1.2.3
-  holmes_engine: onap/holmes/engine-management:1.2.2
-  tca: onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0
-  ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.3.1
-  snmptrap: onap/org.onap.dcaegen2.collectors.snmptrap:1.4.0
-  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.2.1-SNAPSHOT
+  dashboard: onap/org.onap.ccsdk.dashboard.ccsdk-app-os:1.1.0-SNAPSHOT-latest
+  holmes_rules: onap/holmes/rule-management:1.2.4-STAGING-latest
+  holmes_engine: onap/holmes/engine-management:1.2.3-STAGING-latest
+  tca: onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0-STAGING-latest
+  ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.4.3
+  snmptrap: onap/org.onap.dcaegen2.collectors.snmptrap:1.4.0-STAGING-latest
+  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.2.1
   hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.1.0-SNAPSHOT
 
 # Resource Limit flavor -By Default using small
index 97728fa..b8dadaa 100644 (file)
@@ -31,6 +31,12 @@ metadata:
   namespace: {{include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ .Values.multisiteConfigMapName }}
+  namespace: {{include "common.namespace" . }}
 {{ if .Values.dcae_ns }}
 ---
 apiVersion: v1
index 62eeb45..d6c58cd 100644 (file)
@@ -34,6 +34,16 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-multisite-init
+        image: {{ include "common.repository" . }}/{{ .Values.multisiteInitImage }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        args:
+          - --namespace
+          - {{ include "common.namespace" . }}
+          - --configmap
+          - {{ .Values.multisiteConfigMapName }}
+        restartPolicy: Never
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -50,10 +60,11 @@ spec:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
-          {{ end -}}
+          {{ end }}
           readinessProbe:
-            tcpSocket:
-              port: {{ .Values.service.internalPort }}
+            exec:
+              command:
+              - /scripts/readiness-check.sh
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           volumeMounts:
@@ -61,6 +72,9 @@ spec:
             subPath: config.txt
             name: {{ include "common.fullname" .}}-config
             readOnly: true
+          - mountPath: /opt/onap/kube
+            name: {{ include "common.fullname" .}}-kubeconfig
+            readOnly: true
           - mountPath: /secret
             name: dcae-token
             readOnly: true
@@ -78,6 +92,9 @@ spec:
         - name: {{ include "common.fullname" . }}-config
           configMap:
             name: {{ include "common.fullname" . }}-configmap
+        - name: {{ include "common.fullname" .}}-kubeconfig
+          configMap:
+            name: {{ .Values.multisiteConfigMapName }}
         - name: dcae-token
           secret:
             secretName: dcae-token
index 3995bc6..8ecf448 100644 (file)
@@ -44,9 +44,15 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.cm-container:1.5.2-STAGING-latest
+image: onap/org.onap.dcaegen2.deployments.cm-container:1.6.1-STAGING-latest
 pullPolicy: Always
 
+# name of shared ConfigMap with kubeconfig for multiple clusters
+multisiteConfigMapName: multisite-kubeconfig-configmap
+
+# image for init container to initialize shared ConfigMap
+multisiteInitImage: onap/org.onap.dcaegen2.deployments.multisite-init-container:1.0.0-STAGING-latest
+
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 10
index 31d6a8b..fc0ca87 100644 (file)
@@ -43,7 +43,7 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.configbinding.app-app:2.2.3
+image: onap/org.onap.dcaegen2.platform.configbinding.app-app:2.3.0-STAGING-latest
 pullPolicy: Always
 
 # probe configuration parameters
index 6a00d36..ebc36a6 100644 (file)
@@ -25,7 +25,7 @@ global:
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   tlsRepository: nexus3.onap.org:10001
-  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.1-STAGING-latest
+  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.2-STAGING-latest
   consulLoaderRepository: nexus3.onap.org:10001
   consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0-STAGING-latest
   repositoryCred:
@@ -46,7 +46,7 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.deployment-handler:3.2.0
+image: onap/org.onap.dcaegen2.platform.deployment-handler:4.0.1
 pullPolicy: Always
 
 # probe configuration parameters
index 76aa383..74abbb0 100644 (file)
@@ -12,6 +12,7 @@
     },
     "policy_engine": {
       "url": "https://{{ .Values.config.address.policy_pdp }}.{{include "common.namespace" . }}:8081",
+      "path_decision": "/decision/v1",
       "path_notifications": "/pdp/notifications",
       "path_api": "/pdp/api/",
       "headers": {
index c146142..e110f1c 100644 (file)
@@ -25,7 +25,7 @@ global:
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   tlsRepository: nexus3.onap.org:10001
-  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.1-STAGING-latest
+  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.2-STAGING-latest
   consulLoaderRepository: nexus3.onap.org:10001
   consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0-STAGING-latest
   repositoryCred:
@@ -46,7 +46,7 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.policy-handler:4.6.0-STAGING-latest
+image: onap/org.onap.dcaegen2.platform.policy-handler:5.0.0-STAGING-latest
 pullPolicy: Always
 
 # probe configuration parameters
index 1fd004f..f120402 100644 (file)
@@ -42,7 +42,7 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.inventory-api:3.0.4
+image: onap/org.onap.dcaegen2.platform.inventory-api:3.2.0
 
 pullPolicy: Always
 
index e8c9d87..927f19e 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright © 2018 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T
+# Modifications Copyright © 2018-2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -18,6 +18,9 @@
 #################################################################
 global:
   nodePortPrefix: 302
-
+  tlsRepository: nexus3.onap.org:10001
+  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.3-STAGING-latest
+  consulLoaderRepository: nexus3.onap.org:10001
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0-STAGING-latest
 redis:
   replicaCount: 6
index f15b9a1..294ffa6 100644 (file)
@@ -108,7 +108,7 @@ MR.projectID:  mr
 #
 #####################################################
 # path to cadi.properties
-cadi.properties: /opt/app/osaaf/lcoal/org.onap.dmaap-bc.props
+cadi.properties: /opt/app/osaaf/local/org.onap.dmaap-bc.props
 
 #####################################################
 #
diff --git a/kubernetes/dmaap/components/dmaap-dr-node/resources/config/drNodeCadi.properties b/kubernetes/dmaap/components/dmaap-dr-node/resources/config/drNodeCadi.properties
new file mode 100644 (file)
index 0000000..90c4137
--- /dev/null
@@ -0,0 +1,23 @@
+cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
+cadi_keyfile=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.keyfile
+cadi_keystore=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks
+cadi_keystore_password=]3V)($O&.Mv]W{f8^]6SxGNL
+cadi_key_password=]3V)($O&.Mv]W{f8^]6SxGNL
+cadi_alias=dmaap-dr-node@dmaap-dr.onap.org
+cadi_truststore=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks
+cadi_truststore_password=(Rd,&{]%ePdp}4JZjqoJ2G+g
+
+aaf_env=DEV
+aaf_locate_url=https://aaf-onap-test.osaaf.org:8095
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.1/introspect
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.1/token
+aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1
+cadi_protocols=TLSv1.1,TLSv1.2
+cm_url=https://AAF_LOCATE_URL/AAF_NS.cm:2.1
+fs_url=https://AAF_LOCATE_URL/AAF_NS.fs.2.1
+gui_url=https://AAF_LOCATE_URL/AAF_NS.gui.2.1
+
+cadi_latitude=53.423
+cadi_longitude=7.940
+
+cadi_loglevel=INFO
\ No newline at end of file
index 2046dbf..f2896cc 100644 (file)
@@ -108,4 +108,22 @@ QuiesceFile=etc/SHUTDOWN
 #    The key used to generate passwords for node to node transfers
 #
 NodeAuthKey=Node123!
+#
+#    DR_NODE DEFAULT ENABLED TLS PROTOCOLS
+NodeHttpsProtocols = TLSv1.1|TLSv1.2
+#
+#    AAF type to generate permission string
+AAFType = org.onap.dmaap-dr.feed
+#
+#    AAF default instance to generate permission string - default should be legacy
+AAFInstance = legacy
+#
+#    AAF action to generate permission string - default should be publish
+AAFAction = publish
+#
+#    AAF URL to connect to AAF server
+AafUrl = https://aaf-onap-test.osaaf.org:8095
+#
+#    AAF CADI enabled flag
+CadiEnabled = false
 
index cae0d71..a3882bc 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-node-props-configmap
+  name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -23,7 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/node.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
index 3e0e69e..ec31f3f 100644 (file)
@@ -73,14 +73,17 @@ spec:
             name: localtime
             readOnly: false
           - mountPath: /opt/app/datartr/etc/dedicatedFeed.json
+            name: {{ include "common.fullname" . }}-create-feed-config
             subPath: dedicatedFeed.json
-            name: create-feed
           - mountPath: /opt/app/datartr/etc/createFeed.sh
+            name: {{ include "common.fullname" . }}-create-feed-config
             subPath: createFeed.sh
-            name: create-feed
           - mountPath: /opt/app/datartr/etc/node.properties
+            name: {{ include "common.fullname" . }}-config
             subPath: node.properties
-            name: node-props
+          - mountPath: /opt/app/datartr/etc/drNodeCadi.properties
+            name: {{ include "common.fullname" . }}-config
+            subPath: drNodeCadi.properties
           lifecycle:
             postStart:
               exec:
@@ -114,13 +117,23 @@ spec:
         - name: localtime
           hostPath:
             path: /etc/localtime
-        - name: create-feed
+        - name: {{ include "common.fullname" . }}-create-feed-config
           configMap:
             name: {{ include "common.fullname" . }}-create-feed-configmap
             defaultMode: 0755
-        - name: node-props
+            items:
+            - key: createFeed.sh
+              path: createFeed.sh
+            - key: dedicatedFeed.json
+              path: dedicatedFeed.json
+        - name: {{ include "common.fullname" . }}-config
           configMap:
-            name: {{ include "common.fullname" . }}-node-props-configmap
+            name: {{ include "common.fullname" . }}-configmap
+            items:
+            - key: node.properties
+              path: node.properties
+            - key: drNodeCadi.properties
+              path: drNodeCadi.properties
         - name: {{ include "common.fullname" . }}-log-conf
           configMap:
             name: {{ include "common.fullname" . }}-log
diff --git a/kubernetes/dmaap/components/dmaap-dr-prov/resources/config/drProvCadi.properties b/kubernetes/dmaap/components/dmaap-dr-prov/resources/config/drProvCadi.properties
new file mode 100644 (file)
index 0000000..6a87514
--- /dev/null
@@ -0,0 +1,23 @@
+cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
+cadi_keyfile=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.keyfile
+cadi_keystore=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.jks
+cadi_keystore_password=AT{];bvaDiytVD&oWhMZj0N5
+cadi_key_password=AT{];bvaDiytVD&oWhMZj0N5
+cadi_alias=dmaap-dr-prov@dmaap-dr.onap.org
+cadi_truststore=/opt/app/datartr/aaf_certs/org.onap.dmaap-dr.trust.jks
+cadi_truststore_password=ljlS@Y}0]{UO(TnwvEWkgJ%]
+
+aaf_env=DEV
+aaf_locate_url=https://aaf-onap-test.osaaf.org:8095
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.1/introspect
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.1/token
+aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1
+cadi_protocols=TLSv1.1,TLSv1.2
+cm_url=https://AAF_LOCATE_URL/AAF_NS.cm:2.1
+fs_url=https://AAF_LOCATE_URL/AAF_NS.fs.2.1
+gui_url=https://AAF_LOCATE_URL/AAF_NS.gui.2.1
+
+cadi_latitude=53.423
+cadi_longitude=7.940
+
+cadi_loglevel=INFO
\ No newline at end of file
index bb24d99..2b78b8e 100644 (file)
@@ -47,3 +47,20 @@ org.onap.dmaap.datarouter.db.driver   = org.mariadb.jdbc.Driver
 org.onap.dmaap.datarouter.db.url      = jdbc:mariadb://{{.Values.config.dmaapDrDb.mariadbServiceName}}:{{.Values.config.dmaapDrDb.mariadbServicePort}}/datarouter
 org.onap.dmaap.datarouter.db.login    = datarouter
 org.onap.dmaap.datarouter.db.password = datarouter
+
+# PROV - DEFAULT ENABLED TLS PROTOCOLS
+org.onap.dmaap.datarouter.provserver.https.include.protocols = TLSv1.1|TLSv1.2
+
+# AAF config
+org.onap.dmaap.datarouter.provserver.cadi.enabled = false
+
+org.onap.dmaap.datarouter.provserver.passwordencryption   = PasswordEncryptionKey#@$%^&1234#
+org.onap.dmaap.datarouter.provserver.aaf.feed.type        = org.onap.dmaap-dr.feed
+org.onap.dmaap.datarouter.provserver.aaf.sub.type         = org.onap.dmaap-dr.sub
+org.onap.dmaap.datarouter.provserver.aaf.instance         = legacy
+org.onap.dmaap.datarouter.provserver.aaf.action.publish   = publish
+org.onap.dmaap.datarouter.provserver.aaf.action.subscribe = subscribe
+
+# AAF URL to connect to AAF server
+org.onap.dmaap.datarouter.provserver.cadi.aaf.url = https://aaf-onap-test.osaaf.org:8095
+
index bd5886b..fe93cb0 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: {{ include "common.fullname" . }}-prov-props-configmap
+  name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
   labels:
     app: {{ include "common.name" . }}
@@ -23,7 +23,7 @@ metadata:
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
 data:
-{{ tpl (.Files.Glob "resources/config/provserver.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
index 573e90c..afd34d9 100644 (file)
@@ -69,10 +69,13 @@ spec:
             name: localtime
             readOnly: false
           - mountPath: /opt/app/datartr/etc/provserver.properties
+            name: {{ include "common.fullname" . }}-config
             subPath: provserver.properties
-            name: prov-props
-          - name: {{ include "common.fullname" . }}-logs
-            mountPath: {{ .Values.global.loggingDirectory }}
+          - mountPath: /opt/app/datartr/etc/drProvCadi.properties
+            name: {{ include "common.fullname" . }}-config
+            subPath: drProvCadi.properties
+          - mountPath: {{ .Values.global.loggingDirectory }}
+            name: {{ include "common.fullname" . }}-logs
           resources:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -99,9 +102,14 @@ spec:
       - name: localtime
         hostPath:
           path: /etc/localtime
-      - name: prov-props
+      - name: {{ include "common.fullname" . }}-config
         configMap:
-          name: {{ include "common.fullname" . }}-prov-props-configmap
+          name: {{ include "common.fullname" . }}-configmap
+          items:
+          - key: provserver.properties
+            path: provserver.properties
+          - key: drProvCadi.properties
+            path: drProvCadi.properties
       - name: {{ include "common.fullname" . }}-log-conf
         configMap:
           name: {{ include "common.fullname" . }}-log
index cc8fd5a..5e96423 100644 (file)
@@ -70,6 +70,17 @@ spec:
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
+      - command:
+        -  sh
+        - -exec
+        - |
+          chown -R 1000:1000 /opt/kafka/data;
+        image: "{{ .Values.busyBoxRepository }}/{{ .Values.busyBoxImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - mountPath: /opt/kafka/data
+          name: kafka-data
+        name: {{ include "common.name" . }}-permission-fixer
       containers:
       - name: {{ include "common.name" .  }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -124,7 +135,7 @@ spec:
         - name: aaf_locate_url
           value: "https://aaf-locate:8095"
         - name: KAFKA_LOG_DIRS
-          value: "kafka/logs"
+          value: "/opt/kafka/data"
         - name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
           value: "{{ .Values.replicaCount }}"
         - name: KAFKA_DEFAULT_REPLICATION_FACTOR
@@ -137,7 +148,7 @@ spec:
           readOnly: true
         - mountPath: /var/run/docker.sock
           name: docker-socket
-        - mountPath: /kafka
+        - mountPath: /opt/kafka/data
           name: kafka-data
       {{- if .Values.tolerations }}
       tolerations:
index 5b83bb0..9f92610 100644 (file)
@@ -30,9 +30,12 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/kafka111:0.0.5
+image: onap/dmaap/kafka111:0.0.6
 pullPolicy: Always
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
+busyBoxImage: busybox:1.30
+busyBoxRepository: docker.io
+
 
 zookeeper:
   name: message-router-zookeeper
index 2fbd884..f630e94 100644 (file)
@@ -30,7 +30,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/kafka111:0.0.5
+image: onap/dmaap/kafka111:0.0.6
 pullPolicy: Always
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 
diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/_zkquorum.tpl b/kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/templates/_zkquorum.tpl
new file mode 100644 (file)
index 0000000..9af910e
--- /dev/null
@@ -0,0 +1,34 @@
+{{/*
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{- /*
+    Calculate the maximum number of zk server down in order to guarantee ZK quorum.
+    For guaranteeing ZK quorum we need half of the server + 1 up.
+
+    div in go template cast return an int64
+    so we need to know if it is an even number or an odd.
+    For this we are doing (n/2)*2=n?
+    if true it is even else it is even
+*/ -}}
+{{- define "zk.maxUnavailable" -}}
+{{- $halfReplica := div .Values.replicaCount 2 -}}
+ {{/* divide by 2 and multiply by 2 in order to know if it is an even number*/}}
+    {{if eq (mul $halfReplica 2) (int .Values.replicaCount) }}
+        {{- toYaml  (sub $halfReplica 1) -}}
+    {{else}}
+        {{- toYaml $halfReplica -}}
+    {{end}}
+{{- end -}}
index b2f9f13..6c15783 100644 (file)
@@ -58,18 +58,19 @@ spec:
         - /bin/bash
         - -c
         - >
-          if [ -d /tmp/topics/version-2 ]; then
+          if [ -d /tmp/zookeeper/topics/version-2 ]; then
           echo "nothing to do";
           else
-          git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/gerrit;
-          echo "Clone complete. Copying from /tmp/gerrit/oom-projects/data-zookeeper/* to /tmp/topics";
-          cp -var /tmp/gerrit/oom-topics/data-zookeeper/* /tmp/topics;
+          git clone -b {{ .Values.config.gerritBranch }} --single-branch {{ .Values.config.gerritProject }} /tmp/zookeeper/gerrit;
+          echo "Clone complete. Copying from /tmp/zookeeper/gerrit/oom-projects/data-zookeeper/* to /tmp/zookeeper/topics";
+          cp -var /tmp/zookeeper/gerrit/oom-topics/data-zookeeper/* /tmp/zookeeper/topics;
+          chown -R 1000:1000 /tmp/zookeeper/topics;
           echo "Done.";
           fi
         image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.ubuntuInitImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         volumeMounts:
-        - mountPath: /tmp/topics
+        - mountPath: /tmp/zookeeper/topics
           name: zookeeper-data
       containers:
       - name: {{ include "common.name" . }}
index 37a1bab..22daf94 100644 (file)
@@ -30,7 +30,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/zookeeper:3.0.0
+image: onap/dmaap/zookeeper:4.0.0
 pullPolicy: Always
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 
index 691e66a..d2910b8 100644 (file)
@@ -5,7 +5,7 @@
  "txenabled": false,
  "clients": [{
    "dcaeLocationName": "san-francisco",
-   "clientIdentity" "dcae@dcae.onap.org",
+   "clientIdentity": "dcae@dcae.onap.org",
    "action": [
      "pub",
      "view"
index 10ce59c..b141207 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/dmaap-mr:1.1.11
+image: onap/dmaap/dmaap-mr:1.1.12
 pullPolicy: Always
 
 kafka:
index cda78cf..3507bd8 100644 (file)
@@ -24,7 +24,7 @@ dependencies:
   - name: dmaap-bc
     version: ~4.x-0
     repository: 'file://components/dmaap-bc'
-    condition: dmaap-bus-controller.enabled
+    condition: dmaap-bc.enabled
   - name: dmaap-dr-node
     version: ~4.x-0
     repository: 'file://components/dmaap-dr-node'
index dc5aa89..bd79853 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: mariadb:10.2.14
+image: mariadb:10.3.14
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 43794d2..ad6aada 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2019 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -88,6 +88,10 @@ dependencies:
     version: ~4.x-0
     repository: '@local'
     condition: nbi.enabled
+  - name: nfs-provisioner
+    version: ~4.x-0
+    repository: '@local'
+    condition: nfs-provisioner.enabled
   - name: pnda
     version: ~4.x-0
     repository: '@local'
diff --git a/kubernetes/onap/templates/storageclass.yaml b/kubernetes/onap/templates/storageclass.yaml
new file mode 100644 (file)
index 0000000..5418da7
--- /dev/null
@@ -0,0 +1,34 @@
+{{/*
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+{{ if .Values.global.persistence.enableDefaultStorageclass }}
+kind: StorageClass
+apiVersion: storage.k8s.io/v1
+metadata:
+  name: "{{ include "common.namespace" . }}-default-storageclass"
+  namespace: {{ include "common.namespace" . }}
+  annotations:
+    storageclass.kubernetes.io/is-default-class: "true"
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+provisioner: {{ .Values.global.persistence.storageclassProvisioner }}
+reclaimPolicy: {{ .Values.global.persistence.volumeReclaimPolicy }}
+parameters:
+{{ toYaml .Values.global.persistence.parameters | indent 2 }}
+{{ end }}
index 6b283db..b62606e 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada
+# Copyright © 2019 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -46,6 +46,10 @@ global:
   # by persistent volumes and log files
   persistence:
     mountPath: /dockerdata-nfs
+    enableDefaultStorageclass: false
+    parameters: {}
+    storageclassProvisioner: kubernetes.io/no-provisioner
+    volumeReclaimPolicy: Retain
 
   # override default resource limit flavor for all charts
   flavor: unlimited
@@ -107,6 +111,8 @@ nbi:
     # openstack configuration
     openStackRegion: "Yolo"
     openStackVNFTenantId: "1234"
+nfs-provisioner:
+  enabled: true
 policy:
   enabled: false
 pomba:
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/Chart.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/Chart.yaml
new file mode 100644 (file)
index 0000000..78fedfd
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: Chart for Change Management Service Orchestrator (CMSO) Optimizer
+name: oof-cmso-optimizer
+version: 4.0.0
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/cadi.properties
new file mode 100644 (file)
index 0000000..9a6b91c
--- /dev/null
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain a 
+# copy of the License at
+# 
+#        http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
+# or implied. See the License for the specific language governing 
+# permissions and limitations under the License.
+# ============LICENSE_END=================================================
+# 
+#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/liquibase.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/liquibase.properties
new file mode 100644 (file)
index 0000000..32d77bb
--- /dev/null
@@ -0,0 +1,43 @@
+###
+# Copyright (c) 2019 AT&T Intellectual Property. 
+# Modifications Copyright (c) 2018 IBM. 
+#  
+# Licensed under the Apache License, Version 2.0 (the "License"); 
+# you may not use this file except in compliance with the License. 
+# You may obtain a copy of the License at 
+#  
+#         http://www.apache.org/licenses/LICENSE-2.0 
+#  
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+# See the License for the specific language governing permissions and 
+# limitations under the License. 
+#  
+#  
+# Unless otherwise specified, all documentation contained herein is licensed 
+# under the Creative Commons License, Attribution 4.0 Intl. (the &#195;¢&#226;?&#172;&#197;"License&#195;¢&#226;?&#172;&#157;); 
+# you may not use this documentation except in compliance with the License. 
+# You may obtain a copy of the License at 
+#  
+#         https://creativecommons.org/licenses/by/4.0/ 
+#  
+# Unless required by applicable law or agreed to in writing, documentation 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+# See the License for the specific language governing permissions and 
+# limitations under the License.
+###
+spring.datasource.jdbcUrl=jdbc:mariadb://${DB_HOST}:${DB_PORT}/${DB_SCHEMA}?createDatabaseIfNotExist=true
+spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
+spring.datasource.username=${DB_USERNAME}
+spring.datasource.password=${DB_PASSWORD}
+
+spring.datasource.initialize=false
+spring.datasource.tomcat.max-wait=10000
+spring.datasource.tomcat.initialSize=5
+spring.datasource.tomcat.max-active=25
+spring.datasource.tomcat.test-on-borrow=true
+
+
+changeLogFile=optimizer-liquibase-changeLog.xml
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/logback.xml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..e4386fd
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version = "1.0" encoding = "UTF-8" ?>
+<!--
+# Copyright © 2018  AT&T, Amdocs, Bell Canada 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.
+-->
+<included>
+       <jmxConfigurator />
+       <!-- Example evaluator filter applied against console appender -->
+<property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+               <property name="p_lvl" value="%level"/>
+               <property name="p_log" value="%logger"/>
+               <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+               <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_thr" value="%thread"/>
+               <property name="defaultPattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+               <property name="debugPattern" value="%nopexception${p_tim}|${p_lvl}|${p_mdc}|${p_exc}|%msg%n"/>
+
+               <!-- Example evaluator filter applied against console appender -->
+               <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                                               <level>INFO</level>
+                               </filter>
+                               <encoder>
+                                       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
+                               </encoder>
+               </appender>
+
+               <appender name="ERROR"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                                               <level>INFO</level>
+                               </filter>
+                               <file>${logDirectory}/error2.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>${defaultPattern}</pattern>
+                               </encoder>
+                               <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+                                       <fileNamePattern>${outputDirectory}/cmso/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+                                       <maxFileSize>50MB</maxFileSize>
+                                       <maxHistory>30</maxHistory>
+                                       <totalSizeCap>10GB</totalSizeCap>
+                               </rollingPolicy>
+                               <triggeringPolicy
+                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                                               <maxFileSize>10MB</maxFileSize>
+                               </triggeringPolicy>
+               </appender>
+
+               <appender name="DEBUG"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${logDirectory}/debug.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>${debugPattern}</pattern>
+                               </encoder>
+                               <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+                                       <fileNamePattern>${outputDirectory}/cmso/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+                                       <maxFileSize>50MB</maxFileSize>
+                                       <maxHistory>30</maxHistory>
+                                       <totalSizeCap>10GB</totalSizeCap>
+                               </rollingPolicy>
+               </appender>
+
+
+       <appender name="AUDIT"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/audit.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
+                       </pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/audit.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFAudit"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="AUDIT" />
+       </appender>
+
+       <appender name="METRIC"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/metric.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|
+                               %msg%n</pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/metric.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFMetrics"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="METRIC" />
+       </appender>
+
+       <!-- SECURITY related loggers -->
+       <appender name="SECURITY"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/security.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
+                       </pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/security.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFSecurity"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="SECURITY" />
+       </appender>
+       <!-- AAF related loggers -->
+       <logger name="org.onap.aaf" level="INFO" additivity="true">
+               <appender-ref ref="DEBUG" />
+       </logger>
+       <logger name="org.apache.catalina.core" level="INFO"
+               additivity="true">
+               <appender-ref ref="DEBUG" />
+       </logger>
+       <logger name="org.onap.cmso" level="INFO"
+               additivity="true">
+               <appender-ref ref="ERROR" />
+       </logger>
+
+       <!-- CLDS related loggers -->
+       <logger name="com.att.eelf.error" level="OFF" additivity="true">
+               <appender-ref ref="ERROR" />
+       </logger>
+       <!-- EELF related loggers -->
+       <logger name="com.att.eelf.audit" level="INFO"
+               additivity="false">
+               <appender-ref ref="asyncEELFAudit" />
+       </logger>
+       <logger name="com.att.eelf.metrics" level="DEBUG"
+               additivity="false">
+               <appender-ref ref="asyncEELFMetrics" />
+       </logger>
+       <logger name="com.att.eelf.security" level="DEBUG"
+               additivity="false">
+               <appender-ref ref="asyncEELFSecurity" />
+       </logger>
+
+       <!-- Spring related loggers -->
+       <logger name="org.springframework" level="DEBUG" />
+
+       <!-- Other Loggers that may help troubleshoot -->
+       <logger name="org.apache" level="DEBUG" />
+
+       <!-- logback internals logging -->
+       <logger name="ch.qos.logback.classic" level="INFO" />
+       <logger name="ch.qos.logback.core" level="INFO" />
+
+       <!-- logback jms appenders & loggers definition starts here -->
+       <appender name="auditLogs"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+               </filter>
+               <file>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/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">
+               </filter>
+               <file>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/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 -->
+
+       <root level="DEBUG">
+               <appender-ref ref="DEBUG" />
+               <appender-ref ref="STDOUT" />
+       </root>
+</included>
+
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/optimizer.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/resources/config/optimizer.properties
new file mode 100644 (file)
index 0000000..83ed89a
--- /dev/null
@@ -0,0 +1,54 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain a 
+# copy of the License at
+# 
+#        http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
+# or implied. See the License for the specific language governing 
+# permissions and limitations under the License.
+# ============LICENSE_END=================================================
+# 
+#-------------------------------------------------------------------------------
+spring.datasource.url=jdbc:mariadb://${DB_HOST}:${DB_PORT}/${DB_SCHEMA}
+spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
+spring.datasource.username=${DB_USERNAME}
+spring.datasource.password=${DB_PASSWORD}
+cmso.database.password=${DB_PASSWORD}
+
+spring.datasource.initialize=false
+spring.datasource.tomcat.max-wait=10000
+spring.datasource.tomcat.initialSize=5
+spring.datasource.tomcat.max-active=25
+spring.datasource.tomcat.test-on-borrow=true
+
+spring.jpa.show-sql=false
+spring.jpa.hibernate.ddl-auto=none
+spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy
+spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
+spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
+spring.jpa.hibernate.id.new_generator_mappings=false
+hibernate.id.new_generator_mappings=false
+
+logging.level.org.hibernate.SQL=WARN
+logging.level.org.hibernate=WARN
+#-------------------------------------------------------------------------------
+
+
+cmso.topology.create.request.url=http://${TOPOLOGY_HOST}:${TOPOLOGY_PORT}/topology/v1/current
+cmso.ticket.create.request.url=http://${TICKETMGT_HOST}:${TICKETMGT_PORT}/ticketmgt/v1/activetickets
+cmso.local.policy.folder=data/policies
+
+cmso.minizinc.command.exe=/mz-dist/bin/minizinc
+cmso.minizinc.command.solver=OSICBC
+cmso.minizinc.command.timelimit=60000
+cmso.minizinc.command.mzn=scripts/minizinc/generic_attributes.mzn
+
+mechid.user=oof@oof.onap.org
+mechid.pass=changeit
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/NOTES.txt b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..1103aff
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright © 2018  AT&T, Amdocs, Bell Canada Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/configmap.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..c439735
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: 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 }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/deployment.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..4e418bf
--- /dev/null
@@ -0,0 +1,146 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ .Values.mariadb.nameOverride }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
+      - name: db-init
+        image: "{{ include "common.repository" . }}/{{ .Values.dbinit.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: DB_HOST
+          value: {{ .Values.config.db_host }}.{{.Release.Namespace}}
+        - name: DB_PORT
+          value: {{ .Values.config.db_port | quote}}
+        - name: DB_USERNAME
+          value: {{ .Values.config.db_root }}
+        - name: DB_SCHEMA
+          value: {{ .Values.config.mysqlDatabase }}
+        - name: DB_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-cmso-db
+              key: db-root-password
+        terminationMessagePolicy: File
+        volumeMounts:
+        - name: {{ include "common.fullname" . }}-config
+          mountPath: /share/etc/config
+        - name: {{ include "common.fullname" . }}-logs   
+          mountPath: /share/logs
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: TOPOLOGY_HOST
+          value: {{ .Values.config.topology_host }}.{{.Release.Namespace}}
+        - name: TOPOLOGY_PORT
+          value: {{ .Values.config.topology_port | quote}}
+        - name: TICKETMGT_HOST
+          value: {{ .Values.config.ticketmgt_host }}.{{.Release.Namespace}}
+        - name: TICKETMGT_PORT
+          value: {{ .Values.config.ticketmgt_port | quote}}
+        - name: DB_HOST
+          value: {{ .Values.config.db_host }}.{{.Release.Namespace}}
+        - name: DB_PORT
+          value: {{ .Values.config.db_port | quote}}
+        - name: DB_USERNAME
+          value: {{ .Values.config.db_root }}
+        - name: DB_SCHEMA
+          value: {{ .Values.config.mysqlDatabase }}
+        - name: DB_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ .Release.Name}}-cmso-db
+              key: db-root-password
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{- if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end -}}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        volumeMounts:
+        - name: {{ include "common.fullname" . }}-logs
+          mountPath: /share/logs
+        - name: {{ include "common.fullname" . }}-logs
+          mountPath: /share/debug-logs
+        - name: {{ include "common.fullname" . }}-config
+          mountPath: /share/etc/config 
+        resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}
+            items:
+            - key: logback.xml
+              path: logback.xml
+            - key: cadi.properties
+              path: cadi.properties
+            - key: optimizer.properties
+              path: optimizer.properties
+            - key: liquibase.properties
+              path: liquibase.properties
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/service.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/templates/service.yaml
new file mode 100644 (file)
index 0000000..1624a08
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/values.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-optimizer/values.yaml
new file mode 100644 (file)
index 0000000..be32774
--- /dev/null
@@ -0,0 +1,115 @@
+# Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global: # global defaults
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+
+subChartsOnly:
+  enabled: true
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/optf-cmso-optimizer:latest
+pullPolicy: Always
+
+#init container image
+dbinit:
+  image: onap/optf-cmso-dbinit:latest
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 120
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+
+service:
+  type: ClusterIP
+  name: oof-cmso-optimizer
+  portName: cmso
+  internalPort: 7997
+  externalPort: 7997
+  #nodePort: 23
+  # as of 20181022 port 23 is reserved for cmso
+  # see https://wiki.onap.org/display/DW/OOM+NodePort+List
+
+
+config:
+  db_root: root
+  db_user: cmso-admin
+  mysqlDatabase: optimizer
+  db_host: oof-cmso-dbhost
+  db_port: 3306
+  topology_host: oof-cmso-topology
+  topology_port: 7998
+  ticketmgt_host: oof-cmso-ticketmgt
+  ticketmgt_port: 7999
+
+mariadb:
+  nameOverride: cmso-db
+
+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:
+  small:
+    limits:
+      cpu: 1
+      memory: 1.2Gi
+    requests:
+      cpu: 10m
+      memory: 800Mi
+  large:
+    limits:
+      cpu: 1
+      memory: 1.2Gi
+    requests:
+      cpu: 10m
+      memory: 800Mi
+  unlimited: {}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-service/resources/config/cadi.properties
new file mode 100644 (file)
index 0000000..9a6b91c
--- /dev/null
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain a 
+# copy of the License at
+# 
+#        http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
+# or implied. See the License for the specific language governing 
+# permissions and limitations under the License.
+# ============LICENSE_END=================================================
+# 
+#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
index cf1d35e..ce94f57 100644 (file)
@@ -1,7 +1,7 @@
 
 #-------------------------------------------------------------------------------
-# Copyright © 2017-2018 AT&T Intellectual Property.
-# Modifications Copyright © 2018 IBM.
+# Copyright (c) 2017-2018 AT&T Intellectual Property.
+# Modifications Copyright (c) 2018 IBM.
 # 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
 # 
 # 
 # Unless otherwise specified, all documentation contained herein is licensed
-# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?\9d);
+# under the Creative Commons License, Attribution 4.0 Intl. (the ???License???);
 # you may not use this documentation except in compliance with the License.
 # You may obtain a copy of the License at
 # 
@@ -29,9 +29,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #-------------------------------------------------------------------------------
-###
 
-### MySQL DB.
+#-------------------------------------------------------------------------------
 spring.datasource.url=jdbc:mariadb://${DB_HOST}:${DB_PORT}/${DB_SCHEMA}
 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
 spring.datasource.username=${DB_USERNAME}
@@ -44,7 +43,7 @@ spring.datasource.tomcat.initialSize=5
 spring.datasource.tomcat.max-active=25
 spring.datasource.tomcat.test-on-borrow=true
 
-spring.jpa.show-sql=true
+spring.jpa.show-sql=false
 spring.jpa.hibernate.ddl-auto=none
 spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.EJB3NamingStrategy
 spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
@@ -52,9 +51,9 @@ spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.Ph
 spring.jpa.hibernate.id.new_generator_mappings=false
 hibernate.id.new_generator_mappings=false
 
-logging.level.org.hibernate.SQL=TRACE
-
-logging.level.org.hibernate=TRACE
+logging.level.org.hibernate.SQL=WARN
+logging.level.org.hibernate=WARN
+#-------------------------------------------------------------------------------
 
 #
 cmso.aaf.enabled=false
@@ -95,10 +94,10 @@ so.polling.interval.ms=10000
 
 ## loopback settings
 so.url=http://localhost:8080/cmso/v1/loopbacktest/onap/so/infra/orchestrationRequests/v7
-so.user=cmso@onap.org
-so.pass=enc:bfodXf8qRfCqMvlxVBYNWQ==
+so.user=oof@oof.onap.org
+so.pass=changeit
 
-mechid.user=cmso@onap.org
-mechid.pass=enc:bfodXf8qRfCqMvlxVBYNWQ==
+mechid.user=oof@oof.onap.org
+mechid.pass=changeit
 
 cmso.dispatch.url=http://localhost:8089
index b222d7b..498a1e5 100644 (file)
@@ -1,6 +1,6 @@
 #-------------------------------------------------------------------------------
-# Copyright © 2017-2018 AT&T Intellectual Property.
-# Modifications Copyright © 2018 IBM.
+# Copyright (c) 2017-2018 AT&T Intellectual Property.
+# Modifications Copyright ? 2018 IBM.
 # 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@
 # 
 # 
 # Unless otherwise specified, all documentation contained herein is licensed
-# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?\9d);
+# under the Creative Commons License, Attribution 4.0 Intl. (the ???License???);
 # you may not use this documentation except in compliance with the License.
 # You may obtain a copy of the License at
 # 
@@ -29,6 +29,6 @@
 # limitations under the License.
 #-------------------------------------------------------------------------------
 
-cmso.optimizer.url=http://localhost:8080/cmso/v1/loopbacktest/optimizer
-cmso.optimizer.callbackurl=http://localhost:8080/cmso/v1/optimizerCallback
-
+cmso.optimizer.request.url=$http://${OPTIMIZER_HOST}:${OPTIMIZER_PORT}/optimizer/v1/optimize/schedule
+cmso.optimizer.status.url=http://${OPTIMIZER_HOST}:${OPTIMIZER_PORT}/optimizer/v1/optimize/schedule
+cmso.optimizer.health.url=http://${OPTIMIZER_HOST}:${OPTIMIZER_PORT}/optimizer/v1/health?checkInterfaces=true
\ No newline at end of file
index dd080be..350708f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 AT&T
+# 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.
@@ -86,6 +86,10 @@ spec:
             secretKeyRef:
               name: {{ .Release.Name}}-cmso-db
               key: user-password
+        - name: OPTIMIZER_HOST
+          value: {{ .Values.config.optimizer_host }}.{{.Release.Namespace}}
+        - name: OPTIMIZER_PORT
+          value: {{ .Values.config.optimizer_port | quote}}
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         # disable liveness probe when breakpoints set in debugger
@@ -128,6 +132,8 @@ spec:
               path: logback.xml
             - key: cmso.properties
               path: cmso.properties
+            - key: cadi.properties
+              path: cadi.properties
             - key: optimizer.properties
               path: optimizer.properties
             - key: ticketmgt.properties
index 98c6b4a..6df3049 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 AT&T
+# Copyright © 2018-2019 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -25,12 +25,12 @@ subChartsOnly:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/optf-cmso-service:1.0.1
+image: onap/optf-cmso-service:latest
 pullPolicy: Always
 
 #init container image
 dbinit:
-  image: onap/optf-cmso-dbinit:1.0.1
+  image: onap/optf-cmso-dbinit:latest
 
 # flag to enable debugging - application support required
 debugEnabled: false
@@ -75,6 +75,8 @@ config:
   mysqlDatabase: cmso
   db_host: oof-cmso-dbhost
   db_port: 3306
+  optimizer_host: oof-cmso-optimizer
+  optimizer_port: 7997
 
 mariadb:
   nameOverride: cmso-db
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/Chart.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/Chart.yaml
new file mode 100644 (file)
index 0000000..e99b3be
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: Chart for Change Management Service Orchestrator (CMSO) Ticket Management
+name: oof-cmso-ticketmgt
+version: 4.0.0
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/cadi.properties
new file mode 100644 (file)
index 0000000..9a6b91c
--- /dev/null
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain a 
+# copy of the License at
+# 
+#        http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
+# or implied. See the License for the specific language governing 
+# permissions and limitations under the License.
+# ============LICENSE_END=================================================
+# 
+#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/logback.xml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..e4386fd
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version = "1.0" encoding = "UTF-8" ?>
+<!--
+# Copyright © 2018  AT&T, Amdocs, Bell Canada 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.
+-->
+<included>
+       <jmxConfigurator />
+       <!-- Example evaluator filter applied against console appender -->
+<property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+               <property name="p_lvl" value="%level"/>
+               <property name="p_log" value="%logger"/>
+               <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+               <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_thr" value="%thread"/>
+               <property name="defaultPattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+               <property name="debugPattern" value="%nopexception${p_tim}|${p_lvl}|${p_mdc}|${p_exc}|%msg%n"/>
+
+               <!-- Example evaluator filter applied against console appender -->
+               <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                                               <level>INFO</level>
+                               </filter>
+                               <encoder>
+                                       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
+                               </encoder>
+               </appender>
+
+               <appender name="ERROR"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                                               <level>INFO</level>
+                               </filter>
+                               <file>${logDirectory}/error2.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>${defaultPattern}</pattern>
+                               </encoder>
+                               <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+                                       <fileNamePattern>${outputDirectory}/cmso/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+                                       <maxFileSize>50MB</maxFileSize>
+                                       <maxHistory>30</maxHistory>
+                                       <totalSizeCap>10GB</totalSizeCap>
+                               </rollingPolicy>
+                               <triggeringPolicy
+                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                                               <maxFileSize>10MB</maxFileSize>
+                               </triggeringPolicy>
+               </appender>
+
+               <appender name="DEBUG"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${logDirectory}/debug.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>${debugPattern}</pattern>
+                               </encoder>
+                               <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+                                       <fileNamePattern>${outputDirectory}/cmso/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+                                       <maxFileSize>50MB</maxFileSize>
+                                       <maxHistory>30</maxHistory>
+                                       <totalSizeCap>10GB</totalSizeCap>
+                               </rollingPolicy>
+               </appender>
+
+
+       <appender name="AUDIT"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/audit.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
+                       </pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/audit.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFAudit"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="AUDIT" />
+       </appender>
+
+       <appender name="METRIC"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/metric.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|
+                               %msg%n</pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/metric.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFMetrics"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="METRIC" />
+       </appender>
+
+       <!-- SECURITY related loggers -->
+       <appender name="SECURITY"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/security.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
+                       </pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/security.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFSecurity"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="SECURITY" />
+       </appender>
+       <!-- AAF related loggers -->
+       <logger name="org.onap.aaf" level="INFO" additivity="true">
+               <appender-ref ref="DEBUG" />
+       </logger>
+       <logger name="org.apache.catalina.core" level="INFO"
+               additivity="true">
+               <appender-ref ref="DEBUG" />
+       </logger>
+       <logger name="org.onap.cmso" level="INFO"
+               additivity="true">
+               <appender-ref ref="ERROR" />
+       </logger>
+
+       <!-- CLDS related loggers -->
+       <logger name="com.att.eelf.error" level="OFF" additivity="true">
+               <appender-ref ref="ERROR" />
+       </logger>
+       <!-- EELF related loggers -->
+       <logger name="com.att.eelf.audit" level="INFO"
+               additivity="false">
+               <appender-ref ref="asyncEELFAudit" />
+       </logger>
+       <logger name="com.att.eelf.metrics" level="DEBUG"
+               additivity="false">
+               <appender-ref ref="asyncEELFMetrics" />
+       </logger>
+       <logger name="com.att.eelf.security" level="DEBUG"
+               additivity="false">
+               <appender-ref ref="asyncEELFSecurity" />
+       </logger>
+
+       <!-- Spring related loggers -->
+       <logger name="org.springframework" level="DEBUG" />
+
+       <!-- Other Loggers that may help troubleshoot -->
+       <logger name="org.apache" level="DEBUG" />
+
+       <!-- logback internals logging -->
+       <logger name="ch.qos.logback.classic" level="INFO" />
+       <logger name="ch.qos.logback.core" level="INFO" />
+
+       <!-- logback jms appenders & loggers definition starts here -->
+       <appender name="auditLogs"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+               </filter>
+               <file>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/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">
+               </filter>
+               <file>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/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 -->
+
+       <root level="DEBUG">
+               <appender-ref ref="DEBUG" />
+               <appender-ref ref="STDOUT" />
+       </root>
+</included>
+
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/ticketmgt.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/resources/config/ticketmgt.properties
new file mode 100644 (file)
index 0000000..5ca252f
--- /dev/null
@@ -0,0 +1,30 @@
+#-------------------------------------------------------------------------------
+# Copyright © 2017-2019 AT&T Intellectual Property.
+# Modifications Copyright © 2018 IBM.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#         http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# 
+# 
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?\9d);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#         https://creativecommons.org/licenses/by/4.0/
+# 
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#-------------------------------------------------------------------------------
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/NOTES.txt b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..1103aff
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright © 2018  AT&T, Amdocs, Bell Canada Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/configmap.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..c439735
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: 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 }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/deployment.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..e01034e
--- /dev/null
@@ -0,0 +1,84 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{- if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end -}}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        volumeMounts:
+        - name: {{ include "common.fullname" . }}-logs
+          mountPath: /share/logs
+        - name: {{ include "common.fullname" . }}-logs
+          mountPath: /share/debug-logs
+        - name: {{ include "common.fullname" . }}-config
+          mountPath: /share/etc/config 
+        resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}
+            items:
+            - key: logback.xml
+              path: logback.xml
+            - key: ticketmgt.properties
+              path: ticketmgt.properties
+            - key: cadi.properties
+              path: cadi.properties
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/service.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/templates/service.yaml
new file mode 100644 (file)
index 0000000..1624a08
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/values.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-ticketmgt/values.yaml
new file mode 100644 (file)
index 0000000..f19b8e2
--- /dev/null
@@ -0,0 +1,101 @@
+# Copyright (c) 2019 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global: # global defaults
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+
+subChartsOnly:
+  enabled: true
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/optf-cmso-ticketmgt:latest
+pullPolicy: Always
+
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 120
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+
+service:
+  type: ClusterIP
+  name: oof-cmso-ticketmgt
+  portName: cmso-ticketmgt
+  internalPort: 7999
+  externalPort: 7999
+  #nodePort: 23
+  # as of 20181022 port 23 is reserved for cmso
+  # see https://wiki.onap.org/display/DW/OOM+NodePort+List
+
+
+config:
+
+
+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:
+  small:
+    limits:
+      cpu: 1
+      memory: 1.2Gi
+    requests:
+      cpu: 10m
+      memory: 800Mi
+  large:
+    limits:
+      cpu: 1
+      memory: 1.2Gi
+    requests:
+      cpu: 10m
+      memory: 800Mi
+  unlimited: {}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/Chart.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/Chart.yaml
new file mode 100644 (file)
index 0000000..258d9ee
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: Chart for Change Management Service Orchestrator (CMSO) Service
+name: oof-cmso-topology
+version: 4.0.0
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/cadi.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/cadi.properties
new file mode 100644 (file)
index 0000000..9a6b91c
--- /dev/null
@@ -0,0 +1,21 @@
+#-------------------------------------------------------------------------------
+# ============LICENSE_START==============================================
+# Copyright (c) 2019 AT&T Intellectual Property.
+# =======================================================================
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain a 
+# copy of the License at
+# 
+#        http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software 
+# distributed under the License is distributed on an "AS IS" BASIS, 
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 
+# or implied. See the License for the specific language governing 
+# permissions and limitations under the License.
+# ============LICENSE_END=================================================
+# 
+#-------------------------------------------------------------------------------
+cadi_loglevel=DEBUG
+cadi_prop_files=src/main/resources/aaf/org.onap.oof.props
+
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/logback.xml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/logback.xml
new file mode 100644 (file)
index 0000000..e4386fd
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version = "1.0" encoding = "UTF-8" ?>
+<!--
+# Copyright © 2018  AT&T, Amdocs, Bell Canada 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.
+-->
+<included>
+       <jmxConfigurator />
+       <!-- Example evaluator filter applied against console appender -->
+<property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+               <property name="p_lvl" value="%level"/>
+               <property name="p_log" value="%logger"/>
+               <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+               <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+               <property name="p_thr" value="%thread"/>
+               <property name="defaultPattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+               <property name="debugPattern" value="%nopexception${p_tim}|${p_lvl}|${p_mdc}|${p_exc}|%msg%n"/>
+
+               <!-- Example evaluator filter applied against console appender -->
+               <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                                               <level>INFO</level>
+                               </filter>
+                               <encoder>
+                                       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n</pattern>
+                               </encoder>
+               </appender>
+
+               <appender name="ERROR"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                                               <level>INFO</level>
+                               </filter>
+                               <file>${logDirectory}/error2.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>${defaultPattern}</pattern>
+                               </encoder>
+                               <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+                                       <fileNamePattern>${outputDirectory}/cmso/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+                                       <maxFileSize>50MB</maxFileSize>
+                                       <maxHistory>30</maxHistory>
+                                       <totalSizeCap>10GB</totalSizeCap>
+                               </rollingPolicy>
+                               <triggeringPolicy
+                                               class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                                               <maxFileSize>10MB</maxFileSize>
+                               </triggeringPolicy>
+               </appender>
+
+               <appender name="DEBUG"
+                               class="ch.qos.logback.core.rolling.RollingFileAppender">
+                               <file>${logDirectory}/debug.log</file>
+                               <append>true</append>
+                               <encoder>
+                                               <pattern>${debugPattern}</pattern>
+                               </encoder>
+                               <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+                                       <fileNamePattern>${outputDirectory}/cmso/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
+                                       <maxFileSize>50MB</maxFileSize>
+                                       <maxHistory>30</maxHistory>
+                                       <totalSizeCap>10GB</totalSizeCap>
+                               </rollingPolicy>
+               </appender>
+
+
+       <appender name="AUDIT"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/audit.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
+                       </pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/audit.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFAudit"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="AUDIT" />
+       </appender>
+
+       <appender name="METRIC"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/metric.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|
+                               %msg%n</pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/metric.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFMetrics"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="METRIC" />
+       </appender>
+
+       <!-- SECURITY related loggers -->
+       <appender name="SECURITY"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <file>${logDirectory}/security.log</file>
+               <append>true</append>
+               <encoder>
+                       <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n
+                       </pattern>
+               </encoder>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <maxIndex>10</maxIndex>
+                       <FileNamePattern>${logDirectory}/security.%i.log.zip
+                       </FileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>10MB</maxFileSize>
+               </triggeringPolicy>
+       </appender>
+       <appender name="asyncEELFSecurity"
+               class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>256</queueSize>
+               <appender-ref ref="SECURITY" />
+       </appender>
+       <!-- AAF related loggers -->
+       <logger name="org.onap.aaf" level="INFO" additivity="true">
+               <appender-ref ref="DEBUG" />
+       </logger>
+       <logger name="org.apache.catalina.core" level="INFO"
+               additivity="true">
+               <appender-ref ref="DEBUG" />
+       </logger>
+       <logger name="org.onap.cmso" level="INFO"
+               additivity="true">
+               <appender-ref ref="ERROR" />
+       </logger>
+
+       <!-- CLDS related loggers -->
+       <logger name="com.att.eelf.error" level="OFF" additivity="true">
+               <appender-ref ref="ERROR" />
+       </logger>
+       <!-- EELF related loggers -->
+       <logger name="com.att.eelf.audit" level="INFO"
+               additivity="false">
+               <appender-ref ref="asyncEELFAudit" />
+       </logger>
+       <logger name="com.att.eelf.metrics" level="DEBUG"
+               additivity="false">
+               <appender-ref ref="asyncEELFMetrics" />
+       </logger>
+       <logger name="com.att.eelf.security" level="DEBUG"
+               additivity="false">
+               <appender-ref ref="asyncEELFSecurity" />
+       </logger>
+
+       <!-- Spring related loggers -->
+       <logger name="org.springframework" level="DEBUG" />
+
+       <!-- Other Loggers that may help troubleshoot -->
+       <logger name="org.apache" level="DEBUG" />
+
+       <!-- logback internals logging -->
+       <logger name="ch.qos.logback.classic" level="INFO" />
+       <logger name="ch.qos.logback.core" level="INFO" />
+
+       <!-- logback jms appenders & loggers definition starts here -->
+       <appender name="auditLogs"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+               </filter>
+               <file>${logDirectory}/Audit-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/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">
+               </filter>
+               <file>${logDirectory}/Perform-${lrmRVer}-${lrmRO}-${Pid}.log</file>
+               <rollingPolicy
+                       class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+                       <fileNamePattern>${logDirectory}/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 -->
+
+       <root level="DEBUG">
+               <appender-ref ref="DEBUG" />
+               <appender-ref ref="STDOUT" />
+       </root>
+</included>
+
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/topology.properties b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/resources/config/topology.properties
new file mode 100644 (file)
index 0000000..5ca252f
--- /dev/null
@@ -0,0 +1,30 @@
+#-------------------------------------------------------------------------------
+# Copyright © 2017-2019 AT&T Intellectual Property.
+# Modifications Copyright © 2018 IBM.
+# 
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#         http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# 
+# 
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the â??Licenseâ?\9d);
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#         https://creativecommons.org/licenses/by/4.0/
+# 
+# Unless required by applicable law or agreed to in writing, documentation
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#-------------------------------------------------------------------------------
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/NOTES.txt b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..1103aff
--- /dev/null
@@ -0,0 +1,32 @@
+# Copyright © 2018  AT&T, Amdocs, Bell Canada Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/configmap.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..c439735
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: 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 }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/deployment.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..02f3983
--- /dev/null
@@ -0,0 +1,84 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+      - name: {{ include "common.name" . }}
+        image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        # disable liveness probe when breakpoints set in debugger
+        # so K8s doesn't restart unresponsive container
+        {{- if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end -}}
+        readinessProbe:
+          tcpSocket:
+            port: {{ .Values.service.internalPort }}
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        volumeMounts:
+        - name: {{ include "common.fullname" . }}-logs
+          mountPath: /share/logs
+        - name: {{ include "common.fullname" . }}-logs
+          mountPath: /share/debug-logs
+        - name: {{ include "common.fullname" . }}-config
+          mountPath: /share/etc/config 
+        resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+        - name: {{ include "common.fullname" . }}-config
+          configMap:
+            name: {{ include "common.fullname" . }}
+            items:
+            - key: logback.xml
+              path: logback.xml
+            - key: cadi.properties
+              path: cadi.properties
+            - key: topology.properties
+              path: topology.properties
+        - name:  {{ include "common.fullname" . }}-logs
+          emptyDir: {}
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/service.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/templates/service.yaml
new file mode 100644 (file)
index 0000000..1624a08
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/values.yaml b/kubernetes/oof/charts/oof-cmso/charts/oof-cmso-topology/values.yaml
new file mode 100644 (file)
index 0000000..0d50827
--- /dev/null
@@ -0,0 +1,100 @@
+# Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global: # global defaults
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+
+subChartsOnly:
+  enabled: true
+
+# application image
+repository: nexus3.onap.org:10001
+image: onap/optf-cmso-topology:latest
+pullPolicy: Always
+
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 120
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+
+
+service:
+  type: ClusterIP
+  name: oof-cmso-topology
+  portName: cmso-topology
+  internalPort: 7998
+  externalPort: 7998
+  #nodePort: 23
+  # as of 20181022 port 23 is reserved for cmso
+  # see https://wiki.onap.org/display/DW/OOM+NodePort+List
+
+
+config:
+
+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:
+  small:
+    limits:
+      cpu: 1
+      memory: 1.2Gi
+    requests:
+      cpu: 10m
+      memory: 800Mi
+  large:
+    limits:
+      cpu: 1
+      memory: 1.2Gi
+    requests:
+      cpu: 10m
+      memory: 800Mi
+  unlimited: {}
index e22b8d2..d01c154 100644 (file)
@@ -38,7 +38,6 @@ pnda:
   osUser: centos
   nameserver: 8.8.8.8
   ntp: pool.ntp.org
-  mirrorNodePort: 88
   apps:
     fsType: local
   networkCidr: 10.0.0.0/16
index 5c3a2a1..d7b27a0 100644 (file)
@@ -39,14 +39,3 @@ for CONFIG in ${PROPS_RUNTIME} ${PROPS_INSTALL}; do
                sed -i -e "s/brms.dependency.version=.*/brms.dependency.version=${version}/g" "${CONFIG}"
        fi
 done
-
-DEPS_JSON_RUNTIME="${POLICY_HOME}/servers/brmsgw/dependency.json"
-DEPS_JSON_INSTALL="${POLICY_HOME}/install/servers/brmsgw/dependency.json"
-
-for DEP in ${DEPS_JSON_RUNTIME} ${DEPS_JSON_INSTALL}; do
-       if [ ! -f "${DEP}" ]; then
-               echo "warning: configuration does not exist: ${DEP}"
-       else
-               sed -i -e "s/\"version\":.*-SNAPSHOT\"/\"version\": \"${version}\"/g" "${DEP}"
-       fi
-done
index b074d48..3952a4c 100644 (file)
@@ -26,7 +26,7 @@ PDP_HTTP_PASSWORD=alpha123
 PDP_PAP_PDP_HTTP_USER_ID=testpap
 PDP_PAP_PDP_HTTP_PASSWORD=alpha123
 
-M2_HOME=/usr/share/maven
+M2_HOME=/usr/share/java/maven-3
 snapshotRepositoryID=policy-nexus-snapshots
 snapshotRepositoryName=Snapshots
 snapshotRepositoryURL=http://{{ .Values.global.nexus.nameOverride }}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots
@@ -64,4 +64,4 @@ BRMS_UEB_API_SECRET=
 
 #Dependency.json file version
 BRMS_DEPENDENCY_VERSION=1.3.1
-
+BRMS_MODELS_DEPENDENCY_VERSION=2.0.0-SNAPSHOT
index 3f94223..a5eb7f5 100644 (file)
@@ -15,7 +15,7 @@
 
 #!/bin/bash -xv
 
-for db in support onap_sdk log migration operationshistory10 pooling
+for db in support onap_sdk log migration operationshistory10 pooling policyadmin operationshistory
 do
        mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
        mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
diff --git a/kubernetes/policy/charts/policy-apex-pdp/resources/config/OnapPfConfig.json b/kubernetes/policy/charts/policy-apex-pdp/resources/config/OnapPfConfig.json
new file mode 100644 (file)
index 0000000..8edca60
--- /dev/null
@@ -0,0 +1,16 @@
+{
+    "name":"OnapPfParameterGroup",
+    "restServerParameters": {
+      "host": "0.0.0.0",
+      "port": 6969,
+      "userName": "healthcheck",
+      "password": "zb!XztG34",
+      "https": true
+    },
+    "pdpStatusParameters":{
+        "timeIntervalMs": 120000,
+        "pdpType":"apex",
+        "description":"Pdp Heartbeat",
+        "supportedPolicyTypes":[{"name":"onap.policies.controlloop.Operational","version":"1.0.0"}]
+    }
+}
diff --git a/kubernetes/policy/charts/policy-apex-pdp/resources/config/topic.properties b/kubernetes/policy/charts/policy-apex-pdp/resources/config/topic.properties
new file mode 100644 (file)
index 0000000..b61626b
--- /dev/null
@@ -0,0 +1,23 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+dmaap.source.topics=POLICY-PDP-PAP
+dmaap.sink.topics=POLICY-PDP-PAP
+
+dmaap.source.topics.POLICY-PDP-PAP.servers= message-router
+dmaap.sink.topics.POLICY-PDP-PAP.servers= message-router
\ No newline at end of file
index 318ad34..937a5b4 100644 (file)
@@ -22,5 +22,4 @@ metadata:
   name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/config.json").AsConfig . | indent 2 }}
-
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
index 29a24e6..f1c024b 100644 (file)
@@ -42,9 +42,11 @@ spec:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           command:
-          - /opt/app/policy/apex-pdp/bin/apexEngine.sh
+          - /opt/app/policy/apex-pdp/bin/apexOnapPf.sh
           - -c
-          - /home/apexuser/config/config.json
+          - /home/apexuser/config/OnapPfConfig.json
+          - -p
+          - /home/apexuser/config/topic.properties
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           ports:
           - containerPort: {{ .Values.service.externalPort }}
index 95b2d2c..7099430 100644 (file)
@@ -59,7 +59,7 @@ service:
   type: NodePort
   name: policy-apex-pdp
   portName: policy-apex-pdp
-  externalPort: 12345
+  externalPort: 6969
   nodePort: 37
 
 ingress:
index 9fef199..16e0a51 100644 (file)
         "port":6969,
         "userName":"healthcheck",
         "password":"zb!XztG34"
+    },
+    "databaseProviderParameters": {
+        "name": "PolicyProviderParameterGroup",
+        "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+        "databaseDriver": "org.mariadb.jdbc.Driver",
+        "databaseUrl": "jdbc:mariadb://{{.Values.global.mariadb.nameOverride}}:3306/policyadmin",
+        "databaseUser": "policy_user",
+        "databasePassword": "cG9saWN5X3VzZXI=",
+        "persistenceUnit": "PolicyMariaDb"
     }
-}
+}
\ No newline at end of file
index 2d16b5e..b79c6bf 100644 (file)
@@ -16,6 +16,21 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      initContainers:
+        - command:
+          - /root/ready.py
+          args:
+          - --container-name
+          - {{ .Values.global.mariadb.nameOverride }}
+          env:
+          - name: NAMESPACE
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: metadata.namespace
+          image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
index 8145103..995c951 100644 (file)
         "port":6969,
         "userName":"healthcheck",
         "password":"zb!XztG34"
+    },
+    "pdpParameters": {
+        "updateParameters": {
+            "maxRetryCount": 1,
+            "maxWaitMs": 30000
+        },
+        "stateChangeParameters": {
+            "maxRetryCount": 1,
+            "maxWaitMs": 30000
+        }
+    },
+    "databaseProviderParameters": {
+        "name": "PolicyProviderParameterGroup",
+        "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+        "databaseDriver": "org.mariadb.jdbc.Driver",
+        "databaseUrl": "jdbc:mariadb://{{.Values.global.mariadb.nameOverride}}:3306/policyadmin",
+        "databaseUser": "policy_user",
+        "databasePassword": "cG9saWN5X3VzZXI=",
+        "persistenceUnit": "PolicyMariaDb"
     }
 }
diff --git a/kubernetes/policy/charts/policy-pap/resources/config/topic.properties b/kubernetes/policy/charts/policy-pap/resources/config/topic.properties
new file mode 100644 (file)
index 0000000..c1124a1
--- /dev/null
@@ -0,0 +1,22 @@
+# ============LICENSE_START=======================================================
+# ONAP PAP
+# ================================================================================
+# Copyright (C) 2019 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+dmaap.sink.topics=POLICY-PDP-PAP
+dmaap.sink.topics.POLICY-PDP-PAP.servers=message-router
+dmaap.source.topics=POLICY-PDP-PAP
+dmaap.source.topics.POLICY-PDP-PAP.servers=message-router
index 5618076..19ce6a8 100644 (file)
@@ -22,5 +22,5 @@ metadata:
   name: {{ include "common.fullname" . }}-configmap
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/config.json").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
 
index 5bec94b..4945f76 100644 (file)
@@ -16,12 +16,27 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ .Values.global.mariadb.nameOverride }}
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           command: ["/opt/app/policy/pap/bin/policy-pap.sh"]
-          args: ["/opt/app/policy/pap/etc/mounted/config.json"]
+          args: ["/opt/app/policy/pap/etc/mounted/config.json", "/opt/app/policy/pap/etc/mounted/topic.properties"]
           ports:
           - containerPort: {{ .Values.service.internalPort }}
           # disable liveness probe when breakpoints set in debugger
index f6e13eb..97c6974 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/pomba-aai-context-builder:1.4.0-SNAPSHOT-latest
+image:  onap/pomba-aai-context-builder:1.4.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 40d40b3..014323f 100755 (executable)
@@ -25,7 +25,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/pomba-context-aggregator:1.4.0-SNAPSHOT-latest
+image: onap/pomba-context-aggregator:1.4.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 6afe768..c706442 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/pomba-network-discovery-context-builder:1.4.0-SNAPSHOT-latest
+image:  onap/pomba-network-discovery-context-builder:1.4.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index bddc349..eb1b646 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/pomba-sdc-context-builder:1.4.0-SNAPSHOT-latest
+image:  onap/pomba-sdc-context-builder:1.4.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 7947b18..140aa33 100644 (file)
@@ -24,7 +24,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image:  onap/pomba-sdnc-context-builder:1.4.0-SNAPSHOT-latest
+image:  onap/pomba-sdnc-context-builder:1.4.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index c53a7ae..9f52189 100644 (file)
Binary files a/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.p12 and b/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.p12 differ
index f4a5e5d..87c09a4 100644 (file)
@@ -30,6 +30,62 @@ configuration.ssl_ca_cert = cert
 configuration.api_key['authorization'] = token
 configuration.api_key_prefix['authorization'] = 'Bearer'
 coreV1Api = client.CoreV1Api(client.ApiClient(configuration))
+api_instance=client.ExtensionsV1beta1Api(client.ApiClient(configuration))
+api = client.AppsV1beta1Api(client.ApiClient(configuration))
+batchV1Api = client.BatchV1Api(client.ApiClient(configuration))
+
+def is_job_complete(job_name):
+    complete = False
+    log.info("Checking if " + job_name + "  is complete")
+    response = ""
+    try:
+        response = batchV1Api.read_namespaced_job_status(job_name, namespace)
+        if response.status.succeeded == 1:
+            job_status_type = response.status.conditions[0].type
+            if job_status_type == "Complete":
+                complete = True
+                log.info(job_name + " is complete")
+            else:
+                log.info(job_name + " is not complete")
+        else:
+            log.info(job_name + " has not succeeded yet")
+        return complete
+    except Exception as e:
+        log.error("Exception when calling read_namespaced_job_status: %s\n" % e)
+
+def wait_for_statefulset_complete(statefulset_name):
+    try:
+        response = api.read_namespaced_stateful_set(statefulset_name, namespace)
+        s = response.status
+        if ( s.updated_replicas == response.spec.replicas and
+                s.replicas == response.spec.replicas and
+                s.ready_replicas == response.spec.replicas and
+                s.current_replicas == response.spec.replicas and
+                s.observed_generation == response.metadata.generation):
+            log.info("Statefulset " + statefulset_name + "  is ready")
+            return True
+        else:
+            log.info("Statefulset " + statefulset_name + "  is not ready")
+        return False
+    except Exception as e:
+        log.error("Exception when waiting for Statefulset status: %s\n" % e)
+
+def wait_for_deployment_complete(deployment_name):
+    try:
+        response = api.read_namespaced_deployment(deployment_name, namespace)
+        s = response.status
+        if ( s.unavailable_replicas == None and
+                s.updated_replicas == response.spec.replicas and
+                s.replicas == response.spec.replicas and
+                s.ready_replicas == response.spec.replicas and
+                s.observed_generation == response.metadata.generation):
+            log.info("Deployment " + deployment_name + "  is ready")
+            return True
+        else:
+            log.info("Deployment " + deployment_name + "  is not ready")
+        return False
+    except Exception as e:
+        log.error("Exception when waiting for deployment status: %s\n" % e)
 
 def is_ready(container_name):
     ready = False
@@ -41,28 +97,23 @@ def is_ready(container_name):
             if i.status.container_statuses is None:
                 continue
             for s in i.status.container_statuses:
-                if i.metadata.owner_references[0].kind  == "StatefulSet":
-                    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
-                elif s.name == container_name:
-                    ready = s.ready
-                    if not ready:
-                        log.info(container_name + " is not ready.")
-                    else:
-                        log.info(container_name + " is ready!")
+                if s.name == container_name:
+                    if i.metadata.owner_references[0].kind  == "StatefulSet":
+                        ready = wait_for_statefulset_complete(i.metadata.owner_references[0].name)
+                    elif i.metadata.owner_references[0].kind == "ReplicaSet":
+                        api_response = api_instance.read_namespaced_replica_set_status(i.metadata.owner_references[0].name, namespace)
+                        ready = wait_for_deployment_complete(api_response.metadata.owner_references[0].name)
+                    elif i.metadata.owner_references[0].kind == "Job":
+                        ready = is_job_complete(i.metadata.owner_references[0].name)
+
+                    return ready
+
                 else:
                     continue
         return ready
     except Exception as e:
         log.error("Exception when calling list_namespaced_pod: %s\n" % e)
 
-
 DEF_TIMEOUT = 10
 DESCRIPTION = "Kubernetes container readiness check utility"
 USAGE = "Usage: ready.py [-t <timeout>] -c <container_name> [-c <container_name> ...]\n" \
@@ -105,7 +156,6 @@ def main(argv):
             else:
                 time.sleep(5)
 
-
 if __name__ == "__main__":
     main(sys.argv[1:])
 
index d253ec7..31b8643 100755 (executable)
@@ -1,5 +1,6 @@
 #!/bin/bash
 # Copyright (C) 2018 Amdocs, Bell Canada
+# Modifications Copyright (C) 2019 Samsung
 #
 # 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.
 #
-# Execute tags built to support the hands on demo,
+# Execute tags built to support the hands-on demo
 #
 function usage
 {
-       echo "Usage: demo.sh namespace <command> [<parameters>]"
+       echo "Usage: demo-k8s.sh <namespace> <command> [<parameters>]"
        echo " "
-       echo "       demo.sh <namespace> init"
+       echo "       demo-k8s.sh <namespace> init"
        echo "               - Execute both init_customer + distribute"
        echo " "
-       echo "       demo.sh <namespace> init_customer"
+       echo "       demo-k8s.sh <namespace> init_customer"
        echo "               - Create demo customer (Demonstration) and services, etc."
        echo " "
-       echo "       demo.sh <namespace> distribute  [<prefix>]"
+       echo "       demo-k8s.sh <namespace> distribute  [<prefix>]"
        echo "               - Distribute demo models (demoVFW and demoVLB)"
        echo " "
-       echo "       demo.sh <namespace> preload <vnf_name> <module_name>"
+       echo "       demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
        echo "               - Preload data for VNF for the <module_name>"
        echo " "
-       echo "       demo.sh <namespace> appc <module_name>"
-    echo "               - provide APPC with vFW module mount point for closed loop"
+       echo "       demo-k8s.sh <namespace> appc <module_name>"
+       echo "               - provide APPC with vFW module mount point for closed loop"
        echo " "
-       echo "       demo.sh <namespace> init_robot [ <etc_hosts_prefix> ]"
-    echo "               - Initialize robot after all ONAP VMs have started"
+       echo "       demo-k8s.sh <namespace> init_robot [ <etc_hosts_prefix> ]"
+       echo "               - Initialize robot after all ONAP VMs have started"
        echo " "
-       echo "       demo.sh <namespace> instantiateVFW"
-    echo "               - Instantiate vFW module for the a demo customer (DemoCust<uuid>)"
+       echo "       demo-k8s.sh <namespace> instantiateVFW"
+       echo "               - Instantiate vFW module for the demo customer (DemoCust<uuid>)"
        echo " "
-       echo "       demo.sh <namespace> deleteVNF <module_name from instantiateVFW>"
-    echo "               - Delete the module created by instantiateVFW"
+       echo "       demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
+       echo "               - Delete the module created by instantiateVFW"
        echo " "
-       echo "       demo.sh <namespace> heatbridge <stack_name> <service_instance_id> <service> <oam-ip-address>"
-    echo "               - Run heatbridge against the stack for the given service instance and service"
+       echo "       demo-k8s.sh <namespace> heatbridge <stack_name> <service_instance_id> <service> <oam-ip-address>"
+       echo "               - Run heatbridge against the stack for the given service instance and service"
        echo " "
-       echo "       demo.sh <namespace> vfwclosedloop <pgn-ip-address>"
+       echo "       demo-k8s.sh <namespace> vfwclosedloop <pgn-ip-address>"
         echo "           - vFWCL: Sets the packet generator to high and low rates, and checks whether the policy "
         echo "             kicks in to modulate the rates back to medium"
        echo " "
@@ -110,7 +111,7 @@ do
                        TAG="PreloadDemo"
                        shift
                        if [ $# -ne 2 ];then
-                               echo "Usage: demo.sh <namespace> preload <vnf_name> <module_name>"
+                               echo "Usage: demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
                                exit
                        fi
                        VARIABLES="$VARIABLES -v VNF_NAME:$1"
@@ -122,7 +123,7 @@ do
                        TAG="APPCMountPointDemo"
                        shift
                        if [ $# -ne 1 ];then
-                                       echo "Usage: demo.sh <namespace> appc <module_name>"
+                                       echo "Usage: demo-k8s.sh <namespace> appc <module_name>"
                                        exit
                                fi
                        VARIABLES="$VARIABLES -v MODULE_NAME:$1"
@@ -137,7 +138,7 @@ do
                        TAG="deleteVNF"
                        shift
                        if [ $# -ne 1 ];then
-                               echo "Usage: demo.sh <namespace> deleteVNF <module_name from instantiateVFW>"
+                               echo "Usage: demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
                                exit
                        fi
                        VARFILE=$1.py
@@ -153,7 +154,7 @@ do
                        TAG="heatbridge"
                        shift
                        if [ $# -ne 4 ];then
-                               echo "Usage: demo.sh <namespace> heatbridge <stack_name> <service_instance_id> <service> <oam-ip-address>"
+                               echo "Usage: demo-k8s.sh <namespace> heatbridge <stack_name> <service_instance_id> <service> <oam-ip-address>"
                                exit
                        fi
                        VARIABLES="$VARIABLES -v HB_STACK:$1"
diff --git a/kubernetes/robot/eteHelm-k8s.sh b/kubernetes/robot/eteHelm-k8s.sh
new file mode 100644 (file)
index 0000000..f63c98e
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#!/bin/bash
+
+#
+# Run the testsuite for the passed tag. Valid tags are ete, health, closedloop, instantiate
+# Please clean up logs when you are done...
+# Note: Do not run multiple concurrent ete.sh as the --display is not parameterized and tests will collide
+#
+if [ "$1" == "" ] ;  then
+   echo "Usage: eteHelm-k8s.sh namespace  "
+   echo " list projects via helm list and runs health-check with those tags except dev and dev-consul "
+   exit
+fi
+
+set -x
+
+export NAMESPACE="$1"
+
+POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
+
+PROJECTS=$(helm list | cut -d ' ' -f 1 | grep "-" | grep -v consul  )
+
+TAGS=""
+for project in $PROJECTS ;
+do
+TAGS="$TAGS -i $project"
+done
+
+
+ETEHOME=/var/opt/ONAP
+export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec  ${POD}  -- bash -c "ls -1q /share/logs/ | wc -l")
+OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_helmlist
+DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
+
+VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py"
+VARIABLES="-v GLOBAL_BUILD_NUMBER:$$"
+
+kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display $DISPLAY_NUM
index 5e6288e..85a932e 100644 (file)
@@ -26,7 +26,7 @@ GLOBAL_APPC_SERVER_PROTOCOL = "http"
 GLOBAL_APPC_SERVER_PORT = "8282"
 GLOBAL_APPC_USERNAME = "{{ .Values.appcUsername }}"
 GLOBAL_APPC_PASSWORD = "{{ .Values.appcPassword }}"
-GLOBAL_APPC_CDT_SERVER_PROTOCOL = "http"
+GLOBAL_APPC_CDT_SERVER_PROTOCOL = "https"
 GLOBAL_APPC_CDT_SERVER_PORT = "18080"
 GLOBAL_APPC_CDT_USERNAME = "demo"
 # sdc info - everything is from the private oam network (also called onap private network)
@@ -84,6 +84,11 @@ GLOBAL_MSB_SERVER_PORT = "80"
 # message router info - everything is from the private oam network (also called onap private network)
 GLOBAL_MR_SERVER_PROTOCOL = "http"
 GLOBAL_MR_SERVER_PORT = "3904"
+# bus controller info
+GLOBAL_BC_SERVER_PORT = "8080"
+GLOBAL_BC_HTTPS_SERVER_PORT = "8443"
+GLOBAL_BC_USERNAME = "{{ .Values.bcUsername }}"
+GLOBAL_BC_PASSWORD = "{{ .Values.bcPassword }}"
 # mso info - everything is from the private oam network (also called onap private network)
 GLOBAL_MSO_SERVER_PROTOCOL = "http"
 GLOBAL_MSO_SERVER_PORT = "8080"
index 6684bca..71d9ec0 100644 (file)
@@ -44,6 +44,7 @@ GLOBAL_INJECTED_POMBA_ELASTIC_SEARCH_IP_ADDR = "pomba-es.{{include "common.names
 GLOBAL_INJECTED_POMBA_CONTEX_TAGGREGATOR_IP_ADDR = "pomba-contextaggregator.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_KEYSTONE = "{{ .Values.openStackKeyStoneUrl }}"
 GLOBAL_INJECTED_MR_IP_ADDR = "message-router.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_BC_IP_ADDR = "dmaap-bc.{{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 }}"
@@ -113,6 +114,7 @@ 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_BC_IP_ADDR" : "dmaap-bc.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POMBA_AAI_CONTEXT_BUILDER_IP_ADDR" : "pomba-aaictxbuilder.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POMBA_SDC_CONTEXT_BUILDER_IP_ADDR" : "pomba-sdcctxbuilder.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POMBA_NETWORK_DISC_CONTEXT_BUILDER_IP_ADDR" : "pomba-networkdiscovery.{{include "common.namespace" .}}",
index bc80528..53e6cfe 100755 (executable)
@@ -127,7 +127,9 @@ vidUsername: "demo"
 vidPassword: "Kp8bJ4SXszM0WX"
 vidHealthUsername: "Default"
 vidHealthPassword: "AppPassword!1"
-
+# DMAAP BC
+bcUsername: "dmaap-bc@dmaap-bc.onap.org"
+bcPassword: "demo123456!"
 
 # default number of instances
 replicaCount: 1
index bb5df2b..be9db4c 100755 (executable)
@@ -80,6 +80,7 @@
         },
 
         "cassandra": {
+            "cassandra_port": 9042,
             "concurrent_reads": "32",
             "num_tokens": "256",
             "data_dir": "/var/lib/cassandra/data",
index 34b8c24..ba99020 100644 (file)
@@ -48,7 +48,7 @@ config:
     internalPort: 3306
 
 # default number of instances
-replicaCount: 1
+replicaCount: 0
 
 nodeSelector: {}
 
index 45b74aa..9b96a32 100755 (executable)
 # ============LICENSE_END=========================================================
 ###
 
+# Append features to karaf boot feature configuration
+# $1 additional feature to be added
+# $2 repositories to be added (optional)
+function addToFeatureBoot() {
+  CFG=$ODL_HOME/etc/org.apache.karaf.features.cfg
+  ORIG=$CFG.orig
+  if [ -n "$2" ] ; then
+    echo "Add repository: $2"
+    mv $CFG $ORIG
+    cat $ORIG | sed -e "\|featuresRepositories|s|$|,$2|" > $CFG
+  fi
+  echo "Add boot feature: $1"
+  mv $CFG $ORIG
+  cat $ORIG | sed -e "\|featuresBoot *=|s|$|,$1|" > $CFG
+}
+
+# Append features to karaf boot feature configuration
+# $1 search pattern
+# $2 replacement
+function replaceFeatureBoot() {
+  CFG=$ODL_HOME/etc/org.apache.karaf.features.cfg
+  ORIG=$CFG.orig
+  echo "Replace boot feature $1 with: $2"
+  sed -i "/featuresBoot/ s/$1/$2/g" $CFG
+}
+
+function install_sdnrwt_features() {
+  addToFeatureBoot "$SDNRWT_BOOTFEATURES" $SDNRWT_REPOSITORY
+}
+
 function enable_odl_cluster(){
   if [ -z $SDNC_REPLICAS ]; then
      echo "SDNC_REPLICAS is not configured in Env field"
      exit
   fi
 
+  #Be sure to remove feature odl-netconf-connector-all from list
+  replaceFeatureBoot "odl-netconf-connector-all,"
+
   echo "Installing Opendaylight cluster features"
-  mv $ODL_HOME/etc/org.apache.karaf.features.cfg $ODL_HOME/etc/org.apache.karaf.features.cfg.orig
-  cat $ODL_HOME/etc/org.apache.karaf.features.cfg.orig | sed -e "\|featuresBoot=config|s|$|,odl-mdsal-clustering,odl-jolokia|" > $ODL_HOME/etc/org.apache.karaf.features.cfg
+  replaceFeatureBoot odl-netconf-topology odl-netconf-clustered-topology
+  replaceFeatureBoot odl-mdsal-all odl-mdsal-all,odl-mdsal-clustering
+  addToFeatureBoot odl-jolokia
   #${ODL_HOME}/bin/client feature:install odl-mdsal-clustering
   #${ODL_HOME}/bin/client feature:install odl-jolokia
+  
 
   echo "Update cluster information statically"
   hm=$(hostname)
@@ -88,6 +123,13 @@ MYSQL_HOST=${MYSQL_HOST:-{{.Values.config.dbServiceName}}.{{.Release.Namespace}}
 ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
 GEO_ENABLED=${GEO_ENABLED:-false}
 DBINIT_DIR=${DBINIT_DIR:-/opt/opendaylight/current/daexim}
+SDNRWT=${SDNRWT:-false}
+SDNRWT_BOOTFEATURES=${SDNRWT_BOOTFEATURES:-sdnr-wt-feature-aggregator}
+
+echo "Settings:"
+echo "  ENABLE_ODL_CLUSTER=$ENABLE_ODL_CLUSTER"
+echo "  SDNC_REPLICAS=$SDNC_REPLICAS"
+echo "  SDNRWT=$SDNRWT"
 
 #
 # Wait for database to init properly
@@ -129,6 +171,8 @@ then
 
        if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi
 
+       if $SDNRWT ; then install_sdnrwt_features ; fi
+
         echo "Installed at `date`" > ${SDNC_HOME}/.installed
 fi
 
index 0078711..13b7271 100755 (executable)
@@ -87,8 +87,10 @@ ecomp:
         pollTimeout: 7500
         pollInterval: 15
 mso:
-  auth: D1A67FA93B6A6419132D0F83CC771AF774FD3C60853C50C22C8C6FC5088CC79E9E81EDE9EA39F22B2F66A0068E
+  auth: BEA8637716A7EB617DF472BA6552D22F68C1CB17B0D094D77DDA562F4ADAAC4457CAB848E1A4
   logPath: ./logs/openstack
+  msb-ip: msb-iag.{{ include "common.namespace" . }}
+  msb-port: 80
   workflow:
     endpoint: http://so-bpmn-infra.{{ include "common.namespace" . }}:8081/sobpmnengine
   msoKey: 07a7159d3bf51a0e53be7a8f89699be7
index 0b52949..236f5d5 100755 (executable)
@@ -32,3 +32,10 @@ mso:
   logPath: ./logs/vnfm-adapter
   msb-ip: msb-iag.{{ include "common.namespace" . }}
   msb-port: 80
+sdc:
+  username: mso
+  password: 76966BDD3C7414A03F7037264FF2E6C8EEC6C28F2B67F2840A1ED857C0260FEE731D73F47F828E5527125D29FD25D3E0DE39EE44C058906BF1657DE77BF897EECA93BDC07FA64F
+  key: 566B754875657232314F5548556D3665
+  endpoint: https://sdc-be.{{ include "common.namespace" . }}:8443
+vnfmadapter:
+  endpoint: https://so-vnfm-adapter.{{ include "common.namespace" . }}:9092
index 44efb4d..b5b4f35 100755 (executable)
@@ -49,6 +49,8 @@ mso:
   aai:
     endpoint: https://aai.{{ include "common.namespace" . }}:8443
     auth: 6E081E10B1CA43A843E303733A74D9B23B601A6E22A21C7EF2C7F15A42F81A1A4E85E65268C2661F71321052C7F3E55B96A8E1E951F8BF6F
+  extApi:
+    endpoint: http://nbi.onap:8080/nbi/api/v3
   so:
     operational-environment:
       dmaap: