Merge "Script_version addiition in robot config"
[oom.git] / kubernetes / log / templates / elasticsearch-deployment.yaml
index c123df1..8c09479 100644 (file)
@@ -1,12 +1,27 @@
+# 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.disableLogElasticsearch }}
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
   labels:
     app: elasticsearch
-  name: elasticsearch
-  namespace: {{ .Values.nsPrefix }}-log
+  name: log-elasticsearch
+  namespace: {{ .Values.nsPrefix }}
 spec:
+  replicas: {{ .Values.elasticsearchReplicas }}
   selector:
     matchLabels:
       app: elasticsearch
@@ -14,31 +29,32 @@ spec:
     metadata:
       labels:
         app: elasticsearch
-      name: elasticsearch
-      annotations:
-        pod.beta.kubernetes.io/init-containers: '[
-          {
-              "command": ["sysctl", "-w", "vm.max_map_count=262144"],
-              "env": [
-                  {
-                      "name": "NAMESPACE",
-                      "valueFrom": {
-                          "fieldRef": {
-                              "apiVersion": "v1",
-                              "fieldPath": "metadata.namespace"
-                          }
-                      }
-                  }
-              ],
-              "securityContext": {
-                "privileged": true
-              },
-              "image": "{{ .Values.image.es_bb }}",
-              "imagePullPolicy": "{{ .Values.pullPolicy }}",
-              "name": "init-sysctl"
-          }
-          ]'
+      name: log-elasticsearch
     spec:
+      initContainers:
+      - command:
+        - /bin/sh
+        - -c
+        - |
+          sysctl -w vm.max_map_count=262144
+          mkdir -p /logroot/elasticsearch/logs
+          mkdir -p /logroot/elasticsearch/data
+          chmod -R 777 /logroot/elasticsearch
+          chown -R root:root /logroot
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+        securityContext:
+          privileged: true
+        image: {{ .Values.image.es_bb }}
+        imagePullPolicy: {{ .Values.pullPolicy }}
+        name: init-sysctl
+        volumeMounts:
+        - name: elasticsearch-logs
+          mountPath: /logroot/
       containers:
       - name: elasticsearch
         image: {{ .Values.image.elasticsearch}}
@@ -66,10 +82,10 @@ spec:
             claimName: elasticsearch-db
         - name: elasticsearch-logs
           hostPath:
-            path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/elasticsearch/logs
+            path: {{ .Values.dataRootDir }}/{{ .Values.nsPrefix }}/log/
         - name: elasticsearch-conf
           configMap:
-            name: elasticsearch-configmap
+            name: log-elasticsearch-configmap
             items:
             - key: elasticsearch.yml
               path: elasticsearch.yml
@@ -77,8 +93,8 @@ spec:
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: elasticsearch-configmap
-  namespace: {{ .Values.nsPrefix }}-log
+  name: log-elasticsearch-configmap
+  namespace: {{ .Values.nsPrefix }}
 data:
 {{ (.Files.Glob "resources/elasticsearch/conf/elasticsearch.yml").AsConfig | indent 2 }}
 #{{ end }}