Merge "Set -STAGING version for champ"
authorJames MacNider <James.MacNider@amdocs.com>
Tue, 9 Apr 2019 15:26:17 +0000 (15:26 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 9 Apr 2019 15:26:17 +0000 (15:26 +0000)
104 files changed:
kubernetes/aaf/charts/aaf-sms/values.yaml
kubernetes/aai/charts/aai-babel/resources/config/tosca-mappings.json
kubernetes/aai/charts/aai-elasticsearch/resources/config/sg/sg_config.yml
kubernetes/cds/charts/blueprints-processor/requirements.yaml
kubernetes/cds/charts/blueprints-processor/resources/config/application.properties
kubernetes/cds/charts/blueprints-processor/templates/deployment.yaml
kubernetes/cds/charts/blueprints-processor/templates/service.yaml
kubernetes/cds/charts/blueprints-processor/values.yaml
kubernetes/cds/charts/controller-blueprints/requirements.yaml
kubernetes/cds/charts/controller-blueprints/resources/config/application.properties
kubernetes/cds/charts/controller-blueprints/templates/deployment.yaml
kubernetes/cds/charts/controller-blueprints/templates/secrets.yaml [deleted file]
kubernetes/cds/charts/controller-blueprints/values.yaml
kubernetes/cds/requirements.yaml
kubernetes/cds/values.yaml
kubernetes/clamp/resources/config/log/filebeat/filebeat.yml
kubernetes/consul/resources/config/consul-agent-config/multicloud-health-check.json
kubernetes/contrib/tools/rke/rke_setup.sh [new file with mode: 0755]
kubernetes/dcaegen2/charts/dcae-bootstrap/resources/config/k8s-plugin.json
kubernetes/dcaegen2/charts/dcae-bootstrap/values.yaml
kubernetes/dcaegen2/charts/dcae-cloudify-manager/values.yaml
kubernetes/dcaegen2/charts/dcae-config-binding-service/templates/service.yaml
kubernetes/dcaegen2/charts/dcae-config-binding-service/values.yaml
kubernetes/dcaegen2/charts/dcae-deployment-handler/values.yaml
kubernetes/dcaegen2/charts/dcae-healthcheck/values.yaml
kubernetes/dcaegen2/charts/dcae-policy-handler/values.yaml
kubernetes/dmaap/components/dmaap-bc/resources/config/dmaapbc.properties
kubernetes/dmaap/components/dmaap-bc/templates/post-install-job.yaml
kubernetes/dmaap/components/dmaap-bc/values.yaml
kubernetes/dmaap/components/dmaap-dr-node/templates/post-install-job.yaml
kubernetes/dmaap/components/dmaap-dr-node/values.yaml
kubernetes/dmaap/components/dmaap-dr-prov/resources/feeds/DefaultPM.json
kubernetes/dmaap/components/dmaap-dr-prov/templates/post-install-job.yaml
kubernetes/dmaap/components/dmaap-dr-prov/values.yaml
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/service-hs.yaml [moved from kubernetes/cds/charts/blueprints-processor/templates/secrets.yaml with 67% similarity, mode: 0644]
kubernetes/dmaap/components/message-router/charts/message-router-kafka/templates/service.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/Chart.yaml [new file with mode: 0644]
kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/templates/NOTES.txt [new file with mode: 0644]
kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/templates/deployment.yaml [new file with mode: 0644]
kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/values.yaml [new file with mode: 0644]
kubernetes/dmaap/components/message-router/charts/message-router-zookeeper/values.yaml
kubernetes/dmaap/components/message-router/resources/config/dmaap/MsgRtrApi.properties
kubernetes/dmaap/components/message-router/resources/config/dmaap/cadi.properties
kubernetes/dmaap/components/message-router/resources/mr_clusters/san-francisco.json [new file with mode: 0644]
kubernetes/dmaap/components/message-router/resources/topics/MMagent.json [deleted file]
kubernetes/dmaap/components/message-router/resources/topics/PM_MAPPER.json [new file with mode: 0644]
kubernetes/dmaap/components/message-router/resources/topics/mirrormakeragent.json [new file with mode: 0644]
kubernetes/dmaap/components/message-router/templates/post-install-job.yaml
kubernetes/dmaap/components/message-router/templates/statefulset.yaml
kubernetes/dmaap/components/message-router/values.yaml
kubernetes/dmaap/values.yaml
kubernetes/multicloud/charts/multicloud-starlingx/.helmignore [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-starlingx/Chart.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-starlingx/resources/config/log/log.yml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-starlingx/templates/NOTES.txt [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-starlingx/templates/configmap.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-starlingx/templates/deployment.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-starlingx/templates/service.yaml [new file with mode: 0644]
kubernetes/multicloud/charts/multicloud-starlingx/values.yaml [new file with mode: 0644]
kubernetes/multicloud/resources/config/provider-plugin.json
kubernetes/nbi/values.yaml
kubernetes/onap/resources/environments/dev.yaml
kubernetes/onap/resources/environments/minimal-onap.yaml
kubernetes/onap/resources/environments/public-cloud.yaml
kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml
kubernetes/policy/charts/drools/resources/config/drools/settings.xml [deleted file]
kubernetes/policy/charts/drools/resources/config/log/drools/logback.xml [deleted file]
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/apps-install.sh [deleted file]
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-preinstall.sh [deleted file]
kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-tweaks.sh [deleted file]
kubernetes/policy/charts/drools/templates/configmap.yaml
kubernetes/policy/charts/drools/templates/statefulset.yaml
kubernetes/policy/charts/drools/values.yaml
kubernetes/policy/charts/policy-xacml-pdp/Chart.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-xacml-pdp/requirements.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-xacml-pdp/resources/config/config.json [new file with mode: 0644]
kubernetes/policy/charts/policy-xacml-pdp/templates/configmap.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-xacml-pdp/templates/deployment.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-xacml-pdp/templates/service.yaml [new file with mode: 0644]
kubernetes/policy/charts/policy-xacml-pdp/values.yaml [new file with mode: 0644]
kubernetes/pomba/charts/pomba-contextaggregator/resources/config/builders/sdc.properties
kubernetes/pomba/charts/pomba-contextaggregator/templates/service.yaml [new file with mode: 0644]
kubernetes/pomba/charts/pomba-contextaggregator/values.yaml
kubernetes/pomba/charts/pomba-elasticsearch/values.yaml
kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json [deleted file]
kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json [deleted file]
kubernetes/pomba/charts/pomba-kibana/templates/deployment.yaml
kubernetes/pomba/charts/pomba-kibana/values.yaml
kubernetes/pomba/charts/pomba-sdncctxbuilder/resources/config/application.properties
kubernetes/pomba/charts/pomba-search-data/resources/config/es-payload-translation.json
kubernetes/pomba/charts/pomba-servicedecomposition/values.yaml
kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.jks [deleted file]
kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.p12
kubernetes/robot/resources/config/eteshare/config/integration_robot_properties.py
kubernetes/robot/resources/config/eteshare/config/vm_properties.py
kubernetes/sdc/charts/sdc-wfd-be/templates/_helper.tpl [new file with mode: 0644]
kubernetes/sdc/charts/sdc-wfd-be/templates/deployment.yaml
kubernetes/sdc/charts/sdc-wfd-be/values.yaml
kubernetes/sdnc/resources/config/bin/startODL.sh
kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml
kubernetes/so/charts/so-openstack-adapter/resources/config/overrides/override.yaml
kubernetes/so/charts/so-vnfm-adapter/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 c67b3e2..5be6097 100644 (file)
                {
                        "type": "SERVICE",
                        "name": "service-instance",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "46b92144-923a-4d20-b85a-3cbd847668a9",
+                       "modelInvariantId": "82194af1-3c2c-485a-8f44-420e22a9eaa4"
                },
                {
                        "type": "VF",
                        "name": "generic-vnf",
-                       "deleteFlag": false
+                       "deleteFlag": false,
+                       "modelVersionId": "93a6166f-b3d5-4f06-b4ba-aed48d009ad9",
+                       "modelInvariantId": "acc6edd8-a8d4-4b93-afaa-0994068be14c"
                },
                {
                        "type": "VFC",
                        "name": "vnfc",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "5761e0a7-c6df-4d8a-9ebd-b8f445054dec",
+                       "modelInvariantId": "96129eb9-f0de-4e05-8af2-73146473f766"
                },
                {
                        "type": "VSERVER",
                        "name": "vserver",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "8ecb2c5d-7176-4317-a255-26274edfdd53",
+                       "modelInvariantId": "ff69d4e0-a8e8-4108-bdb0-dd63217e63c7"
                },
                {
                        "type": "VOLUME",
                        "name": "volume",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "0fbe2e8f-4d91-4415-a772-88387049b38d",
+                       "modelInvariantId": "ddd739b4-2b25-46c4-affc-41a32af5cc42"
                },
                {
                        "type": "FLAVOR",
                        "name": "flavor",
-                       "deleteFlag": false
+                       "deleteFlag": false,
+                       "modelVersionId": "36200fb5-f251-4f5d-a520-7c5ad5c2cd4b",
+                       "modelInvariantId": "bace8d1c-a261-4041-9e37-823117415d0f"
                },
                {
                        "type": "TENANT",
                        "name": "tenant",
-                       "deleteFlag": false
+                       "deleteFlag": false,
+                       "modelVersionId": "abcc54bc-bb74-49dc-9043-7f7171707545",
+                       "modelInvariantId": "97c26c99-6870-44c1-8a07-1d900d3f4ce6"
                },
                {
                        "type": "VOLUME_GROUP",
                        "name": "volume-group",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "99d44c90-1f61-4418-b9a6-56586bf38c79",
+                       "modelInvariantId": "fcec1b02-b2d0-4834-aef8-d71be04717dd"
                },
                {
                        "type": "LINT",
                        "name": "l-interface",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "a32613fd-18b9-459e-aab8-fffb3912966a",
+                       "modelInvariantId": "cea0a982-8d55-4093-921e-418fbccf7060"
                },
                {
                        "type": "L3_NET",
                        "name": "l3-network",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "9111f20f-e680-4001-b83f-19a2fc23bfc1",
+                       "modelInvariantId": "3d560d81-57d0-438b-a2a1-5334dba0651a"
                },
                {
                        "type": "VFMODULE",
                        "name": "vf-module",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "c00563ae-812b-4e62-8330-7c4d0f47088a",
+                       "modelInvariantId": "ef86f9c5-2165-44f3-8fc3-96018b609ea5"
                },
                {
                        "type": "IMAGE",
                        "name": "image",
-                       "deleteFlag": false
+                       "deleteFlag": false,
+                       "modelVersionId": "f6a038c2-820c-42ba-8c2b-375e24e8f932",
+                       "modelInvariantId": "3f4c7204-739b-4bbb-87a7-8a6856439c90"
                },
                {
                        "type": "OAM_NETWORK",
                        "name": "oam-network",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "f4fb34f3-fd6e-4a8f-a3fb-4ab61a343b79",
+                       "modelInvariantId": "2851cf01-9c40-4064-87d4-6184a6fcff35"
                },
                {
                        "type": "ALLOTTED_RESOURCE",
                        "name": "allotted-resource",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "7ad0915f-25c0-4a70-b9bc-185a75f87564",
+                       "modelInvariantId": "f6d6a23d-a1a9-48ff-8419-b6530da2d381"
                },
                {
                        "type": "TUNNEL_XCONNECT",
                        "name": "tunnel-xconnect",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "e7cb4ca8-e1a5-4487-a716-4ae0bcd8aef5",
+                       "modelInvariantId": "50b9e2fa-005c-4bbe-b651-3251dece4cd8"
                },
                {
                        "type": "CONFIGURATION",
                        "name": "configuration",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "5a175add-57e4-4a5d-8b02-c36f1d69c52b",
+                       "modelInvariantId": "166c050d-f69d-4305-943e-0bc58c3a26cf"
                },
                {
                        "type": "CR",
                        "name": "cr",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "3f908abc-3a15-40d0-b674-2a639e52884d",
+                       "modelInvariantId": "8bac3599-9a1c-4b7f-80e5-c1838f744c23"
                },
                {
                        "type": "INSTANCE_GROUP",
                        "name": "instance-group",
-                       "deleteFlag": true
+                       "deleteFlag": true,
+                       "modelVersionId": "8e6ee9dc-9017-444a-83b3-219edb018128",
+                       "modelInvariantId": "3bf1e610-45f7-4ad6-b833-ca4c5ee6a3fd"
                }
        ],
        "widgetMappings": [
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 1d06a38..9f92507 100755 (executable)
@@ -13,9 +13,6 @@
 # limitations under the License.
 
 dependencies:
-  - name: mariadb-galera
-    version: ~4.x-0
-    repository: file://../mariadb-galera/
   - name: common
     version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 9d1c957..c25176f 100755 (executable)
 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
 #  See the License for the specific language governing permissions and\r
 #  limitations under the License.\r
-#logging.level.web=DEBUG\r
-appName={{.Values.config.applicationName}}\r
-ms_name={{.Values.config.msName}}\r
-appVersion={{.Values.config.bundleVersion}}\r
-blueprintsprocessor.grpcEnable={{.Values.config.grpcEnabled}}\r
-blueprintsprocessor.httpPort={{.Values.service.http.internalPort}}\r
-blueprintsprocessor.grpcPort={{.Values.service.grpc.internalPort}}\r
-#Blueprint Processor File Execution and Handling Properties\r
+\r
+# Functionality config\r
+blueprintsprocessor.grpcEnable=true\r
+blueprintsprocessor.restconfEnabled=true\r
+blueprintsprocessor.httpPort=8080\r
+blueprintsprocessor.grpcPort=9111\r
+\r
+# Basic Authentication\r
+security.user.password: {bcrypt}$2a$10$duaUzVUVW0YPQCSIbGEkQOXwafZGwQ/b32/Ys4R1iwSSawFgz7QNu\r
+security.user.name: ccsdkapps\r
+\r
+# Blueprint Processor File Execution and Handling Properties\r
 blueprintsprocessor.blueprintDeployPath=/opt/app/onap/blueprints/deploy\r
 blueprintsprocessor.blueprintArchivePath=/opt/app/onap/blueprints/archive\r
-#Primary Database Configuration\r
-blueprintsprocessor.db.primary.url=jdbc:mysql://blueprints-processor-db:3306/sdnctl\r
+\r
+# Primary Database Configuration\r
+blueprintsprocessor.db.primary.url=jdbc:mysql://cds-db:3306/sdnctl\r
 blueprintsprocessor.db.primary.username=sdnctl\r
 blueprintsprocessor.db.primary.password=sdnctl\r
 blueprintsprocessor.db.primary.driverClassName=org.mariadb.jdbc.Driver\r
@@ -30,5 +35,13 @@ blueprintsprocessor.db.primary.hibernateHbm2ddlAuto=update
 blueprintsprocessor.db.primary.hibernateDDLAuto=update\r
 blueprintsprocessor.db.primary.hibernateNamingStrategy=org.hibernate.cfg.ImprovedNamingStrategy\r
 blueprintsprocessor.db.primary.hibernateDialect=org.hibernate.dialect.MySQL5InnoDBDialect\r
-# Web server config\r
-server.port=8080
\ No newline at end of file
+\r
+# Python executor\r
+blueprints.processor.functions.python.executor.executionPath=/opt/app/onap/scripts/jython/ccsdk_blueprints\r
+blueprints.processor.functions.python.executor.modulePaths=/opt/app/onap/scripts/jython/ccsdk_blueprints,/opt/app/onap/scripts/jython/ccsdk_netconf\r
+\r
+# SDN-C's ODL Restconf Connection Details\r
+blueprintsprocessor.restclient.sdncodl.type=basic-auth\r
+blueprintsprocessor.restclient.sdncodl.url=http://sdnc:8282/\r
+blueprintsprocessor.restclient.sdncodl.username=admin\r
+blueprintsprocessor.restclient.sdncodl.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
\ No newline at end of file
index 5629913..876f249 100755 (executable)
@@ -35,7 +35,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ index .Values "mariadb-galera" "nameOverride" }}
+        - cds-db
         env:
         - name: NAMESPACE
           valueFrom:
@@ -64,6 +64,9 @@ spec:
             httpGet:
               path: /api/v1/execution-service/ping
               port: {{ .Values.service.http.internalPort }}
+              httpHeaders:
+              - name: Authorization
+                value: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end }}
@@ -71,6 +74,9 @@ spec:
             httpGet:
               path: /api/v1/execution-service/ping
               port: {{ .Values.service.http.internalPort }}
