Portal selective readiness check
[oom.git] / kubernetes / portal / templates / portal-vnc-dep.yaml
index 6c90bbf..f3418e7 100644 (file)
+# Copyright © 2017 Amdocs, Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#{{ if not .Values.disablePortalVncPortal }}
+kind: ConfigMap
+metadata:
+  name: portal-vnc-profiles-ini
+  namespace: "{{ .Values.nsPrefix }}"
+data:
+{{ (.Files.Glob "resources/vnc/init_profile/profiles.ini").AsConfig | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: portal-vnc-update-hosts
+  namespace: "{{ .Values.nsPrefix }}"
+data:
+{{ (.Files.Glob "resources/scripts/update_hosts.sh").AsConfig | indent 2 }}
+---
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
   labels:
-    app: vnc-portal
-  name: vnc-portal
-  namespace: "{{ .Values.nsPrefix }}-portal"
+    app: portal-vnc
+  name: portal-vnc
+  namespace: "{{ .Values.nsPrefix }}"
 spec:
+  replicas: {{ .Values.vncPortalReplicas }}
   selector:
     matchLabels:
-      app: vnc-portal
+      app: portal-vnc
   template:
     metadata:
       labels:
-        app: vnc-portal
-      name: vnc-portal
-      annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-              "args": [
-                  "--container-name",
-                  "portalapps"
-              ],
-              "command": [
-                  "/root/ready.py"
-              ],
-              "env": [
-                  {
-                      "name": "NAMESPACE",
-                      "valueFrom": {
-                          "fieldRef": {
-                              "apiVersion": "v1",
-                              "fieldPath": "metadata.namespace"
-                          }
-                      }
-                  }
-              ],
-              "image": "{{ .Values.image.readiness }}",
-              "imagePullPolicy": "{{ .Values.pullPolicy }}",
-              "name": "vnc-portal-readiness"
-          },
-          {
-              "args": [
-                  "--container-name",
-                  "pap"
-              ],
-              "command": [
-                  "/root/ready.py"
-              ],
-              "env": [
-                  {
-                      "name": "NAMESPACE",
-                      "value": "{{ .Values.nsPrefix }}-policy"
-                  }
-              ],
-              "image": "{{ .Values.image.readiness }}",
-              "imagePullPolicy": "{{ .Values.pullPolicy }}",
-              "name": "vnc-pap-readiness"
-          },
-          {
-              "args": [
-                  "--container-name",
-                  "sdc-fe"
-              ],
-              "command": [
-                  "/root/ready.py"
-              ],
-              "env": [
-                  {
-                      "name": "NAMESPACE",
-                      "value": "{{ .Values.nsPrefix }}-sdc"
-                  }
-              ],
-              "image": "{{ .Values.image.readiness }}",
-              "imagePullPolicy": "{{ .Values.pullPolicy }}",
-              "name": "vnc-sdc-readiness"
-          },
-          {
-              "args": [
-                  "--container-name",
-                  "vid-server"
-              ],
-              "command": [
-                  "/root/ready.py"
-              ],
-              "env": [
-                  {
-                      "name": "NAMESPACE",
-                      "value": "{{ .Values.nsPrefix }}-vid"
-                  }
-              ],
-              "image": "{{ .Values.image.readiness }}",
-              "imagePullPolicy": "{{ .Values.pullPolicy }}",
-              "name": "vnc-vid-readiness"
-          },
-          {
-              "command": ["/bin/sh","-c"],
-              "args": ["echo `host sdc-be.{{ .Values.nsPrefix }}-sdc | awk ''{print$4}''` sdc.api.be.simpledemo.openecomp.org  >> /ubuntu-init/hosts; echo `host portalapps.{{ .Values.nsPrefix }}-portal | awk ''{print$4}''` portal.api.simpledemo.openecomp.org  >> /ubuntu-init/hosts; echo `host pap.{{ .Values.nsPrefix }}-policy | awk ''{print$4}''` policy.api.simpledemo.openecomp.org  >> /ubuntu-init/hosts; echo `host sdc-fe.{{ .Values.nsPrefix }}-sdc | awk ''{print$4}''` sdc.api.simpledemo.openecomp.org  >> /ubuntu-init/hosts; echo `host vid-server.{{ .Values.nsPrefix }}-vid | awk ''{print$4}''` vid.api.simpledemo.openecomp.org >> /ubuntu-init/hosts; echo `host sparky-be.{{ .Values.nsPrefix }}-aai | awk ''{print$4}''` aai.api.simpledemo.openecomp.org  >> /ubuntu-init/hosts"],
-              "image": "{{ .Values.image.ubuntuInit }}",
-              "imagePullPolicy": "{{ .Values.pullPolicy }}",
-              "name": "vnc-init-hosts",
-              "volumeMounts": [
-                {
-                  "name": "ubuntu-init",
-                  "mountPath": "/ubuntu-init/"
-                }
-              ]
-          }
-          ]'
+        app: portal-vnc
+      name: portal-vnc
     spec:
