--- /dev/null
+{#
+Copyright 2019 Nokia
+
+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/v1beta2
+kind: DaemonSet
+metadata:
+ name: swift
+ namespace: kube-system
+spec:
+ selector:
+ matchLabels:
+ name: swift
+ template:
+ metadata:
+ labels:
+ name: swift
+ spec:
+ hostNetwork: true
+ dnsPolicy: ClusterFirstWithHostNet
+ nodeSelector:
+ nodetype: caas_master
+ securityContext:
+ runAsUser: {{ caas.uid.swift }}
+ containers:
+ - name: swift
+ image: {{ container_image_names | select('search', '/swift') | list | last }}
+ securityContext:
+ capabilities:
+ add: ["NET_BIND_SERVICE"]
+ args:
+ - BACKEND
+ resources:
+ limits:
+ memory: "4Gi"
+ requests:
+ memory: "1Gi"
+ env:
+ - name: "SWIFT_USER"
+ value: "{{ swift_user_for_template.stdout }}"
+ - name: "SWIFT_TENANT"
+ value: "{{ swift_tenant_for_template.stdout }}"
+ - name: "SWIFT_PASS"
+ value: "{{ swift_password_for_template.stdout }}"
+ - name: "SWIFT_PART_POWER"
+ value: "7"
+ - name: "SWIFT_PART_HOUR"
+ value: "0"
+ - name: "SWIFT_DISK"
+ value: "swift"
+ - name: "SWIFT_REPLICAS"
+ value: "{{groups['caas_master']|length|int}}"
+{% for host in groups['caas_master']%}
+ - name: "SWIFT_OAM{{loop.index}}_IP"
+ value: "{{ hostvars[host]['networking']['infra_internal']['ip'] }}"
+{% endfor %}
+ volumeMounts:
+ - name: config
+ mountPath: /etc/swift/
+ - name: store
+ mountPath: /srv/node/swift
+ livenessProbe:
+ exec:
+ command:
+ - /bin/bash
+ - /usr/bin/healthchecker.sh
+ initialDelaySeconds: 60
+ periodSeconds: 10
+ failureThreshold: 5
+ timeoutSeconds: 3
+ volumes:
+ - name: config
+ hostPath:
+ path: /etc/swift/main/
+ - name: store
+ hostPath:
+ path: /srv/node/swift