+              httpHeaders:
+              - name: Authorization
+                value: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           volumeMounts:
index 4c1c32c..5c8bc8c 100755 (executable)
@@ -31,15 +31,13 @@ spec:
       {{- if eq .Values.service.type "NodePort"}}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
       {{- end}}
-      name: {{ .Values.service.portName | default "http" }}
-    {{- if .Values.config.grpcEnabled}}
+      name: {{ .Values.service.http.portName | default "http" }}
     - port: {{ .Values.service.grpc.externalPort }}
       targetPort: {{ .Values.service.grpc.internalPort }}
       {{- if eq .Values.service.type "NodePort"}}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
       {{- end}}
-      name: {{ .Values.service.portName | default "http" }}
-    {{- end}}
+      name: {{ .Values.service.grpc.portName | default "grpc" }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
\ No newline at end of file
index 2edcc8a..10169d5 100755 (executable)
@@ -40,7 +40,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/ccsdk-blueprintsprocessor:0.4.1
+image: onap/ccsdk-blueprintsprocessor:0.4-STAGING-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -48,28 +48,7 @@ debugEnabled: false
 
 # application configuration
 config:
-  applicationName: BlueprintsProcessor
-  msName: "org.onap.ccsdk.apps.blueprintsprocessor"
-  bundleVersion: "1.0.0"
   appConfigDir: /opt/app/onap/config
-  grpcEnabled: false
-  stickySelectorKey:
-  envContext: DEV
-
-mariadb-galera:
-  config:
-    userName: sdnctl
-    userPassword: sdnctl
-    mariadbRootPassword: sdnctl
-    mysqlDatabase: sdnctl
-  nameOverride: blueprints-processor-db
-  service:
-    name: blueprints-processor-db
-    portName: bp-db
-  replicaCount: 1
-  persistence:
-    enabled: true
-    mountSubPath: blueprints-processor/data
 
 # default number of instances
 replicaCount: 1
@@ -92,11 +71,12 @@ readiness:
 
 service:
   type: ClusterIP
-  portName: blueprints-processor
   http:
+    portName: blueprints-processor-http
     internalPort: 8080
     externalPort: 8080
   grpc:
+    portName: blueprints-processor-grpc
     internalPort: 9111
     externalPort: 9111
 
index cefe3d3..857a963 100644 (file)
@@ -13,9 +13,6 @@
 # limitations under the License.
 
 dependencies:
-  - name: mariadb-galera
-    version: ~4.x-0
-    repository: file://../mariadb-galera/
   - name: common
     version: ~4.x-0
     repository: '@local'
\ No newline at end of file
index 7eec7f9..80fdaf5 100755 (executable)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
-appName=ControllerBluePrints
-ms_name=org.onap.ccsdk.apps.controllerblueprints
-appVersion=1.0.0
 
 # Basic Authentication
 basic-auth.user-name=ccsdkapps
@@ -26,20 +22,19 @@ logging.level.org.springframework.web=INFO
 logging.level.org.hibernate.SQL=warn
 logging.level.org.hibernate.type.descriptor.sql=debug
 
-#To Remove Null in JSON API Response
+# To Remove Null in JSON API Response
 spring.jackson.default-property-inclusion=non_null
 
-#Swagger Configuration
+# Swagger Configuration
 swagger.contact.name=CCSDK team
 swagger.contact.url=www.onap.org
 swagger.contact.email=onap-discuss@lists.onap.org
 
+# DB information
 spring.jpa.properties.hibernate.show_sql=true
 spring.jpa.properties.hibernate.use_sql_comments=true
 spring.jpa.properties.hibernate.format_sql=true
-
-# spring.datasource.url, spring.datasource.username,spring.datasource.password  may be overridden by ENV variables
-spring.datasource.url=jdbc:mysql://controller-blueprints-db:3306/sdnctl
+spring.datasource.url=jdbc:mysql://cds-db:3306/sdnctl
 spring.datasource.username=sdnctl
 spring.datasource.password=sdnctl
 spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
index ef8b38f..4cd2e18 100755 (executable)
@@ -37,7 +37,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ index .Values "mariadb-galera" "nameOverride" }}
+        - cds-db
         env:
         - name: NAMESPACE
           valueFrom:
diff --git a/kubernetes/cds/charts/controller-blueprints/templates/secrets.yaml b/kubernetes/cds/charts/controller-blueprints/templates/secrets.yaml
deleted file mode 100644 (file)
index b4ab161..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (c) 2018 Amdocs, Bell Canada
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.fullname" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-type: Opaque
-data:
-  db-root-password: {{ index .Values "mariadb-galera" "config" "mariadbRootPassword" | b64enc | quote }}
-  restUser: {{ .Values.config.restUser | b64enc | quote }}
-  restPassword: {{ .Values.config.restPassword | b64enc | quote }}
index 02b5685..246aae4 100755 (executable)
@@ -48,23 +48,6 @@ debugEnabled: false
 config:
   appConfigDir: /opt/app/onap/config
   initDataLoad: true
-  restUser: ccsdkapps
-  restPassword: ccsdkapps
-
-mariadb-galera:
-  config:
-      userName: sdnctl
-      userPassword: sdnctl
-      mariadbRootPassword: sdnctl
-      mysqlDatabase: sdnctl
-  nameOverride: controller-blueprints-db
-  service:
-    name: controller-blueprints-db
-    portName: cb-db
-  replicaCount: 1
-  persistence:
-    enabled: true
-    mountSubPath: controller-blueprints/data
 
 # default number of instances
 replicaCount: 1
index d7b38dc..51a4e3f 100644 (file)
@@ -17,3 +17,6 @@ dependencies:
   - name: common
     version: ~4.x-0
     repository: '@local'
+  - name: mariadb-galera
+    version: ~4.x-0
+    repository: '@local'
\ No newline at end of file
index 3815d9a..06b7cd1 100644 (file)
@@ -34,6 +34,20 @@ pullPolicy: Always
 # application configuration
 config:
 
+mariadb-galera:
+  config:
+      userName: sdnctl
+      userPassword: sdnctl
+      mariadbRootPassword: sdnctl
+      mysqlDatabase: sdnctl
+  nameOverride: cds-db
+  service:
+    name: cds-db
+    portName: cds-db
+  replicaCount: 1
+  persistence:
+    enabled: true
+    mountSubPath: cds/data
 
 # default number of instances
 replicaCount: 1
index 0c1f3bc..dab2e44 100644 (file)
@@ -16,15 +16,14 @@ filebeat.prospectors:
 - input_type: log
   #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
   paths:
-    - /var/log/ONAP/*/*/*/*.log
-    - /var/log/ONAP/*/*/*.log
-    - /var/log/ONAP/*/*.log
+    - /var/log/onap/*/*/*/*.log
+    - /var/log/onap/*/*/*.log
+    - /var/log/onap/*/*.log
   #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
   ignore_older: 48h
   # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
   clean_inactive: 96h
 
-
 # Name of the registry file. If a relative path is used, it is considered relative to the
 # data path. Else full qualified file name.
 #filebeat.registry_file: ${path.data}/registry
index 51f2acc..7bc9ff0 100644 (file)
         "interval": "15s",
         "timeout": "1s"
       },
