Add multicloud plugins for OpenStack

Fixed nodeport conflicts.

Change-Id: I1684d9808a2b6b6eda2417fd957816852f9cd751
Issue-Id: MULTICLOUD-108
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Signed-off-by: Mike Elliott <mike.elliott@amdocs.com>
diff --git a/kubernetes/multicloud/templates/all-services.yaml b/kubernetes/multicloud/templates/all-services.yaml
index b4eafe5..d8de447 100644
--- a/kubernetes/multicloud/templates/all-services.yaml
+++ b/kubernetes/multicloud/templates/all-services.yaml
@@ -48,7 +48,63 @@
   ports:
   - name: "multicloud-port"
     port: 9004
-    nodePort: {{ .Values.nodePortPrefix }}94
+    nodePort: {{ .Values.nodePortPrefix }}92
   selector:
     app: multicloud-vio
   type: NodePort
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: multicloud-ocata
+  namespace: "{{ .Values.nsPrefix }}-multicloud"
+  labels:
+    name: multicloud-ocata
+  annotations:
+    msb.onap.org/service-info: '[
+    {
+      "serviceName": "multicloud-ocata",
+      "version": "v0",
+      "url": "/api/multicloud-ocata/v0",
+      "protocol": "REST",
+      "port": "9006",
+      "visualRange": "1"
+    }
+    ]'
+
+spec:
+  ports:
+  - name: "multicloud-port"
+    port: 9006
+    nodePort: {{ .Values.nodePortPrefix }}93
+  selector:
+    app: multicloud-ocata
+  type: NodePort
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: multicloud-windriver
+  namespace: "{{ .Values.nsPrefix }}-multicloud"
+  labels:
+    name: multicloud-windriver
+  annotations:
+    msb.onap.org/service-info: '[
+    {
+      "serviceName": "multicloud-titanium_cloud",
+      "version": "v0",
+      "url": "/api/multicloud-titanium_cloud/v0",
+      "protocol": "REST",
+      "port": "9005",
+      "visualRange": "1"
+    }
+    ]'
+
+spec:
+  ports:
+  - name: "multicloud-port"
+    port: 9005
+    nodePort: {{ .Values.nodePortPrefix }}94
+  selector:
+    app: multicloud-windriver
+  type: NodePort
diff --git a/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml b/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml
new file mode 100644
index 0000000..8d9bd9d
--- /dev/null
+++ b/kubernetes/multicloud/templates/multicloud-ocata-deployment.yaml
@@ -0,0 +1,59 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: multicloud-ocata
+  namespace: "{{ .Values.nsPrefix }}-multicloud"
+spec:
+  selector:
+    matchLabels:
+      app: multicloud-ocata
+  template:
+    metadata:
+      labels:
+        app: multicloud-ocata
+      name: multicloud-ocata
+    spec:
+     hostname: multicloud-ocata
+     containers:
+     - env:
+       - name: MSB_ADDR
+         value: "{{ .Values.msbgateway }}"
+       - name: MSB_PORT
+         value: "{{ .Values.msbPort }}"
+       - name: AAI_ADDR
+         value: aai-service.{{ .Values.nsPrefix }}-aai
+       - name: AAI_PORT
+         value: "8443"
+       - name: AAI_SCHEMA_VERSION
+         value: "v11"
+       - name: AAI_USERNAME
+         value: "AAI"
+       - name: AAI_PASSWORD
+         value: "AAI"
+       name: multicloud-ocata
+       volumeMounts:
+       - mountPath: /opt/ocata/logs
+         name: ocata-log
+       image: {{ .Values.image.ocata }}
+       imagePullPolicy: {{ .Values.pullPolicy }}
+       ports:
+       - containerPort: 9006
+       livenessProbe:
+         httpGet:
+           path: /api/multicloud-ocata/v0/swagger.json
+           port: 9006
+           scheme: HTTP
+         initialDelaySeconds: 30
+         periodSeconds: 10
+         timeoutSeconds: 10
+         successThreshold: 1
+         failureThreshold: 5
+     restartPolicy: Always
+     volumes:
+     - name: ocata-log
+       hostPath:
+         path: /dockerdata-nfs/{{ .Values.nsPrefix }}/multicloud/ocata/logs
+     imagePullSecrets:
+     - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+
+
diff --git a/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml b/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml
new file mode 100644
index 0000000..a74ea19
--- /dev/null
+++ b/kubernetes/multicloud/templates/multicloud-windriver-deployment.yaml
@@ -0,0 +1,59 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: multicloud-windriver
+  namespace: "{{ .Values.nsPrefix }}-multicloud"
+spec:
+  selector:
+    matchLabels:
+      app: multicloud-windriver
+  template:
+    metadata:
+      labels:
+        app: multicloud-windriver
+      name: multicloud-windriver
+    spec:
+     hostname: multicloud-windriver
+     containers:
+     - env:
+       - name: MSB_ADDR
+         value: "{{ .Values.msbgateway }}"
+       - name: MSB_PORT
+         value: "{{ .Values.msbPort }}"
+       - name: AAI_ADDR
+         value: aai-service.{{ .Values.nsPrefix }}-aai
+       - name: AAI_PORT
+         value: "8443"
+       - name: AAI_SCHEMA_VERSION
+         value: "v11"
+       - name: AAI_USERNAME
+         value: "AAI"
+       - name: AAI_PASSWORD
+         value: "AAI"
+       name: multicloud-windriver
+       volumeMounts:
+       - mountPath: /opt/windriver/logs
+         name: windriver-log
+       image: {{ .Values.image.windriver }}
+       imagePullPolicy: {{ .Values.pullPolicy }}
+       ports:
+       - containerPort: 9005
+       livenessProbe:
+         httpGet:
+           path: /api/multicloud-titanium_cloud/v0/swagger.json
+           port: 9005
+           scheme: HTTP
+         initialDelaySeconds: 30
+         periodSeconds: 10
+         timeoutSeconds: 10
+         successThreshold: 1
+         failureThreshold: 5
+     restartPolicy: Always
+     volumes:
+     - name: windriver-log
+       hostPath:
+         path: /dockerdata-nfs/{{ .Values.nsPrefix }}/multicloud/windriver/logs
+     imagePullSecrets:
+     - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+
+
diff --git a/kubernetes/multicloud/values.yaml b/kubernetes/multicloud/values.yaml
index 2cbb377..1b512a3 100644
--- a/kubernetes/multicloud/values.yaml
+++ b/kubernetes/multicloud/values.yaml
@@ -5,6 +5,8 @@
   readiness: oomk8s/readiness-check:1.0.0
   framework: nexus3.onap.org:10001/onap/multicloud/framework:latest
   vio: nexus3.onap.org:10001/onap/multicloud/vio:latest
+  ocata: nexus3.onap.org:10001/onap/multicloud/openstack-ocata:latest
+  windriver: nexus3.onap.org:10001/onap/multicloud/openstack-windriver:latest
 
 # domain name of msb gateway
 msbgateway: msb-iag.onap-msb