X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=ansible%2Froles%2Fswift%2Ftemplates%2Fmain%2Fswift_main.yml;fp=ansible%2Froles%2Fswift%2Ftemplates%2Fmain%2Fswift_main.yml;h=bcbf9e86730c8185a9fd268a5ebe93201ea4806b;hb=2ed671c54dad28dd81763928b28cd17d5c76df66;hp=0000000000000000000000000000000000000000;hpb=2c8d12e674aa66af96cd6d2d750f061092db95df;p=ta%2Fcaas-registry.git diff --git a/ansible/roles/swift/templates/main/swift_main.yml b/ansible/roles/swift/templates/main/swift_main.yml new file mode 100644 index 0000000..bcbf9e8 --- /dev/null +++ b/ansible/roles/swift/templates/main/swift_main.yml @@ -0,0 +1,89 @@ +{# +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