+      {
+        "id": "multicloud-starlingx",
+        "name": "Multicloud Starlingx Health Check",
+        "http": "http://multicloud-starlingx:9009/api/multicloud-starlingx/v0/swagger.json",
+        "method": "HEAD",
+        "header": {
+          "Cache-Control": ["no-cache"],
+          "Content-Type": ["application/json"],
+          "Accept": ["application/json"]
+        },
+        "tls_skip_verify": true,
+        "interval": "15s",
+        "timeout": "1s"
+      },
       {
         "id": "multicloud-vio",
         "name": "Multicloud Vio Health Check",
diff --git a/kubernetes/contrib/tools/rke/rke_setup.sh b/kubernetes/contrib/tools/rke/rke_setup.sh
new file mode 100755 (executable)
index 0000000..cc71522
--- /dev/null
@@ -0,0 +1,355 @@
+#!/bin/bash
+#############################################################################
+# Copyright © 2019 Bell.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#############################################################################
+#
+# This installation is for an RKE install of kubernetes
+# after this run the standard oom install
+# this installation can be run on amy ubuntu 16.04 VM, RHEL 7.6 (root only), physical or cloud azure/aws host
+# https://wiki.onap.org/display/DW/OOM+RKE+Kubernetes+Deployment
+# source from https://jira.onap.org/browse/OOM-1598
+#
+# master/dublin 
+#     RKE 0.1.16 Kubernetes 1.11.6, kubectl 1.11.6, Helm 2.9.1, Docker 18.06
+# single node install, HA pending
+
+usage() {
+cat <<EOF
+Usage: $0 [PARAMs]
+example
+sudo ./rke_setup.sh -b dublin -s rke.onap.cloud -e onap -l amdocs -v true
+-u                  : Display usage
+-b [branch]         : branch = master or dublin (required)
+-s [server]         : server = IP or DNS name (required)
+-e [environment]    : use the default (onap)
+-k [key]            : ssh key name
+-l [username]       : login username account (use ubuntu for example)
+EOF
+}
+
+install_onap() {
+  #constants
+  PORT=8880
+  if [ "$BRANCH" == "casablanca" ]; then
+    KUBERNETES_VERSION=
+    RKE_VERSION=0.1.15
+    KUBECTL_VERSION=1.11.3
+    HELM_VERSION=2.9.1
+    DOCKER_VERSION=17.03
+  else
+    KUBERNETES_VERSION=
+    RKE_VERSION=0.1.16
+    KUBECTL_VERSION=1.11.6
+    HELM_VERSION=2.9.1
+    DOCKER_VERSION=18.06
+  fi
+  # copy your private ssh key and cluster.yml file to the vm
+  # on your dev machine
+  #sudo cp ~/.ssh/onap_rsa .
+  #sudo chmod 777 onap_rsa 
+  #scp onap_rsa ubuntu@192.168.241.132:~/
+  # on this vm
+  #sudo chmod 400 onap_rsa 
+  #sudo cp onap_rsa ~/.ssh
+  # make sure public key is insetup correctly in 
+  # sudo vi ~/.ssh/authorized_keys
+
+  echo "please supply your ssh key as provided by the -k keyname - it must be be chmod 400 and chown user:user in ~/.ssh/"
+  echo "The RKE version specific cluster.yaml is already integrated in this script for 0.1.15/0.1.16 no need for below generation..."
+  echo "rke config --name cluster.yml"
+  echo "specifically"
+  echo "address: $SERVER"
+  echo "user: $USERNAME"
+  echo "ssh_key_path: $SSHPATH_PREFIX/$SSHKEY" 
+  
+  RKETOOLS=
+  HYPERCUBE=
+  POD_INFRA_CONTAINER=
+  if [ "$RKE_VERSION" == "0.1.16" ]; then  
+    RKETOOLS=0.1.15
+    HYPERCUBE=1.11.6-rancher1
+    POD_INFRA_CONTAINER=rancher/pause-amd64:3.1
+  else
+    # 0.1.15
+    RKETOOLS=0.1.14
+    HYPERCUBE=1.11.3-rancher1
+    POD_INFRA_CONTAINER=gcr.io.google_containers/pause-amd64:3.1
+  fi
+
+  cat > cluster.yml <<EOF
+# generated from rke_setup.sh
+nodes:
+- address: $SERVER
+  port: "22"
+  internal_address: ""
+  role:
+  - controlplane
+  - worker
+  - etcd
+  hostname_override: ""
+  user: $USERNAME
+  docker_socket: /var/run/docker.sock
+  ssh_key: ""
+  ssh_key_path: $SSHPATH_PREFIX/$SSHKEY
+  labels: {}
+services:
+  etcd:
+    image: ""
+    extra_args: {}
+    extra_binds: []
+    extra_env: []
+    external_urls: []
+    ca_cert: ""
+    cert: ""
+    key: ""
+    path: ""
+    snapshot: null
+    retention: ""
+    creation: ""
+  kube-api:
+    image: ""
+    extra_args: {}
+    extra_binds: []
+    extra_env: []
+    service_cluster_ip_range: 10.43.0.0/16
+    service_node_port_range: ""
+    pod_security_policy: false
+  kube-controller:
+    image: ""
+    extra_args: {}
+    extra_binds: []
+    extra_env: []
+    cluster_cidr: 10.42.0.0/16
+    service_cluster_ip_range: 10.43.0.0/16
+  scheduler:
+    image: ""
+    extra_args: {}
+    extra_binds: []
+    extra_env: []
+  kubelet:
+    image: ""
+    extra_args:
+      max-pods: 900
+    extra_binds: []
+    extra_env: []
+    cluster_domain: cluster.local
+    infra_container_image: ""
+    cluster_dns_server: 10.43.0.10
+    fail_swap_on: false
+  kubeproxy:
+    image: ""
+    extra_args: {}
+    extra_binds: []
+    extra_env: []
+network:
+  plugin: canal
+  options: {}
+authentication:
+  strategy: x509
+  options: {}
+  sans: []
+system_images:
+  etcd: rancher/coreos-etcd:v3.2.18
+  alpine: rancher/rke-tools:v$RKETOOLS
+  nginx_proxy: rancher/rke-tools:v$RKETOOLS
+  cert_downloader: rancher/rke-tools:v$RKETOOLS
+  kubernetes_services_sidecar: rancher/rke-tools:v$RKETOOLS
+  kubedns: rancher/k8s-dns-kube-dns-amd64:1.14.10
+  dnsmasq: rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.10
+  kubedns_sidecar: rancher/k8s-dns-sidecar-amd64:1.14.10
+  kubedns_autoscaler: rancher/cluster-proportional-autoscaler-amd64:1.0.0
+  kubernetes: rancher/hyperkube:v$HYPERCUBE
+  flannel: rancher/coreos-flannel:v0.10.0
+  flannel_cni: rancher/coreos-flannel-cni:v0.3.0
+  calico_node: rancher/calico-node:v3.1.3
+  calico_cni: rancher/calico-cni:v3.1.3
+  calico_controllers: ""
+  calico_ctl: rancher/calico-ctl:v2.0.0
+  canal_node: rancher/calico-node:v3.1.3
+  canal_cni: rancher/calico-cni:v3.1.3
+  canal_flannel: rancher/coreos-flannel:v0.10.0
+  wave_node: weaveworks/weave-kube:2.1.2
+  weave_cni: weaveworks/weave-npc:2.1.2
+  pod_infra_container: $POD_INFRA_CONTAINER
+  ingress: rancher/nginx-ingress-controller:0.16.2-rancher1
+  ingress_backend: rancher/nginx-ingress-controller-defaultbackend:1.4
+  metrics_server: rancher/metrics-server-amd64:v0.2.1
+ssh_key_path: $SSHPATH
+ssh_agent_auth: false
+authorization:
+  mode: rbac
+  options: {}
+ignore_docker_version: false
+kubernetes_version: "$KUBERNETES_VERSION"
+private_registries: []
+ingress:
+  provider: ""
+  options: {}
+  node_selector: {}
+  extra_args: {}
+cluster_name: ""
+cloud_provider:
+  name: ""
+prefix_path: ""
+addon_job_timeout: 0
+bastion_host:
+  address: ""
+  port: ""
+  user: ""
+  ssh_key: ""
+  ssh_key_path: ""
+monitoring:
+  provider: ""
+  options: {}
+EOF
+
+
+
+  echo "Installing on ${SERVER} for ${BRANCH}: RKE: ${RKE_VERSION} Kubectl: ${KUBECTL_VERSION} Helm: ${HELM_VERSION} Docker: ${DOCKER_VERSION} username: ${USERNAME}"
+  sudo echo "127.0.0.1 ${SERVER}" >> /etc/hosts
+  echo "Install docker - If you must install as non-root - comment out the docker install below - run it separately, run the user mod, logout/login and continue this script"
+  curl https://releases.rancher.com/install-docker/$DOCKER_VERSION.sh | sh
+  sudo usermod -aG docker $USERNAME
+
+  echo "Install RKE"
+  sudo wget https://github.com/rancher/rke/releases/download/v$RKE_VERSION/rke_linux-amd64
+  mv rke_linux-amd64 rke
+  sudo chmod +x rke
+  sudo mv ./rke /usr/local/bin/rke
+
+  echo "Install make - required for beijing+ - installed via yum groupinstall Development Tools in RHEL"
+  # ubuntu specific
+  sudo apt-get install make -y
+
+  sudo curl -LO https://storage.googleapis.com/kubernetes-release/release/v$KUBECTL_VERSION/bin/linux/amd64/kubectl
+  sudo chmod +x ./kubectl
+  sudo mv ./kubectl /usr/local/bin/kubectl
+  sudo mkdir ~/.kube
+  wget http://storage.googleapis.com/kubernetes-helm/helm-v${HELM_VERSION}-linux-amd64.tar.gz
+  sudo tar -zxvf helm-v${HELM_VERSION}-linux-amd64.tar.gz
+  sudo mv linux-amd64/helm /usr/local/bin/helm
+
+  echo "Bringing RKE up - using supplied cluster.yml"
+  sudo rke up
+  echo "wait 2 extra min for the cluster"
+  sleep 60
+  echo "1 more min"
+  sleep 60
+  echo "copy kube_config_cluter.yaml generated - to ~/.kube/config"
+  sudo cp kube_config_cluster.yml ~/.kube/config
+  # avoid using sudo for kubectl
+  sudo chmod 777 ~/.kube/config
+  echo "Verify all pods up on the kubernetes system - will return localhost:8080 until a host is added"
+  echo "kubectl get pods --all-namespaces"
+  kubectl get pods --all-namespaces
+  echo "install tiller/helm"
+  kubectl -n kube-system create serviceaccount tiller
+  kubectl create clusterrolebinding tiller --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
+  helm init --service-account tiller
+  kubectl -n kube-system  rollout status deploy/tiller-deploy
+  echo "upgrade server side of helm in kubernetes"
+  if [ "$USERNAME" == "root" ]; then
+    helm version
+  else
+    sudo helm version
+  fi
+  echo "sleep 30"
+  sleep 30
+  if [ "$USERNAME" == "root" ]; then
+    helm init --upgrade
+  else
+    sudo helm init --upgrade
+  fi
+  echo "sleep 30"
+  sleep 30
+  echo "verify both versions are the same below"
+  if [ "$USERNAME" == "root" ]; then
+    helm version
+  else
+    sudo helm version
+  fi
+  echo "start helm server"
+  if [ "$USERNAME" == "root" ]; then
+    helm serve &
+  else
+    sudo helm serve &
+  fi
+  echo "sleep 30"
+  sleep 30
+  echo "add local helm repo"
+  if [ "$USERNAME" == "root" ]; then
+    helm repo add local http://127.0.0.1:8879
+    helm repo list
+  else
+    sudo helm repo add local http://127.0.0.1:8879
+    sudo helm repo list
+  fi
+  echo "To enable grafana dashboard - do this after running cd.sh which brings up onap - or you may get a 302xx port conflict"
+  echo "kubectl expose -n kube-system deployment monitoring-grafana --type=LoadBalancer --name monitoring-grafana-client"
+  echo "to get the nodeport for a specific VM running grafana"
+  echo "kubectl get services --all-namespaces | grep graf"
+  sudo docker version
+  helm version
+  kubectl version
+  kubectl get services --all-namespaces
+  kubectl get pods --all-namespaces
+  echo "finished!"
+}
+
+BRANCH=
+SERVER=
+ENVIRON=
+VALIDATE=false
+USERNAME=ubuntu
+SSHPATH_PREFIX=~/.ssh
+
+while getopts ":b:s:e:u:l:k:v" PARAM; do
+  case $PARAM in
+    u)
+      usage
+      exit 1
+      ;;
+    b)
+      BRANCH=${OPTARG}
+      ;;
+    e)
+      ENVIRON=${OPTARG}
+      ;;
+    s)
+      SERVER=${OPTARG}
+      ;;
+    l)
+      USERNAME=${OPTARG}
+      ;;
+    k)
+      SSHKEY=${OPTARG}
+      ;;
+    v)
+      VALIDATE=${OPTARG}
+      ;;
+    ?)
+      usage
+      exit
+      ;;
+    esac
+done
+
+if [[ -z $BRANCH ]]; then
+  usage
+  exit 1
+fi
+
+install_onap $BRANCH $SERVER $ENVIRON $USERNAME $SSHPATH_PREFIX $SSHKEY $VALIDATE
index 3f2168b..51d31a3 100644 (file)
@@ -19,6 +19,7 @@
 {
   "namespace" : "{{ if .Values.dcae_ns }}{{ .Values.dcae_ns}}{{ else }}{{include "common.namespace" . }}{{ end}}",
   "consul_dns_name" : "{{ .Values.config.address.consul.host }}.{{ include "common.namespace" . }}",
+  "default_k8s_location" : "{{ .Values.default_k8s_location }}",
   "image_pull_secrets" : ["{{ include "common.namespace" . }}-docker-registry-key"],
   "filebeat":
     {
index 347e4a9..8d525cb 100644 (file)
@@ -81,7 +81,8 @@ postgres:
 
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.9
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.10-STAGING-latest
+default_k8s_location: central
 
 # DCAE component images to be deployed via Cloudify Manager
 # Use to override default setting in blueprints
index 5b541fb..3995bc6 100644 (file)
@@ -44,7 +44,7 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.cm-container:1.5.1
+image: onap/org.onap.dcaegen2.deployments.cm-container:1.5.2-STAGING-latest
 pullPolicy: Always
 
 # probe configuration parameters
index 088d381..794b896 100644 (file)
@@ -30,7 +30,7 @@ spec:
   ports:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      nodePort: {{ .Values.global.nodePortPrefixExt| default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }}
       name: {{ .Values.service.name }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
index f6da1ef..31d6a8b 100644 (file)
@@ -20,6 +20,7 @@
 #################################################################
 global:
   nodePortPrefix: 302
+  nodePortPrefixExt: 304
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
@@ -60,10 +61,11 @@ readiness:
   path: /healthcheck
 
 service:
-  type: ClusterIP
+  type: NodePort
   name: config-binding-service
   externalPort: 10000
   internalPort: 10000
+  nodePort: 15
 
 # Resource Limit flavor -By Default using small
 flavor: small
index fbd3d99..6a00d36 100644 (file)
@@ -27,7 +27,7 @@ global:
   tlsRepository: nexus3.onap.org:10001
   tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.1-STAGING-latest
   consulLoaderRepository: nexus3.onap.org:10001
-  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0-STAGING-latest
   repositoryCred:
     user: docker
     password: docker
index 913cb71..97cd7d2 100644 (file)
@@ -45,7 +45,7 @@ readiness:
   periodSeconds: 10
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.2.4
+image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.2.4-STAGING-latest
 
 # Resource Limit flavor -By Default using small
 flavor: small
index 604f4ea..c146142 100644 (file)
@@ -27,7 +27,7 @@ global:
   tlsRepository: nexus3.onap.org:10001
   tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.1-STAGING-latest
   consulLoaderRepository: nexus3.onap.org:10001
-  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0-STAGING-latest
   repositoryCred:
     user: docker
     password: docker
@@ -46,7 +46,7 @@ config:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.policy-handler:4.6.0
+image: onap/org.onap.dcaegen2.platform.policy-handler:4.6.0-STAGING-latest
 pullPolicy: Always
 
 # probe configuration parameters
index faa19c6..f15b9a1 100644 (file)
@@ -25,7 +25,7 @@
 #
 #####################################################
 # Indicator for whether to use AAF
-UseAAF: false
+UseAAF: true
 
 # csit: stubs out some southbound APIs for csit
 csit: No
@@ -198,10 +198,9 @@ KeyStoreType: jks
 KeyStoreFile: etc/keystore
 
 # password for the https keystore
-KeyStorePassword:  *j&Z*Ma;.4My4M]W0eB*fal$
-
+KeyStorePassword:  Y@Y5f&gm?PAz,CVQL,lk[VAF
 # password for the private key in the https keystore
-KeyPassword: *j&Z*Ma;.4My4M]W0eB*fal$
+KeyPassword: Y@Y5f&gm?PAz,CVQL,lk[VAF
 
 # type of truststore for https
 TrustStoreType: jks
@@ -210,8 +209,9 @@ TrustStoreType: jks
 TrustStoreFile: etc/org.onap.dmaap-bc.trust.jks
 
 # password for the https truststore
-TrustStorePassword: pi8HuuSbN03MtQQ7(5TcyQ6;
+TrustStorePassword: 8b&R5%l$l:@jSWz@FCs;rhY*
 
 # path to the file used to trigger an orderly shutdown
 QuiesceFile: etc/SHUTDOWN
 
+inHttpsPort: 0
index 02ad199..ee24cfb 100644 (file)
@@ -26,9 +26,14 @@ spec:
       containers:
       - name: post-install-job
         image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: DELAY
           value: "0"
+        - name: PROTO
+          value: "http"
+        - name: PORT
+          value: "8080"
         - name: REQUESTID
           value: "{{.Chart.Name}}-post-install"
         volumeMounts:
index 2d791df..a7fc3d8 100644 (file)
@@ -30,7 +30,7 @@ pullPolicy: Always
 
 # application images
 repository: nexus3.onap.org:10001
-image: onap/dmaap/dmaap-bc:1.1.1
+image: onap/dmaap/dmaap-bc:1.1.2
 
 
 # application configuration
index 79c47a1..096b51c 100644 (file)
@@ -10,7 +10,7 @@ metadata:
     # This is what defines this resource as a hook. Without this line, the
     # job is considered part of the release.
     "helm.sh/hook": post-install
-    "helm.sh/hook-weight": "-5"
+    "helm.sh/hook-weight": "-2"
     "helm.sh/hook-delete-policy": hook-succeeded
 spec:
   template:
@@ -25,9 +25,14 @@ spec:
       containers:
       - name: post-install-job
         image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: DELAY
           value: "60"
+        - name: PROTO
+          value: "http"
+        - name: PORT
+          value: "8080"
         - name: REQUESTID
           value: "{{.Chart.Name}}-post-install"
 
index f223026..c6087e8 100644 (file)
@@ -27,7 +27,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/datarouter-node:2.0.1
+image: onap/dmaap/datarouter-node:2.0.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 411d7f4..994f9c9 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "feedName": "Default PM Feed",
+  "feedName": "bulk_pm_feed",
   "feedVersion": "m1.1",
   "feedDescription": "Default feed provisioned for PM File collector",
   "asprClassification" : "unclassified",
       "userpwd": "dradmin"
       }
 
-      ]
-}
-
+      ],
+  "subs": [
+      {
+          "dcaeLocationName": "san-francisco",
+          "deliveryURL": "https://dcae-pm-mapper:8443/delivery",
+          "feedId": "1",
+          "owner": "dcae-pm-mapper",
+          "status": "VALID",
+          "subId": "1",
+          "suspended": false,
+          "use100": true,
+          "username": "pmmapper",
+          "userpwd": "pmmapper",
+          "decompressData": true,
+          "privilegedSubscriber": true
+      }
+    ]
+}
\ No newline at end of file
index ceb9a04..8a2cf69 100644 (file)
@@ -10,7 +10,7 @@ metadata:
     # This is what defines this resource as a hook. Without this line, the
     # job is considered part of the release.
     "helm.sh/hook": post-install