+      initContainers:
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - portalapps
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        image: {{ .Values.image.readiness }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        name: portal-vnc-readiness
+{{- if empty .Values.disablePolicyPap  | not }}
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - pap
+        env:
+        - name: NAMESPACE
+          value: {{ .Values.nsPrefix }}
+        image: {{ .Values.image.readiness }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        name: vnc-pap-readiness
+{{- end }}
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - sdc-fe
+        env:
+        - name: NAMESPACE
+          value: {{ .Values.nsPrefix }}
+        image: {{ .Values.image.readiness }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        name: vnc-sdc-readiness
+      - command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - vid-server
+        env:
+        - name: NAMESPACE
+          value: {{ .Values.nsPrefix }}
+        image: {{ .Values.image.readiness }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        name: vnc-vid-readiness
       containers:
       - image: {{ .Values.image.ubuntuDesktop }}
         imagePullPolicy: {{ .Values.pullPolicy }}
         lifecycle:
           postStart:
             exec:
-              command: ["/bin/sh", "-c", "cat /ubuntu-init/hosts >> /etc/hosts"]
+              command: ["/bin/sh", "-c", "mkdir -p /root/.mozilla/firefox/onap.default; cp /root/.init_profile/profiles.ini /root/.mozilla/firefox/; echo 'user_pref(\"browser.tabs.remote.autostart.2\", false);' > /root/.mozilla/firefox/onap.default/prefs.js; (while true; do /tmp/update_hosts.sh sdc-be.{{ .Values.nsPrefix }} sdc.api.be.simpledemo.onap.org; /tmp/update_hosts.sh portalapps.{{ .Values.nsPrefix }} portal.api.simpledemo.onap.org; /tmp/update_hosts.sh pap.{{ .Values.nsPrefix }} policy.api.simpledemo.onap.org; /tmp/update_hosts.sh sdc-fe.{{ .Values.nsPrefix }} sdc.api.simpledemo.onap.org; /tmp/update_hosts.sh vid-server.{{ .Values.nsPrefix }} vid.api.simpledemo.onap.org; /tmp/update_hosts.sh sparky-be.{{ .Values.nsPrefix }} aai.api.simpledemo.onap.org; /tmp/update_hosts.sh cli.{{ .Values.nsPrefix }} cli.api.simpledemo.onap.org; sleep 10; done)  > update_hosts.log 2>&1 &"]
         env:
         - name: VNC_PASSWORD
           value: password
-        name: vnc-portal
+        name: portal-vnc
         volumeMounts:
-        - mountPath: /ubuntu-init/
-          name: ubuntu-init
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+        - mountPath: /root/.init_profile/profiles.ini
+          name: vnc-profiles-ini
+          subPath: profiles.ini
+        - mountPath: /tmp/update_hosts.sh
+          name: vnc-update-hosts
+          subPath: update_hosts.sh
         securityContext:
           privileged: true
       securityContext: {}
       volumes:
-        - name: ubuntu-init
-          emptyDir: {}
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: vnc-profiles-ini
+          configMap:
+            name: portal-vnc-profiles-ini
+        - name: vnc-update-hosts
+          configMap:
+            name: portal-vnc-update-hosts
+            defaultMode: 0755
       imagePullSecrets:
       - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+#{{ end }}
+