-    "helm.sh/hook-weight": "-5"
+    "helm.sh/hook-weight": "-3"
     "helm.sh/hook-delete-policy": hook-succeeded
 spec:
   template:
@@ -25,9 +25,14 @@ spec:
       containers:
       - name: post-install-job
         image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         env:
         - name: DELAY
           value: "30"
+        - name: PROTO
+          value: "http"
+        - name: PORT
+          value: "8080"
         - name: REQUESTID
           value: "{{.Chart.Name}}-post-install"
 
index 9f08ad2..3d65e91 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/datarouter-prov:2.0.1
+image: onap/dmaap/datarouter-prov:2.0.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
@@ -1,4 +1,5 @@
-# Copyright (c) 2019 IBM, Bell Canada
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # limitations under the License.
 
 apiVersion: v1
-kind: Secret
+kind: Service
 metadata:
-  name: {{ include "common.fullname" . }}
+  name: {{ .Values.service.name }}
   namespace: {{ include "common.namespace" . }}
   labels:
-    app: {{ include "common.fullname" . }}
+    app: {{ include "common.name" . }}
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
     release: {{ .Release.Name }}
     heritage: {{ .Release.Service }}
-type: Opaque
-data:
-  db-root-password: {{ index .Values "mariadb-galera" "config" "mariadbRootPassword" | b64enc | quote }}
+spec:
+  ports:
+    - port: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+  clusterIP: None
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
+
index 88de96b..8200eda 100644 (file)
@@ -1,5 +1,4 @@
-# Copyright © 2017 Amdocs, Bell Canada
-# Modifications Copyright © 2018 AT&T
+# 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.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+{{- $root := . -}}
+{{ range $i, $e := until (atoi (quote $root.Values.replicaCount) | default 3) }}
+---
 apiVersion: v1
 kind: Service
 metadata:
-  name: {{ .Values.service.name }}
-  namespace: {{ include "common.namespace" . }}
+  name: {{ $root.Values.service.name }}-{{ $i }}
+  namespace: {{ $root.Release.Namespace }}
   labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
+    app: {{ $root.Values.service.name }}
+    chart: {{ $root.Chart.Name }}-{{ $root.Chart.Version | replace "+" "_" }}
+    release: {{ $root.Release.Name }}
+    heritage: {{ $root.Release.Service }}
+
 spec:
-  type: {{ .Values.service.type }}
-  ports:
-    - port: {{ .Values.service.externalPort }}
-      targetPort: {{ .Values.service.internalPort }}
-      name: {{ .Values.service.portName }}
-  clusterIP: None
+  type: {{ $root.Values.service.type }} 
+  externalTrafficPolicy: Local
   selector:
-    app: {{ include "common.name" . }}
-    release: {{ .Release.Name }}
-
+   statefulset.kubernetes.io/pod-name: {{ $root.Release.Name }}-{{ $root.Values.service.name }}-{{ $i }}
+  ports:
+    - port: {{ $root.Values.service.externalPort }}
+      targetPort: {{ $root.Values.service.externalPort }}
+      nodePort: {{ $root.Values.service.baseNodePort  | add $i }}
+      name: {{ $root.Values.service.name }}-{{ $i }}
+{{ end }}
index f4583a1..cc8fd5a 100644 (file)
@@ -34,7 +34,11 @@ spec:
         release: {{ .Release.Name }}
     spec:
       podAntiAffinity:
+         {{if eq .Values.podAntiAffinityType "hard" -}}
+         requiredDuringSchedulingIgnoredDuringExecution:
+         {{- else -}}
          preferredDuringSchedulingIgnoredDuringExecution:
+         {{- end}}
          - weight: 1
            podAffinityTerm:
              labelSelector:
@@ -70,10 +74,19 @@ spec:
       - name: {{ include "common.name" .  }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         imagePullPolicy:  {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - sh
+        - -exc
+        - |
+          export KAFKA_BROKER_ID=${HOSTNAME##*-} && \
+          export ENDPOINT_PORT=$(( $KAFKA_BROKER_ID + {{ .Values.service.baseNodePort }} )) && \
+          export KAFKA_ADVERTISED_LISTENERS=EXTERNAL_SASL_PLAINTEXT://$(HOST_IP):$(( $KAFKA_BROKER_ID + {{ .Values.service.baseNodePort }} )),INTERNAL_SASL_PLAINTEXT://:{{ .Values.service.internalPort }} && \
+          exec start-kafka.sh
         resources:
 {{ include "common.resources" . | indent 12 }}
         ports:
         - containerPort: {{ .Values.service.internalPort }}
+        - containerPort: {{ .Values.service.externalPort }}
        {{ if eq .Values.liveness.enabled true }}
         livenessProbe:
           tcpSocket:
@@ -87,30 +100,31 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         env:
-        - name: HOST_NAME
+        - name: HOST_IP
           valueFrom:
             fieldRef:
               apiVersion: v1
-              fieldPath: metadata.name
-        - name: HOST_NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
+              fieldPath: status.hostIP
         - name: KAFKA_ZOOKEEPER_CONNECT
           value: "{{.Values.zookeeper.name}}:{{.Values.zookeeper.port}}"
         - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
-          value: "INTERNAL_PLAINTEXT:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT"
-        - name: KAFKA_ADVERTISED_LISTENERS
-          value: "INTERNAL_PLAINTEXT://$(HOST_NAME).{{ .Values.service.name }}.$(HOST_NAMESPACE).svc.cluster.local:{{ .Values.service.internalPort}}"
+          value: "INTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT,EXTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT"
         - name: KAFKA_LISTENERS
-          value: "INTERNAL_PLAINTEXT://0.0.0.0:{{.Values.service.internalPort}}"
+          value: "EXTERNAL_SASL_PLAINTEXT://0.0.0.0:{{ .Values.service.externalPort }},INTERNAL_SASL_PLAINTEXT://0.0.0.0:{{ .Values.service.internalPort }}"
         - name: KAFKA_INTER_BROKER_LISTENER_NAME
-          value: "INTERNAL_PLAINTEXT"
+          value: "INTERNAL_SASL_PLAINTEXT"
+        - name: KAFKA_SASL_ENABLED_MECHANISMS
+          value: "PLAIN"
+        - name: KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL
+          value: "PLAIN"
+        - name: KAFKA_AUTHORIZER_CLASS_NAME
+          value: "{{ .Values.kafkaCustomAuthorizer }}"
+        - name: KAFKA_DELETE_TOPIC_ENABLE
+          value: "{{ .Values.deleteTopicEnable }}"
+        - name: aaf_locate_url
+          value: "https://aaf-locate:8095"
         - name: KAFKA_LOG_DIRS
           value: "kafka/logs"
-        - name: BROKER_ID_COMMAND
-          value: "hostname | awk -F '-' '{print $NF}'"
         - name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
           value: "{{ .Values.replicaCount }}"
         - name: KAFKA_DEFAULT_REPLICATION_FACTOR
index e719cb1..5b83bb0 100644 (file)
@@ -30,7 +30,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/kafka01101:0.0.1
+image: onap/dmaap/kafka111:0.0.5
 pullPolicy: Always
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 
@@ -44,6 +44,13 @@ debugEnabled: false
 # default number of instances
 replicaCount: 3
 
+#Kafka custom authorizer class name
+kafkaCustomAuthorizer: org.onap.dmaap.kafkaAuthorize.KafkaCustomAuthorizer
+deleteTopicEnable: true
+
+# To access Kafka outside cluster, this value must be set to hard and the number of nodes in K8S cluster must be equal or greater then replica count
+podAntiAffinityType: soft
+
 # defult partitions
 defaultpartitions: 3
 
@@ -55,6 +62,8 @@ affinity: {}
 
 tolerations: {}
 
+
+
 # probe configuration parameters
 liveness:
   initialDelaySeconds: 60
@@ -91,11 +100,14 @@ persistence:
   mountSubPath: message-router/data-kafka
 
 service:
-  type: ClusterIP
+  type: NodePort
   name: message-router-kafka
   portName: message-router-kafka
   internalPort: 9092
-  externalPort: 9092
+  externalPort: 9093
+  baseNodePort: 30490
+
+  
 
 ingress:
   enabled: false
diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/Chart.yaml b/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/Chart.yaml
new file mode 100644 (file)
index 0000000..1d0b7be
--- /dev/null
@@ -0,0 +1,20 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP Message Router Kafka Service
+name: message-router-mirrormaker
+version: 4.0.0
+
diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/templates/NOTES.txt b/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..a44d0f7
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright © 2018  AT&T Intellectual Property.  All rights reserved.
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/templates/deployment.yaml b/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..51c4149
--- /dev/null
@@ -0,0 +1,103 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: apps/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:
+  serviceName: {{ .Values.service.name }}
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app:  {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      initContainers:
+      - name: {{ include "common.name" . }}-initcontainer
+        image: "{{ .Values.global.ubuntuInitRepository }}/{{ .Values.ubuntuInitImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - {{ .Values.messagerouter.container }}
+        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:
+        - sh
+        - -exc
+        - |
+          exec start-mirrormaker.sh
+        resources:
+{{ include "common.resources" . | indent 12 }}
+        ports:
+        - containerPort: {{ .Values.service.internalPort }}
+        {{ if eq .Values.liveness.enabled true }}
+        livenessProbe:
+          exec:
+            command:
+            - sh
+            - -c
+            - "touch /tmp/lprobe.txt"
+            - "rm /tmp/lprobe.txt"
+          initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.liveness.periodSeconds }}
+        {{ end }}
+        readinessProbe:
+          exec:
+            command:
+            - sh
+            - -c
+            - "touch /tmp/rprobe.txt"
+            - "rm /tmp/rprobe.txt"
+          initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+          periodSeconds: {{ .Values.readiness.periodSeconds }}
+        env:
+        - name: KAFKA_HEAP_OPTS
+          value: "{{ .Values.kafkaHeapOptions }}"
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /var/run/docker.sock
+          name: docker-socket
+      volumes:
+      - name: localtime
+        hostPath:
+          path: /etc/localtime
+      - name: docker-socket
+        hostPath:
+          path: /var/run/docker.sock
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/values.yaml b/kubernetes/dmaap/components/message-router/charts/message-router-mirrormaker/values.yaml
new file mode 100644 (file)
index 0000000..2fbd884
--- /dev/null
@@ -0,0 +1,98 @@
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2018 AT&T
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  readinessRepository: oomk8s
+  readinessImage: readiness-check:2.0.0
+  loggingRepository: docker.elastic.co
+  loggingImage: beats/filebeat:5.5.0
+  persistence: {}
+  ubuntuInitRepository: registry.hub.docker.com
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/dmaap/kafka111:0.0.5
+pullPolicy: Always
+ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
+
+zookeeper:
+  name: message-router-zookeeper
+  port: 2181
+
+messagerouter:
+  container: message-router 
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# default number of instances
+replicaCount: 1
+kafkaHeapOptions: -Xmx4G -Xms2G
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 60
+  periodSeconds: 20
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 60
+  periodSeconds: 20
+
+
+service:
+  type: NodePort
+  name: message-router-mirrormaker
+  portName: message-router-mirrormaker
+  internalPort: 9092
+  
+
+ingress:
+  enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: large
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2000m
+      memory: 4Gi
+    requests:
+      cpu: 500m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4000m
+      memory: 8Gi
+    requests:
+      cpu: 1000m
+      memory: 2Gi
+  unlimited: {}
+
index c0a7450..37a1bab 100644 (file)
@@ -30,7 +30,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/zookeeper:2.0.0
+image: onap/dmaap/zookeeper:3.0.0
 pullPolicy: Always
 ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
 
@@ -130,4 +130,4 @@ resources:
     requests:
       cpu: 1000m
       memory: 2Gi
-  unlimited: {}
\ No newline at end of file
+  unlimited: {}
index d40d2a1..8e44661 100755 (executable)
@@ -149,17 +149,18 @@ maxcontentlength=10000
 #AAF Properties
 msgRtr.namespace.aaf=org.onap.dmaap.mr.topic
 msgRtr.topicfactory.aaf=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:
-enforced.topic.name.AAF=org.onap
+enforced.topic.name.AAF=org.onap.dmaap.mr
 forceAAF=false
 transidUEBtopicreqd=false
 defaultNSforUEB=org.onap.dmaap.mr
 ##############################################################################
 #Mirror Maker Agent
-msgRtr.mirrormakeradmin.aaf=com.onap.dmaap.mr.dev.mirrormaker|*|admin
-msgRtr.mirrormakeruser.aaf=com.onap.dmaap.mr.dev.mirrormaker|*|user
-msgRtr.mirrormakeruser.aaf.create=com.onap.dmaap.mr.dev.topicFactory|:com.onap.dmaap.mr.dev.topic:
+
+msgRtr.mirrormakeradmin.aaf=org.onap.dmaap.mr.mirrormaker|*|admin
+msgRtr.mirrormakeruser.aaf=org.onap.dmaap.mr.mirrormaker|*|user
+msgRtr.mirrormakeruser.aaf.create=org.onap.dmaap.mr.topicFactory|:org.onap.dmaap.mr.topic:
 msgRtr.mirrormaker.timeout=15000
-msgRtr.mirrormaker.topic=com.onap.dmaap.mr.prod.mm.agent
+msgRtr.mirrormaker.topic=org.onap.dmaap.mr.mirrormakeragent
 msgRtr.mirrormaker.consumergroup=mmagentserver
 msgRtr.mirrormaker.consumerid=1
 
index a79bb8d..948577a 100755 (executable)
@@ -1,4 +1,4 @@
-aaf_locate_url=https://aaf-onap-test.osaaf.org:8095
+aaf_locate_url=https://aaf-locate:8095
 aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1
 aaf_env=DEV
 aaf_lur=org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm
@@ -17,4 +17,4 @@ cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US
 cadi_loglevel=INFO
 cadi_protocols=TLSv1.1,TLSv1.2
 cadi_latitude=37.78187
-cadi_longitude=-122.26147
\ No newline at end of file
+cadi_longitude=-122.26147
diff --git a/kubernetes/dmaap/components/message-router/resources/mr_clusters/san-francisco.json b/kubernetes/dmaap/components/message-router/resources/mr_clusters/san-francisco.json
new file mode 100644 (file)
index 0000000..9e732d2
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "dcaeLocationName": "san-francisco",
+  "fqdn": "message-router",
+  "topicProtocol": "http",
+  "topicPort": "3904"
+}
diff --git a/kubernetes/dmaap/components/message-router/resources/topics/MMagent.json b/kubernetes/dmaap/components/message-router/resources/topics/MMagent.json
deleted file mode 100644 (file)
index 2612e0d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "topicName": "MirrorMakerProvisioning",
-  "topicDescription": "the topic used to provision the MM agent whitelist",
- "replicationCase": "REPLICATION_NONE",
-  "owner": "dmaap",
-  "txenabled": false,
-  "partitionCount": "1",
-  "clients": [
-    {
-      "dcaeLocationName": "san-francisco",
-      "clientIdentity": "dmaap-bc-mm-prov@dmaap-bc-mm-prov.onap.org",
-      "action": [
-        "pub", 
-        "view"
-      ]
-    }
-  ]
-}
diff --git a/kubernetes/dmaap/components/message-router/resources/topics/PM_MAPPER.json b/kubernetes/dmaap/components/message-router/resources/topics/PM_MAPPER.json
new file mode 100644 (file)
index 0000000..691e66a
--- /dev/null
@@ -0,0 +1,14 @@
+{
+ "topicName": "PM_MAPPER",
+ "topicDescription": "The PM Mapper will be publishing perf3gpp VES events to this topic",
+ "owner": "pm-mapper",
+ "txenabled": false,
+ "clients": [{
+   "dcaeLocationName": "san-francisco",
+   "clientIdentity" "dcae@dcae.onap.org",
+   "action": [
+     "pub",
+     "view"
+   ]
+ }]
+}
diff --git a/kubernetes/dmaap/components/message-router/resources/topics/mirrormakeragent.json b/kubernetes/dmaap/components/message-router/resources/topics/mirrormakeragent.json
new file mode 100644 (file)
index 0000000..7ae77cd
--- /dev/null
@@ -0,0 +1,42 @@
+{
+  "topicName": "mirrormakeragent",
+  "topicDescription": "the topic used to provision the MM agent whitelist",
+ "replicationCase": "REPLICATION_NONE",
+  "owner": "dmaap",
+  "txenabled": false,
+  "partitionCount": "1",
+  "clients": [
+    {
+      "dcaeLocationName": "san-francisco",
+      "clientIdentity": "dmaap-bc-mm-prov@dmaap-bc-mm-prov.onap.org",
+      "action": [
+        "pub", 
+        "sub",
+               "view"
+      ]
+    },
+       {
+      "dcaeLocationName": "san-francisco",
+      "clientIdentity": "dmaap-bc-topic-mgr@dmaap-bc-topic-mgr.onap.org",
+      "action": [
+        "pub", 
+        "sub",
+               "view"
+      ]
+    },
+       {
+      "dcaeLocationName": "san-francisco",
+      "clientIdentity": "demo@people.osaaf.org",
+      "action": [
+        "pub", 
+        "sub",
+               "view"
+      ]
+    }
+       
+  ]
+}
+
index 5637812..6d246de 100644 (file)
@@ -10,7 +10,7 @@ metadata:
     # This is what defines this resource as a hook. Without this line, the
     # job is considered part of the release.
     "helm.sh/hook": post-install
-    "helm.sh/hook-weight": "-5"
+    "helm.sh/hook-weight": "-4"
     "helm.sh/hook-delete-policy": hook-succeeded
 spec:
   template:
@@ -25,9 +25,14 @@ spec:
       containers:
       - name: post-install-job
         image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}"
+        imagePullPolicy: "Always"
         env:
         - name: DELAY
-          value: "60"
+          value: "30"
+        - name: PROTO
+          value: "http"
+        - name: PORT
+          value: "8080"
         - name: REQUESTID
           value: "{{.Chart.Name}}-post-install"
         volumeMounts:
index bdd134a..7bf88f5 100644 (file)
@@ -68,7 +68,7 @@ spec:
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
           - name: enableCadi
-            value: "false"
+            value: "true"
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
index 5d01e55..10ce59c 100644 (file)
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/dmaap/dmaap-mr:1.1.9
+image: onap/dmaap/dmaap-mr:1.1.11
 pullPolicy: Always
 
 kafka:
index 02f0ac5..e7b39af 100644 (file)
@@ -22,7 +22,7 @@ global:
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
-  clientImage: onap/dmaap/dbc-client:1.0.3
+  clientImage: onap/dmaap/dbc-client:1.0.5
 # application configuration
 config:
   logstashServiceName: log-ls
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/.helmignore b/kubernetes/multicloud/charts/multicloud-starlingx/.helmignore
new file mode 100644 (file)
index 0000000..f0c1319
--- /dev/null
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/Chart.yaml b/kubernetes/multicloud/charts/multicloud-starlingx/Chart.yaml
new file mode 100644 (file)
index 0000000..1305d41
--- /dev/null
@@ -0,0 +1,18 @@
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+description: ONAP multicloud OpenStack Starlingx Plugin
+name: multicloud-starlingx
+version: 3.0.0
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/resources/config/log/log.yml b/kubernetes/multicloud/charts/multicloud-starlingx/resources/config/log/log.yml
new file mode 100644 (file)
index 0000000..3044557
--- /dev/null
@@ -0,0 +1,47 @@
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+version: 1
+disable_existing_loggers: False
+
+loggers:
+    starlingx:
+      handlers: [starlingx_handler]
+      level: "DEBUG"
+      propagate: False
+    newton_base:
+      handlers: [starlingx_handler]
+      level: "DEBUG"
+      propagate: False
+    common:
+      handlers: [starlingx_handler]
+      level: "DEBUG"
+      propagate: False
+
+handlers:
+    starlingx_handler:
+        level: "DEBUG"
+        class: "logging.handlers.RotatingFileHandler"
+        filename: "/var/log/onap/multicloud/openstack/starlingx/starlingx.log"
+        formatter: "mdcFormat"
+        maxBytes: 1024*1024*50
+        backupCount: 10
+
+formatters:
+    standard:
+        format: "%(asctime)s|||||%(name)s||%(thread)||%(funcName)s||%(levelname)s||%(message)s"
+    mdcFormat:
+        format: "%(asctime)s|||||%(name)s||%(thread)s||%(funcName)s||%(levelname)s||%(message)s||||%(mdc)s \t"
+        mdcfmt: "{requestID} {invocationID} {serviceName} {serviceIP}"
+        datefmt: "%Y-%m-%d %H:%M:%S"
+        (): onaplogging.mdcformatter.MDCFormatter
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/templates/NOTES.txt b/kubernetes/multicloud/charts/multicloud-starlingx/templates/NOTES.txt
new file mode 100644 (file)
index 0000000..746215b
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+1. Get the application URL by running these commands:
+{{- if .Values.ingress.enabled }}
+{{- range .Values.ingress.hosts }}
+  http://{{ . }}
+{{- end }}
+{{- else if contains "NodePort" .Values.service.type }}
+  export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
+  export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
+  echo http://$NODE_IP:$NODE_PORT
+{{- else if contains "LoadBalancer" .Values.service.type }}
+     NOTE: It may take a few minutes for the LoadBalancer IP to be available.
+           You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
+  export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
+  echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
+{{- else if contains "ClusterIP" .Values.service.type }}
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+  echo "Visit http://127.0.0.1:8080 to use your application"
+  kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
+{{- end }}
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/templates/configmap.yaml b/kubernetes/multicloud/charts/multicloud-starlingx/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..3e8a3fc
--- /dev/null
@@ -0,0 +1,28 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-log-configmap
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/templates/deployment.yaml b/kubernetes/multicloud/charts/multicloud-starlingx/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..0ccc3f9
--- /dev/null
@@ -0,0 +1,110 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+      name: {{ include "common.name" . }}
+      annotations:
+        sidecar.istio.io/inject: "{{.Values.istioSidecar}}"
+    spec:
+     containers:
+     - env:
+       - name: MSB_ADDR
+         value: "{{ .Values.config.msbgateway }}.{{ include "common.namespace" . }}"
+       - name: MSB_PORT
+         value: "{{ .Values.config.msbPort }}"
+       - name: AAI_ADDR
+         value: aai.{{ include "common.namespace" . }}
+       - name: AAI_PORT
+         value: "{{ .Values.config.aai.port }}"
+       - name: AAI_SCHEMA_VERSION
+         value: "{{ .Values.config.aai.schemaVersion }}"
+       - name: AAI_USERNAME
+         value: "{{ .Values.config.aai.username }}"
+       - name: AAI_PASSWORD
+         value: "{{ .Values.config.aai.password }}"
+       name: {{ include "common.name" . }}
+       volumeMounts:
+       - mountPath: /var/log/onap
+         name: starlingx-log
+       - mountPath: /opt/starlingx/starlingx/pub/config/log.yml
+         name: starlingx-logconfig
+         subPath: log.yml
+       resources:
+{{ include "common.resources" . | indent 12 }}
+       image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       ports:
+       - containerPort: {{ .Values.service.internalPort }}
+       # disable liveness probe when breakpoints set in debugger
+       # so K8s doesn't restart unresponsive container
+       {{ if .Values.liveness.enabled }}
+       livenessProbe:
+         httpGet:
+           path: /api/multicloud-starlingx/v0/swagger.json
+           port: {{ .Values.service.internalPort }}
+           scheme: HTTP
+         initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+         periodSeconds: {{ .Values.liveness.periodSeconds }}
+         timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
+         successThreshold: {{ .Values.liveness.successThreshold }}
+         failureThreshold: {{ .Values.liveness.failureThreshold }}
+       {{ end }}
+     # side car containers
+     - image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: filebeat-onap
+       volumeMounts:
+       - mountPath: /usr/share/filebeat/filebeat.yml
+         name: filebeat-conf
+         subPath: filebeat.yml
+       - mountPath: /var/log/onap
+         name: starlingx-log
+       - mountPath: /usr/share/filebeat/data
+         name: starlingx-data-filebeat
+
+     volumes:
+     - name: starlingx-log
+       emptyDir: {}
+     - name: starlingx-data-filebeat
+       emptyDir: {}
+     - name: filebeat-conf
+       configMap:
+         name: multicloud-filebeat-configmap
+     - name: starlingx-logconfig
+       configMap:
+         name: {{ include "common.fullname" . }}-log-configmap
+     imagePullSecrets:
+     - name: "{{ include "common.namespace" . }}-docker-registry-key"
+     restartPolicy: Always
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/templates/service.yaml b/kubernetes/multicloud/charts/multicloud-starlingx/templates/service.yaml
new file mode 100644 (file)
index 0000000..f6925d9
--- /dev/null
@@ -0,0 +1,60 @@
+{{/*
+# Copyright (c) 2019 Intel Corporation.
+# #
+# # Licensed under the Apache License, Version 2.0 (the "License");
+# # you may not use this file except in compliance with the License.
+# # You may obtain a copy of the License at
+# #
+# #       http://www.apache.org/licenses/LICENSE-2.0
+# #
+# # Unless required by applicable law or agreed to in writing, software
+# # distributed under the License is distributed on an "AS IS" BASIS,
+# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# # See the License for the specific language governing permissions and
+# # limitations under the License.
+*/}}
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+  annotations:
+    msb.onap.org/service-info: '[
+    {
+      "serviceName": "multicloud-starlingx",
+      "version": "v0",
+      "url": "/api/multicloud-starlingx/v0",
+      "protocol": "REST",
+      "port": "{{ .Values.service.externalPort }}",
+      "visualRange": "1"
+    },
+    {
+      "serviceName": "multicloud-starlingx",
+      "version": "v1",
+      "url": "/api/multicloud-starlingx/v1",
+      "protocol": "REST",
+      "port": "{{ .Values.service.externalPort }}",
+      "visualRange": "1"
+    }
+    ]'
+spec:
+  ports:
+  {{if eq .Values.service.type "NodePort" -}}
+  - port: {{ .Values.service.externalPort }}
+    nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .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 }}
+  type: {{ .Values.service.type }}
diff --git a/kubernetes/multicloud/charts/multicloud-starlingx/values.yaml b/kubernetes/multicloud/charts/multicloud-starlingx/values.yaml
new file mode 100644 (file)
index 0000000..2ca696c
--- /dev/null
@@ -0,0 +1,87 @@
+# Copyright (c) 2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT 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:
+  nodePortPrefixExt: 304
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/multicloud/openstack-starlingx:1.3.0-SNAPSHOT
+pullPolicy: Always
+
+#Istio sidecar injection policy
+istioSidecar: false
+
+# application configuration
+config:
+  msbgateway: msb-iag
+  msbPort: 80
+  aai:
+    port: 8443
+    schemaVersion: v13
+    username: AAI
+    password: AAI
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 30
+  periodSeconds: 10
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 5
+  enabled: true
+
+service:
+  type: NodePort
+  name: multicloud-starlingx
+  portName: multicloud-starlingx
+  externalPort: 9009
+  internalPort: 9009
+  nodePort: 85
+
+ingress:
+  enabled: false
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 4Gi
+    requests:
+      cpu: 10m
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 2
+      memory: 8Gi
+    requests:
+      cpu: 20m
+      memory: 2Gi
+  unlimited: {}
index 2bc9894..65ed86c 100644 (file)
                 "extra_info_hint": "",
                 "provider_plugin": "multicloud-pike"
             },
+            "starlingx": {
+                "version": "starlingx",
+                "extra_info_hint": "",
+                "provider_plugin": "multicloud-starlingx"
+            },
             "ocata": {
                 "version": "ocata",
                 "extra_info_hint": "",
index ecc01fa..9f50620 100644 (file)
@@ -85,7 +85,7 @@ affinity: {}
 # probe configuration parameters
 liveness:
   httpGet:
-    path: /nbi/api/v3/status
+    path: /nbi/api/v4/status
     port: 8080
   initialDelaySeconds: 180
   periodSeconds: 30
@@ -95,7 +95,7 @@ liveness:
 
 readiness:
   httpGet:
-    path: /nbi/api/v3/status
+    path: /nbi/api/v4/status
     port: 8080
   initialDelaySeconds: 185
   periodSeconds: 30
index fa26328..fa8619e 100644 (file)
@@ -59,6 +59,9 @@ aai:
     replicaCount: 1
 appc:
   enabled: false
+cassandra:
+  enabled: false
+  replicaCount: 1
 clamp:
   enabled: false
 cli:
index b772f1f..989174c 100644 (file)
@@ -51,6 +51,9 @@ aaf:
   enabled: false
 appc:
   enabled: false
+cassandra:
+  enabled: false
+  replicaCount: 1
 clamp:
   enabled: false
 cli:
index a667e17..d751534 100644 (file)
@@ -50,6 +50,11 @@ aai:
       initialDelaySeconds: 120
     readiness:
       initialDelaySeconds: 120
+cassandra:
+  liveness:
+    initialDelaySeconds: 120
+  readiness:
+    initialDelaySeconds: 120
 clamp:
   liveness:
     initialDelaySeconds: 60
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
diff --git a/kubernetes/policy/charts/drools/resources/config/drools/settings.xml b/kubernetes/policy/charts/drools/resources/config/drools/settings.xml
deleted file mode 100755 (executable)
index 2057e94..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-# Copyright © 2017 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
-
-<!--
-  <proxies>
-          <proxy>
-              <id>http-proxy</id>
-              <active>true</active>
-              <protocol>http</protocol>
-              <host>your-proxy-host-or-ip</host>
-              <port>your-proxy-port</port>
-              <nonProxyHosts>localhost|127.0.0.1|*.svc.cluster.local|nexus</nonProxyHosts>
-          </proxy>
-          <proxy>
-              <id>https-proxy</id>
-              <active>true</active>
-              <protocol>https</protocol>
-              <host>your-proxy-host-or-ip</host>
-              <port>your-proxy-port</port>
-              <nonProxyHosts>localhost|127.0.0.1|*.svc.cluster.local|nexus</nonProxyHosts>
-          </proxy>
-      </proxies>
--->
-  <profiles>
-    <profile>
-      <id>policy-profile</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-
-      <repositories>
-        <repository>
-          <id>policy-nexus-snapshots</id>
-          <url>http://{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/snapshots/</url>
-          <releases>
-            <enabled>false</enabled>
-            <updatePolicy>always</updatePolicy>
-          </releases>
-          <snapshots>
-            <enabled>true</enabled>
-            <updatePolicy>always</updatePolicy>
-          </snapshots>
-        </repository>
-
-        <repository>
-          <id>policy-nexus-releases</id>
-          <url>http://{{.Values.global.nexus.nameOverride}}:{{.Values.config.nexusPort}}/nexus/content/repositories/releases/</url>
-          <releases>
-            <enabled>true</enabled>
-            <updatePolicy>always</updatePolicy>
-          </releases>
-          <snapshots>
-            <enabled>false</enabled>
-            <updatePolicy>always</updatePolicy>
-          </snapshots>
-        </repository>
-      </repositories>
-
-    </profile>
-  </profiles>
-
-  <activeProfiles>
-    <activeProfile>policy-profile</activeProfile>
-  </activeProfiles>
-
-  <servers>
-    <server>
-      <id>policy-nexus-snapshots</id>
-      <username>admin</username>
-      <password>admin123</password>
-    </server>
-    <server>
-      <id>policy-nexus-releases</id>
-      <username>admin</username>
-      <password>admin123</password>
-    </server>
-  </servers>
-
-</settings>
diff --git a/kubernetes/policy/charts/drools/resources/config/log/drools/logback.xml b/kubernetes/policy/charts/drools/resources/config/log/drools/logback.xml
deleted file mode 100644 (file)
index 4b058f1..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-<!--
-# Copyright © 2017 Amdocs, Bell Canada,AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
--->
-
-<configuration scan="true" scanPeriod="30 seconds" debug="false">
-
-       <property name="logDir" value="/var/log/onap" />
-
-       <property name="errorLog" value="error" />
-       <property name="debugLog" value="debug" />
-       <property name="networkLog" value="network" />
-
-       <property name="debugPattern" value="[%date|%level|%logger{0}|%thread] %msg%n" />
-       <property name="errorPattern" value="${debugPattern}" />
-       <property name="networkPattern" value="[%d|%t]%m%n" />
-
-       <appender name="ErrorOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDir}/${errorLog}.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                       <fileNamePattern>${logDir}/${errorLog}.%i.log.zip</fileNamePattern>
-                       <minIndex>1</minIndex>
-                       <maxIndex>5</maxIndex>
-               </rollingPolicy>
-               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
-                       <level>WARN</level>
-               </filter>
-               <triggeringPolicy
-                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                       <maxFileSize>15MB</maxFileSize>
-               </triggeringPolicy>
-               <encoder>
-                       <pattern>${errorPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="AsyncErrorOut" class="ch.qos.logback.classic.AsyncAppender">
-               <appender-ref ref="ErrorOut" />
-       </appender>
-
-       <appender name="DebugOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDir}/${debugLog}.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                       <fileNamePattern>${logDir}/${debugLog}.%i.log.zip</fileNamePattern>
-                       <minIndex>1</minIndex>
-                       <maxIndex>9</maxIndex>
-               </rollingPolicy>
-               <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                       <maxFileSize>20MB</maxFileSize>
-               </triggeringPolicy>
-               <encoder>
-                       <pattern>${debugPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="AsyncDebugOut" class="ch.qos.logback.classic.AsyncAppender">
-               <appender-ref ref="DebugOut" />
-       </appender>
-
-       <appender name="NetworkOut" class="ch.qos.logback.core.rolling.RollingFileAppender">
-               <file>${logDir}/${networkLog}.log</file>
-               <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-                       <fileNamePattern>${logDir}/${networkLog}.%i.log.zip</fileNamePattern>
-                       <minIndex>1</minIndex>
-                       <maxIndex>9</maxIndex>
-               </rollingPolicy>
-               <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-                       <maxFileSize>15MB</maxFileSize>
-               </triggeringPolicy>
-               <encoder>
-                       <pattern>${networkPattern}</pattern>
-               </encoder>
-       </appender>
-
-       <appender name="AsyncNetworkOut" class="ch.qos.logback.classic.AsyncAppender">
-               <appender-ref ref="NetworkOut" />
-       </appender>
-
-       <logger name="network" level="INFO" additivity="false">
-               <appender-ref ref="AsyncNetworkOut" />
-       </logger>
-
-       <logger name="org.eclipse.jetty.server.RequestLog" level="info" additivity="false">
-               <appender-ref ref="AsyncNetworkOut" />
-       </logger>
-
-       <root level="INFO">
-               <appender-ref ref="AsyncDebugOut" />
-               <appender-ref ref="AsyncErrorOut" />
-       </root>
-
-</configuration>
diff --git a/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/apps-install.sh b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/apps-install.sh
deleted file mode 100644 (file)
index 9fa5212..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-#!/bin/bash
-#
-# ============LICENSE_START=======================================================
-# ONAP
-# ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright © 2018 Amdocs, Bell Canada
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-#
-
-# #################################
-# Usage
-# #################################
-
-function usage {
-    echo
-    echo "Usage: $(basename $0) <application-name> <zipped-application-version> <download-directory>"
-    echo "Example: $(basename $0) controlloop 1.2.0 /opt/policy/config/drools"
-    echo
-}
-
-# #################################
-# snapshot url computation
-# #################################
-
-function url_snapshot {
-    if [[ $DEBUG == y ]]; then
-        echo "-- ${FUNCNAME[0]} --"
-        set -x
-    fi
-
-    APP_URL="${APP_URL}/snapshots/org/onap/policy/drools-applications/${APP_NAME}/packages/apps-${APP_NAME}/${APP_VERSION}"
-
-    local APP_METADATA_URL="${APP_URL}/maven-metadata.xml"
-    local APP_SNAPSHOT_VERSION=$(curl --silent "${APP_METADATA_URL}" | grep -Po "(?<=<value>).*(?=</value>)" | sort -V | tail -1)
-
-    if [[ -z ${APP_SNAPSHOT_VERSION} ]]; then
-        echo "ERROR: cannot compute SNAPSHOT version"
-        usage
-        exit 1
-    fi
-
-    APP_URL="${APP_URL}/apps-${APP_NAME}-${APP_SNAPSHOT_VERSION}.zip"
-}
-
-# #################################
-# release url computation
-# #################################
-
-function url_release {
-    if [[ $DEBUG == y ]]; then
-        echo "-- ${FUNCNAME[0]} --"
-        set -x
-    fi
-
-    APP_URL="${APP_URL}/releases/org/onap/policy/drools-applications/${APP_NAME}/packages/apps-${APP_NAME}/${APP_VERSION}/apps-${APP_NAME}-${APP_VERSION}.zip"
-}
-
-# #################################
-# Main
-# #################################
-
-if [[ $DEBUG == y ]]; then
-    set -x
-fi
-
-APP_NAME=$1
-if [[ -z ${APP_NAME} ]]; then
-    echo "ERROR: no APPLICATION NAME provided (ie. controlloop)"
-    usage
-    exit 1
-fi
-
-APP_VERSION=$2
-if [[ -z ${APP_VERSION} ]]; then
-    echo "ERROR: no APPLICATION VERSION provided"
-    usage
-    exit 1
-fi
-
-DOWNLOAD_DIR=$3
-if [[ -z ${DOWNLOAD_DIR} ]]; then
-    echo "ERROR: no DOWNLOAD DIRECTORY provided"
-    usage
-    exit 1
-fi
-
-if [[ ! -d ${DOWNLOAD_DIR} ]]; then
-    echo "ERROR: ${DOWNLOAD_DIR} is not a directory"
-    usage
-    exit 1
-fi
-
-APP_GROUP_ID="org.onap.policy.drools-applications.${APP_NAME}.packages"
-APP_ARTIFACT_ID="apps-${APP_NAME}"
-APP_BASE_URL="https://nexus.onap.org/content/repositories"
-
-APP_URL="${APP_BASE_URL}"
-
-if [[ ${APP_VERSION} =~ \-SNAPSHOT$ ]]; then
-    url_snapshot
-else
-    url_release
-fi
-
-wget "${APP_URL}" -O "${DOWNLOAD_DIR}"/apps-"${APP_NAME}".zip
-if [[ $? != 0 ]]; then
-    echo "ERROR: cannot download ${DOWNLOAD_DIR}/apps-${APP_NAME}.zip"
-    exit 1
-fi
-
-echo "APP ${APP_NAME} stored at ${DOWNLOAD_DIR}/apps-${APP_NAME}.zip"
-ls -l "${DOWNLOAD_DIR}"/apps-"${APP_NAME}".zip
diff --git a/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-preinstall.sh b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-preinstall.sh
deleted file mode 100644 (file)
index a8de4fc..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/bash
-#
-# ============LICENSE_START=======================================================
-# ONAP
-# ================================================================================
-# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
-# Modifications Copyright © 2018 Amdocs, Bell Canada
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-#
-
-# #################################
-# Usage
-# #################################
-
-function usage {
-    echo
-    echo "Usage: $(basename $0)"
-    echo
-}
-
-if [[ ${DEBUG} == y ]]; then
-    set -x
-fi
-
-if [[ -z ${BUILD_VERSION} ]]; then
-    echo "no BUILD_VERSION available as environment variable""
-    usage
-    exit 1
-fi
-
-if [[ -z ${POLICY_INSTALL} ]]; then
-    echo "no POLICY_INSTALL available as environment variable""
-    usage
-    exit 2
-fi
-
-CONFIG_DIR=$(dirname "$0")
-echo "invoking ${CONFIG_DIR}/apps-install.sh for controlloop ${BUILD_VERSION} at ${POLICY_INSTALL}"
-export DEBUG=y
-bash ${CONFIG_DIR}/apps-install.sh controlloop ${BUILD_VERSION} ${POLICY_INSTALL}
-unzip -o ${POLICY_INSTALL}/app*.zip -d ${POLICY_INSTALL}
diff --git a/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-tweaks.sh b/kubernetes/policy/charts/drools/resources/config/opt/policy/config/drools/drools-tweaks.sh
deleted file mode 100644 (file)
index 5f504e2..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-#! /bin/bash -xv
-
-# Copyright © 2017-2018 Amdocs, Bell Canada, AT&T
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-"${POLICY_HOME}"/bin/features enable healthcheck
-"${POLICY_HOME}"/bin/features enable distributed-locking
-
-"${POLICY_HOME}"/bin/db-migrator -s pooling -o upgrade
-
-# make sure the PDPD-CONFIGURATION anonymous topic is created
-# so not to lose any configuration updates
-
-echo
-echo "testing publish to PDPD-CONFIGURATION topic"
-echo
-
-curl --silent --connect-timeout 15 -X POST --header "Content-Type: application/json" -d "{}"   http://message-router:3904/events/PDPD-CONFIGURATION
-
-echo
-echo "testing subscribe to PDPD-CONFIGURATION topic "
-echo
-
-curl --silent --connect-timeout 15 -X GET http://message-router:3904/events/PDPD-CONFIGURATION/1/1?timeout=5000
-
-# for resiliency/scalability scenarios, check to see
-# if there's an amsterdam artifact  already deployed
-# by brmsgw.  If so, update the amsterdam controller
-# coordinates.  In the future, a more sophisticated
-# solution will be put in place, that will required
-# coordination among policy components.
-
-echo
-echo "checking if there are amsterdam policies already deployed .."
-echo
-
-AMSTERDAM_VERSION=$(curl --silent --connect-timeout 20 -X GET "http://nexus:8081/nexus/service/local/artifact/maven/resolve?r=releases&g=org.onap.policy-engine.drools.amsterdam&a=policy-amsterdam-rules&v=RELEASE" | grep -Po "(?<=<version>).*(?=</version>)")
-
-if [[ -z ${AMSTERDAM_VERSION} ]]; then
-       echo "no amsterdam policies have been found .."
-       exit 0
-fi
-
-echo
-echo "The latest deployed amsterdam artifact in nexus has version ${AMSTERDAM_VERSION}"
-echo
-
-sed -i.INSTALL -e "s/^rules.artifactId=.*/rules.artifactId=policy-amsterdam-rules/g" \
-               -e "s/^rules.groupId=.*/rules.groupId=org.onap.policy-engine.drools.amsterdam/g" \
-               -e "s/^rules.version=.*/rules.version=${AMSTERDAM_VERSION}/g" "${POLICY_HOME}"/config/amsterdam-controller.properties
-
-echo
-echo "amsterdam controller will be started brained with maven coordinates:"
-echo
-
-grep "^rules" "${POLICY_HOME}"/config/amsterdam-controller.properties
-
-echo
-echo
index 16053d3..1f95031 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.
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-settings-configmap
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/drools/settings.xml").AsConfig . | indent 2 }}
----
 apiVersion: v1
 kind: ConfigMap
 metadata:
@@ -28,12 +20,3 @@ metadata:
   namespace: {{ include "common.namespace" . }}
 data:
 {{ tpl (.Files.Glob "resources/config/opt/policy/config/drools/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "common.fullname" . }}-log-configmap
-  namespace: {{ include "common.namespace" . }}
-data:
-{{ tpl (.Files.Glob "resources/config/log/drools/logback.xml").AsConfig . | indent 2 }}
-
index 4a7f8e2..beacbab 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.
@@ -59,10 +59,6 @@ spec:
           ports:
           - containerPort: {{ .Values.service.externalPort }}
           - containerPort: {{ .Values.service.externalPort2 }}
-          command:
-          - /bin/bash
-          - -c
-          - ./do-start.sh
           {{- if eq .Values.liveness.enabled true }}
           livenessProbe:
             tcpSocket:
@@ -91,30 +87,8 @@ spec:
           - mountPath: /tmp/policy-install/config/base.conf
             name: drools-config
             subPath: base.conf
-          - mountPath: /tmp/policy-install/config/policy-management.conf
-            name: drools-config
-            subPath: policy-management.conf
-          - mountPath: /tmp/policy-install/config/drools-tweaks.sh
-            name: drools-config
-            subPath: drools-tweaks.sh
-          - mountPath: /tmp/policy-install/config/apps-install.sh
-            name: drools-config
-            subPath: apps-install.sh
-          - mountPath: /tmp/policy-install/config/drools-preinstall.sh
-            name: drools-config
-            subPath: drools-preinstall.sh
-          - mountPath: /usr/share/maven/conf/settings.xml
-            name: drools-settingsxml
-            subPath: settings.xml
           - mountPath: /var/log/onap
             name: policy-logs
-          - mountPath: /tmp/logback.xml
-            name: policy-logback
-            subPath: logback.xml
-          lifecycle:
-            postStart:
-              exec:
-                command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/opt/app/policy/config/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
           resources:
 {{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
@@ -147,12 +121,6 @@ spec:
           emptyDir: {}
         - name: policy-data-filebeat
           emptyDir: {}
-        - name: policy-logback
-          configMap:
-            name: {{ include "common.fullname" . }}-log-configmap
-        - name: drools-settingsxml
-          configMap:
-            name: {{ include "common.fullname" . }}-settings-configmap
         - name: drools-config
           configMap:
             name: {{ include "common.fullname" . }}-configmap
@@ -163,18 +131,6 @@ spec:
             - key: feature-pooling-dmaap.conf
               path: feature-pooling-dmaap.conf
               mode: 0755
-            - key: policy-management.conf
-              path: policy-management.conf
-              mode: 0755
-            - key: drools-tweaks.sh
-              path: drools-tweaks.sh
-              mode: 0755
-            - key: apps-install.sh
-              path: apps-install.sh
-              mode: 0755
-            - key: drools-preinstall.sh
-              path: drools-preinstall.sh
-              mode: 0755
         - name: drools-secret
           secret:
             secretName: {{ include "common.fullname" . }}-secret
index 1400e6c..fdb73e1 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.
@@ -28,7 +28,7 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/policy-drools:1.4-SNAPSHOT-latest
+image: onap/policy-pdpd-cl:1.4-SNAPSHOT-latest
 pullPolicy: Always
 
 # flag to enable debugging - application support required
diff --git a/kubernetes/policy/charts/policy-xacml-pdp/Chart.yaml b/kubernetes/policy/charts/policy-xacml-pdp/Chart.yaml
new file mode 100644 (file)
index 0000000..be4325e
--- /dev/null
@@ -0,0 +1,22 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+description: ONAP Policy XACML PDP
+name: policy-xacml-pdp
+version: 4.0.0
diff --git a/kubernetes/policy/charts/policy-xacml-pdp/requirements.yaml b/kubernetes/policy/charts/policy-xacml-pdp/requirements.yaml
new file mode 100644 (file)
index 0000000..768bdb3
--- /dev/null
@@ -0,0 +1,22 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+dependencies:
+  - name: common
+    version: ~4.x-0
+    repository: '@local'
diff --git a/kubernetes/policy/charts/policy-xacml-pdp/resources/config/config.json b/kubernetes/policy/charts/policy-xacml-pdp/resources/config/config.json
new file mode 100644 (file)
index 0000000..7fb864b
--- /dev/null
@@ -0,0 +1,26 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+{
+    "name":"XacmlPdpGroup",
+    "restServerParameters":{
+        "host":"0.0.0.0",
+        "port":6969,
+        "userName":"healthcheck",
+        "password":"zb!XztG34"
+    }
+}
diff --git a/kubernetes/policy/charts/policy-xacml-pdp/templates/configmap.yaml b/kubernetes/policy/charts/policy-xacml-pdp/templates/configmap.yaml
new file mode 100644 (file)
index 0000000..d90b0c9
--- /dev/null
@@ -0,0 +1,25 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-configmap
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/config/config.json").AsConfig . | indent 2 }}
diff --git a/kubernetes/policy/charts/policy-xacml-pdp/templates/deployment.yaml b/kubernetes/policy/charts/policy-xacml-pdp/templates/deployment.yaml
new file mode 100644 (file)
index 0000000..20b2afb
--- /dev/null
@@ -0,0 +1,66 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ include "common.fullname" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  replicas: {{ .Values.replicaCount }}
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}
+        release: {{ .Release.Name }}
+    spec:
+      containers:
+        - name: {{ include "common.name" . }}
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          command: ["/opt/app/policy/pdpx/bin/policy-pdpx.sh"]
+          args: ["/opt/app/policy/pdpx/etc/mounted/config.json"]
+          ports:
+          - containerPort: {{ .Values.service.internalPort }}
+          # disable liveness probe when breakpoints set in debugger
+          # so K8s doesn't restart unresponsive container
+          {{- if eq .Values.liveness.enabled true }}
+          livenessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.liveness.periodSeconds }}
+          {{ end -}}
+          readinessProbe:
+            tcpSocket:
+              port: {{ .Values.service.internalPort }}
+            initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+            periodSeconds: {{ .Values.readiness.periodSeconds }}
+          volumeMounts:
+          - mountPath: /etc/localtime
+            name: localtime
+            readOnly: true
+          - mountPath: /opt/app/policy/pdpx/etc/mounted
+            name: pdpxconfig
+          resources:
+{{ include "common.resources" . | indent 12 }}
+        {{- if .Values.nodeSelector }}
+        nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+        affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+        {{- end }}
+      volumes:
+        - name: localtime
+          hostPath:
+             path: /etc/localtime
+        - name: pdpxconfig
+          configMap:
+            name: {{ include "common.fullname" . }}-configmap
+            defaultMode: 0755
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/policy/charts/policy-xacml-pdp/templates/service.yaml b/kubernetes/policy/charts/policy-xacml-pdp/templates/service.yaml
new file mode 100644 (file)
index 0000000..c02dbfd
--- /dev/null
@@ -0,0 +1,37 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName }}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
diff --git a/kubernetes/policy/charts/policy-xacml-pdp/values.yaml b/kubernetes/policy/charts/policy-xacml-pdp/values.yaml
new file mode 100644 (file)
index 0000000..fcfbab2
--- /dev/null
@@ -0,0 +1,67 @@
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  ================================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#  SPDX-License-Identifier: Apache-2.0
+#  ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  persistence: {}
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/policy-xacml-pdp:2.0.0-SNAPSHOT-latest
+pullPolicy: Always
+
+# flag to enable debugging - application support required
+debugEnabled: false
+
+# application configuration
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+  initialDelaySeconds: 20
+  periodSeconds: 10
+  # necessary to disable liveness probe when setting breakpoints
+  # in debugger so K8s doesn't restart unresponsive container
+  enabled: true
+
+readiness:
+  initialDelaySeconds: 20
+  periodSeconds: 10
+
+service:
+  type: ClusterIP
+  name: policy-xacml-pdp
+  portName: policy-xacml-pdp
+  externalPort: 6969
+  internalPort: 6969
+
+ingress:
+  enabled: false
+
+resources: {}
index 9a27a6c..77789f4 100755 (executable)
@@ -24,4 +24,4 @@ key.manager.factory.algorithm=SunX509
 security.protocol=TLS
 connection.timeout.ms=60000
 read.timeout.ms=60000
-base.uri=/sdccontextbuilder/service/context
+base.uri=/sdccontextbuilder/v2/service/context
diff --git a/kubernetes/pomba/charts/pomba-contextaggregator/templates/service.yaml b/kubernetes/pomba/charts/pomba-contextaggregator/templates/service.yaml
new file mode 100644 (file)
index 0000000..defd063
--- /dev/null
@@ -0,0 +1,41 @@
+# Copyright © 2018 Amdocs
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ include "common.servicename" . }}
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+    {{if eq .Values.service.type "NodePort" -}}
+    - port: {{ .Values.service.externalPort }}
+      #Example internal target port if required
+      #targetPort: {{ .Values.service.internalPort }}
+      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      name: {{ .Values.service.portName | default "http" }}
+    {{- else -}}
+    - port: {{ .Values.service.externalPort }}
+      targetPort: {{ .Values.service.internalPort }}
+      name: {{ .Values.service.portName | default "http" }}
+    {{- end}}
+  selector:
+    app: {{ include "common.name" . }}
+    release: {{ .Release.Name }}
index 3254421..40d40b3 100755 (executable)
@@ -75,8 +75,8 @@ service:
 
   #Services may use any combination of ports depending on the 'type' of
   #service being defined.
-  #type: ClusterIP
-  #externalPort: 9529
+  type: ClusterIP
+  externalPort: 9529
   internalPort: 9529
   #nodePort: <replace with unused node port suffix eg. 23>
   # optional port name override - default can be defined in service.yaml
index f3d2aaa..00eb921 100644 (file)
@@ -29,7 +29,7 @@ busyboxImage: library/busybox:latest
 
 # application image
 loggingRepository: docker.elastic.co
-image: elasticsearch/elasticsearch:6.3.1
+image: elasticsearch/elasticsearch:6.6.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
diff --git a/kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json b/kubernetes/pomba/charts/pomba-kibana/resources/config/validationsDump.json
deleted file mode 100644 (file)
index ae01e96..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-{
-  "service-validations": {
-    "mappings": {
-      "default": {
-        "properties": {
-          "modelInvariantId": {
-            "type": "text"
-          },
-          "modelName": {
-            "type": "text"
-          },
-          "modelVersionId": {
-            "type": "text"
-          },
-          "result": {
-            "type": "text"
-          },
-          "serviceInstanceId": {
-            "type": "text"
-          },
-          "validationId": {
-            "type": "text"
-          },
-          "validationTimestamp": {
-            "type": "date",
-            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
-          },
-          "violations": {
-            "type": "nested",
-            "properties": {
-              "category": {
-                "type": "text"
-              },
-              "errorMessage": {
-                "type": "text"
-              },
-              "modelName": {
-                "type": "text"
-              },
-              "severity": {
-                "type": "text"
-              },
-              "validationRule": {
-                "type": "text"
-              },
-              "violationDetails": {
-                "properties": {
-                  "context-list-aai-vf-list[*]": {
-                    "properties": {
-                      "invariant-id": {
-                        "type": "text"
-                      },
-                      "name": {
-                        "type": "text"
-                      },
-                      "nf-naming-code": {
-                        "type": "text"
-                      },
-                      "type": {
-                        "type": "text"
-                      },
-                      "uuid": {
-                        "type": "text"
-                      },
-                      "vf-module-list": {
-                        "properties": {
-                          "invariant-id": {
-                            "type": "text"
-                          },
-                          "max-instances": {
-                            "type": "long"
-                          },
-                          "min-instances": {
-                            "type": "long"
-                          },
-                          "uuid": {
-                            "type": "text"
-                          }
-                        }
-                      },
-                      "vnfc-list": {
-                        "properties": {
-                          "name": {
-                            "type": "text"
-                          },
-                          "nfc-naming-code": {
-                            "type": "text"
-                          }
-                        }
-                      }
-                    }
-                  },
-                  "context-list-aai-vf-list[*]-name": {
-                    "type": "text"
-                  },
-                  "context-list-aai-vf-list[*]-type": {
-                    "type": "text"
-                  },
-                  "context-list-aai-vf[*]-name": {
-                    "type": "text"
-                  },
-                  "context-list-aai-vf[*]-type": {
-                    "type": "text"
-                  },
-                  "context-list-sdc-service-name": {
-                    "type": "text"
-                  },
-                  "context-list-sdc-vf-list[*]": {
-                    "properties": {
-                      "invariant-id": {
-                        "type": "text"
-                      },
-                      "name": {
-                        "type": "text"
-                      },
-                      "type": {
-                        "type": "text"
-                      },
-                      "uuid": {
-                        "type": "text"
-                      },
-                      "vf-module-list": {
-                        "properties": {
-                          "invariant-id": {
-                            "type": "text"
-                          },
-                          "max-instances": {
-                            "type": "long"
-                          },
-                          "min-instances": {
-                            "type": "long"
-                          },
-                          "uuid": {
-                            "type": "text"
-                          }
-                        }
-                      },
-                      "vnfc-list": {
-                        "properties": {
-                          "invariant-id": {
-                            "type": "text"
-                          },
-                          "name": {
-                            "type": "text"
-                          },
-                          "nfc-naming-code": {
-                            "type": "text"
-                          },
-                          "uuid": {
-                            "type": "text"
-                          }
-                        }
-                      }
-                    }
-                  },
-                  "context-list-sdnc-vf-list[*]-name": {
-                    "type": "text"
-                  },
-                  "context-list-sdnc-vf-list[*]-type": {
-                    "type": "text"
-                  },
-                  "context-list-sdnc-vf[*]-name": {
-                    "type": "text"
-                  },
-                  "context-list-sdnc-vf[*]-type": {
-                    "type": "text"
-                  }
-                }
-              },
-              "violationId": {
-                "type": "text"
-              },
-              "violationTimestamp": {
-                "type": "date",
-                "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
-              },
-              "violationType": {
-                "type": "text"
-              }
-            }
-          },
-          "client": {
-            "type": "text"
-          },
-          "requestId": {
-            "type": "text"
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json b/kubernetes/pomba/charts/pomba-kibana/resources/config/violationsDump.json
deleted file mode 100644 (file)
index 790f8c7..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-  "service-violations": {
-    "mappings": {
-      "default": {
-        "properties": {
-          "category": {
-            "type": "text"
-          },
-          "message": {
-            "type": "text"
-          },
-          "modelInvariantId": {
-            "type": "text"
-          },
-          "modelVersionId": {
-            "type": "text"
-          },
-          "serviceInstanceId": {
-            "type": "text"
-          },
-          "severity": {
-            "type": "text"
-          },
-          "validationId": {
-            "type": "text"
-          },
-          "validationRule": {
-            "type": "text"
-          },
-          "validationTimestamp": {
-            "type": "date",
-            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
-          },
-          "violationId": {
-            "type": "text"
-          },
-          "violationTimestamp": {
-            "type": "date",
-            "format": "MMM d y HH:m:s||dd-MM-yyyy HH:mm:ss||yyyy-MM-dd'T'HH:mm:ss.SSSZZ||MM/dd/yyyy||yyyyMMdd'T'HHmmssZ"
-          },
-          "violationType": {
-            "type": "text"
-          }
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
index 2bc9e79..58a0a90 100644 (file)
@@ -79,40 +79,6 @@ spec:
           - mountPath: /config/default.json
             name: {{ include "common.fullname" . }}
             subPath: default.json
-      - args:
-        - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/service-validations
-        - --input=/config/validationsDump.json
-        - --type=mapping
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: "{{ .Values.configRepository }}/{{ .Values.configImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        name: {{ include "common.name" . }}-config-validation
-        volumeMounts:
-          - mountPath: /config/validationsDump.json
-            name: {{ include "common.fullname" . }}
-            subPath: validationsDump.json
-      - args:
-        - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/service-violations
-        - --input=/config/violationsDump.json
-        - --type=mapping
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: "{{ .Values.configRepository }}/{{ .Values.configImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        name: {{ include "common.name" . }}-config-violation
-        volumeMounts:
-          - mountPath: /config/violationsDump.json
-            name: {{ include "common.fullname" . }}
-            subPath: violationsDump.json            
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}"
@@ -175,10 +141,6 @@ spec:
               path: kibana.yml
             - key: default.json
               path: default.json
-            - key: validationsDump.json
-              path: validationsDump.json
-            - key: violationsDump.json
-              path: violationsDump.json
             - key: default-mapping.json
               path: default-mapping.json
         - name: {{ include "common.fullname" . }}-auth
index fe50e47..53725b7 100644 (file)
@@ -34,7 +34,7 @@ busyboxImage: library/busybox:latest
 
 # application image
 loggingRepository: docker.elastic.co
-image: kibana/kibana:6.3.1
+image: kibana/kibana:6.6.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 4551982..24b443c 100644 (file)
@@ -17,7 +17,7 @@ spring.mvc.urls=swagger,docs,prometheus,auditevents,info,heapdump,autoconfig,bea
 camel.springboot.xmlRoutes = file:config/dynamic/routes/*.route
 service.xml.beans = config/dynamic/conf/*.xml
 
-server.contextPath=/sdnccontextbuilder/v1
+server.contextPath=/sdnccontextbuilder
 spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
 
 #This property is used to set the Tomcat connector attributes.developers can define multiple attributes separated by comma
index de8bacf..58ed8f6 100644 (file)
@@ -1,19 +1,16 @@
 {
-  "attr-translations": [{
-      "from": "\"type\":\"string\",\"index\":\"analyzed\"",
-      "to": "\"type\":\"text\",\"index\":\"true\""
-    },
+  "attr-translations": [       
     {
-      "from": "\"type\":\"string\",\"index\":\"not_analyzed\"",
-      "to": "\"type\":\"keyword\",\"index\":\"true\""
+      "query": "$..[?(@.type=='string' && @.index=='analyzed')]",
+      "update": {"type": "text", "index": true, "fielddata": true}
     },
     {
-      "from": "\"type\":\"string\"",
-      "to": "\"type\":\"text\""
+      "query": "$..[?(@.type=='string' && @.index=='not_analyzed')]",
+      "update": {"type": "keyword", "index": true}
     },
     {
-      "from": "searchable",
-      "to": "index"
+      "query": "$..[?(@.type=='string' && !@.index)]",
+      "update": {"type": "text", "fielddata": true}
     }
   ]
 }
\ No newline at end of file
index 4d8d496..b1065c1 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs
+# Copyright © 2018 Amdocs
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.jks b/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.jks
deleted file mode 100644 (file)
index 4b7e115..0000000
Binary files a/kubernetes/portal/charts/portal-app/resources/certs/keystoreONAPPortal.jks and /dev/null differ
index df2f4f6..c53a7ae 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 c23accd..5e6288e 100644 (file)
@@ -65,10 +65,19 @@ GLOBAL_LOG_ELASTICSEARCH_PORT = "9200"
 GLOBAL_LOG_LOGSTASH_PORT = "9600"
 GLOBAL_LOG_KIBANA_PORT = "5601"
 # pomba info - NOTE: no pomba is run in HEAT; only on OOM
-GLOBAL_POMBA_SERVER_PROTOCOL = "http"
+GLOBAL_POMBA_SERVER_PROTOCOL_HTTP = "http"
+GLOBAL_POMBA_SERVER_PROTOCOL_HTTPS = "https"
 GLOBAL_POMBA_AAICONTEXTBUILDER_PORT = "9530"
 GLOBAL_POMBA_SDCCONTEXTBUILDER_PORT = "9530"
 GLOBAL_POMBA_NETWORKDISCCONTEXTBUILDER_PORT = "9530"
+GLOBAL_POMBA_SERVICEDECOMPOSITION_PORT = "9532"
+GLOBAL_POMBA_SDNCCXTBUILDER_PORT = "9530"
+GLOBAL_POMBA_NETWORKDISCOVERY_MICROSERVICE_PORT = "9531"
+GLOBAL_POMBA_VALIDATIONSERVICE_PORT = "9529"
+GLOBAL_POMBA_KIBANA_PORT = "5601"
+GLOBAL_POMBA_ELASTICSEARCH_PORT = "9200"
+GLOBAL_POMBA_CONTEXTAGGREGATOR_PORT = "9529"
+
 # microservice bus info - everything is from the private oam network (also called onap private network)
 GLOBAL_MSB_SERVER_PROTOCOL = "http"
 GLOBAL_MSB_SERVER_PORT = "80"
index 0c8edd0..6684bca 100644 (file)
@@ -35,6 +35,13 @@ GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = "log-ls-http.{{include "common.namespace"
 GLOBAL_INJECTED_POMBA_AAI_CONTEXT_BUILDER_IP_ADDR = "pomba-aaictxbuilder.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_POMBA_SDC_CONTEXT_BUILDER_IP_ADDR = "pomba-sdcctxbuilder.{{include "common.namespace" .}}"
 GLOBAL_INJECTED_POMBA_NETWORK_DISC_CONTEXT_BUILDER_IP_ADDR = "pomba-networkdiscoveryctxbuilder.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POMBA_SERVICE_DECOMPOSITION_IP_ADDR = "pomba-servicedecomposition.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POMBA_SDNC_CTX_BUILDER_IP_ADDR = "pomba-sdncctxbuilder.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POMBA_NETWORKDISCOVERY_MICROSERVICE_IP_ADDR = "pomba-networkdiscovery.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POMBA_VALIDATION_SERVICE_IP_ADDR = "pomba-validation-service.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POMBA_KIBANA_IP_ADDR = "pomba-kibana.{{include "common.namespace" .}}"
+GLOBAL_INJECTED_POMBA_ELASTIC_SEARCH_IP_ADDR = "pomba-es.{{include "common.namespace" .}}"
+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_MUSIC_IP_ADDR = "music.{{include "common.namespace" .}}"
@@ -109,6 +116,9 @@ GLOBAL_INJECTED_PROPERTIES = {
     "GLOBAL_INJECTED_POMBA_AAI_CONTEXT_BUILDER_IP_ADDR" : "pomba-aaictxbuilder.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POMBA_SDC_CONTEXT_BUILDER_IP_ADDR" : "pomba-sdcctxbuilder.{{include "common.namespace" .}}",
     "GLOBAL_INJECTED_POMBA_NETWORK_DISC_CONTEXT_BUILDER_IP_ADDR" : "pomba-networkdiscovery.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_POMBA_SERVICE_DECOMPOSITION_IP_ADDR" : "pomba-servicedecomposition.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_POMBA_SDNC_CTX_BUILDER_IP_ADDR" : "pomba-sdncctxbuilder.{{include "common.namespace" .}}",
+    "GLOBAL_INJECTED_POMBA_CONTEX_TAGGREGATOR_IP_ADDR" : "pomba-contextaggregator.{{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 }}",
diff --git a/kubernetes/sdc/charts/sdc-wfd-be/templates/_helper.tpl b/kubernetes/sdc/charts/sdc-wfd-be/templates/_helper.tpl
new file mode 100644 (file)
index 0000000..c69fb7c
--- /dev/null
@@ -0,0 +1,29 @@
+{{- define "sdc-wfd-be.volumes" }}
+    {{ if .Values.config.cassandraSSLEnabled }}
+    - name: {{ include "common.fullname" . }}-cassandra-client-truststore
+      hostPath:
+        path: /etc/cassandra-client-truststore/truststore
+        type: File
+    {{- end }}
+    {{ if .Values.config.serverSSLEnabled }}
+    - name: {{ include "common.fullname" . }}-server-https-keystore
+      hostPath:
+        path: /config/server-https-keystore/keystore
+        type: File
+    {{- end }}
+{{- end }}
+
+{{- define "sdc-wfd-be.volumeMounts" }}
+    {{ if .Values.config.cassandraSSLEnabled }}
+    - name: {{ include "common.fullname" . }}-cassandra-client-truststore
+      mountPath: /etc/cassandra-client-truststore/truststore
+      subPath: truststore
+      readOnly: true
+    {{- end }}
+    {{ if .Values.config.serverSSLEnabled }}
+    - name: {{ include "common.fullname" . }}-server-https-keystore
+      mountPath: /etc/server-https-keystore/keystore
+      subPath: keystore
+      readOnly: true
+    {{- end }}
+{{- end }}
\ No newline at end of file
index 26ad055..bb96d34 100644 (file)
@@ -101,34 +101,14 @@ spec:
           - name: SERVER_SSL_ENABLED
             value: "{{ .Values.config.serverSSLEnabled }}"
           - name: SERVER_SSL_KEYSTORE_TYPE
-            value: "{{ .Values.config.ser }}"
+            value: "{{ .Values.config.serverSSLKeyStoreType }}"
           - name: SERVER_SSL_KEYSTORE_PATH
             value: "{{ .Values.config.serverSSLKeyStorePath }}"
           - name: SERVER_SSL_KEY_PASSWORD
             value: "{{ .Values.config.serverSSLKeyPassword }}"
           volumeMounts:
-          {{ if .Values.config.cassandraSSLEnabled }}
-          - name: {{ include "common.fullname" . }}-cassandra-client-truststore
-            mountPath: /config/cassandra-client-truststore
-            subPath: truststore
-            readOnly: true
-          {{- end }}
-          {{ if .Values.config.serverSSLEnabled }}
-          - name: {{ include "common.fullname" . }}-server-https-keystore
-            mountPath: /config/server-https-keystore
-            subPath: keystore
-            readOnly: true
-          {{- end }}
+            {{- template "sdc-wfd-be.volumeMounts" . }}
       volumes:
-      {{ if .Values.config.cassandraSSLEnabled }}
-      - name: {{ include "common.fullname" . }}-cassandra-client-truststore
-        hostPath:
-          path: /config/cassandra-client-truststore
-      {{- end }}
-      {{ if .Values.config.serverSSLEnabled }}
-      - name: {{ include "common.fullname" . }}-server-https-keystore
-        hostPath:
-          path: /config/server-https-keystore
-      {{- end }}
+        {{- template "sdc-wfd-be.volumes" . }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index ed8833a..6355436 100644 (file)
@@ -50,10 +50,10 @@ config:
   sdcExternalUserPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
   serverSSLEnabled: false
   serverSSLKeyStoreType: jks
-  serverSSLKeyStorePath: /config/server-https-keystore/keystore
+  serverSSLKeyStorePath: /etc/server-https-keystore/keystore
   serverSSLKeyPassword: password
   cassandraSSLEnabled: false
-  cassandraTrustStorePath: /config/cassandra-client-truststore/truststore
+  cassandraTrustStorePath: /etc/cassandra-client-truststore/truststore
   cassandraTrustStorePassword: password
 
 # default number of instances
index d1b0c99..2513fc9 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)
@@ -80,6 +115,7 @@ function enable_odl_cluster(){
 ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
 ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
 SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
+SDNC_BIN=${SDNC_BIN:-/opt/onap/sdnc/bin}
 CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
 SLEEP_TIME=${SLEEP_TIME:-120}
 MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
@@ -87,6 +123,13 @@ MYSQL_HOST=${MYSQL_HOST:-{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.V
 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
@@ -128,8 +171,15 @@ 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
 
+cp /opt/opendaylight/current/certs/* /tmp
+
+nohup python ${SDNC_BIN}/installCerts.py &
+
+
 exec ${ODL_HOME}/bin/karaf server
 
index 807bfab..92c5c78 100755 (executable)
@@ -345,3 +345,8 @@ spring:
       username: mso_admin
       password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
       role: ACTUATOR
+so:
+  vnfm:
+    adapter:
+      url: http://so-vnfm-adapter.{{ include "common.namespace" . }}:9092/so/vnfm-adapter/v1/
+      auth: Basic dm5mbTpwYXNzd29yZDEk
index 592c390..0078711 100755 (executable)
@@ -11,6 +11,8 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+aai:
+  auth: 2A11B07DB6214A839394AA1EC5844695F5114FC407FF5422625FB00175A3DCB8A1FF745F22867EFA72D5369D599BBD88DA8BED4233CF5586
 server:
   port: {{ index .Values.containerPort }}
 spring:
@@ -97,6 +99,8 @@ mso:
     db:
       spring:
         endpoint: http://so-catalog-db-adapter.{{ include "common.namespace" . }}:8082
+  aai:
+    endpoint: https://aai.{{ include "common.namespace" . }}:8443
   db:
     auth: Basic YnBlbDpwYXNzd29yZDEk
   site-name: localDevEnv
index 924042d..0b52949 100755 (executable)
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
+aai:
+  auth: 2A11B07DB6214A839394AA1EC5844695F5114FC407FF5422625FB00175A3DCB8A1FF745F22867EFA72D5369D599BBD88DA8BED4233CF5586
+  version: v15
+  endpoint: https://aai.{{ include "common.namespace" . }}:8443
 spring:
   security:
     usercredentials:
@@ -23,6 +27,7 @@ spring:
 server:
     port: {{ index .Values.containerPort }}
 mso:
+  key: 07a7159d3bf51a0e53be7a8f89699be7
   site-name: localSite
   logPath: ./logs/vnfm-adapter
   msb-ip: msb-iag.{{ include "common.namespace" . }}