airshipctl/manifests/function/baremetal-operator/ironic.yaml
James Gu 3298be2d67 Allow one single qcow2 image in qcow bundle
Allow one image for both controller and worker nodes without having to
override site manifests

Change-Id: Ia8000051026de1897ccf487877711459a88c8ce8
2021-09-02 21:00:42 +00:00

129 lines
4.2 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ironic
spec:
replicas: 1
selector:
matchLabels:
name: ironic
template:
metadata:
labels:
name: ironic
spec:
hostNetwork: true
volumes:
- name: ironic-storage
persistentVolumeClaim:
claimName: ironic-pv-claim
- name: ironic-config-files
configMap:
name: ironic-config-files
defaultMode: 0644
- name: ironic-entrypoints
configMap:
name: ironic-entrypoints
defaultMode: 0700
- name: ironic-vars
configMap:
name: ironic-vars
defaultMode: 0644
nodeSelector: {}
initContainers:
- name: init-bootstrap
image: "centos"
imagePullPolicy: Always
command: ['/bin/init-bootstrap']
envFrom:
- configMapRef:
name: ironic-vars
volumeMounts:
- name: ironic-storage
mountPath: "/shared"
- name: ironic-entrypoints
mountPath: /bin/init-bootstrap
subPath: init-bootstrap
- name: ironic-config-files
mountPath: /cfg
- name: ironic-vars
mountPath: /ironic-vars
- name: init-images
image: quay.io/airshipit/ipa:latest
imagePullPolicy: Always
command: ['/bin/init-images']
volumeMounts:
- name: ironic-storage
mountPath: "/shared"
- name: ironic-entrypoints
mountPath: /bin/init-images
subPath: init-images
- name: qcow-bundle
command:
- sh
- -c
- |
cp /qcows/*.qcow2 /qcows/*.qcow2.md5sum /shared/html/images/
[ -f /qcows/control-plane.qcow2 ] && cp -n /qcows/control-plane.qcow2 /shared/html/images/data-plane.qcow2
[ -f /qcows/control-plane.qcow2.md5sum ] && cp -n /qcows/control-plane.qcow2.md5sum /shared/html/images/data-plane.qcow2.md5sum
[ -f /shared/html/images/data-plane.qcow2.md5sum ] && sed -i 's/control-plane.qcow2/data-plane.qcow2/g' /shared/html/images/data-plane.qcow2.md5sum
image: "quay.io/airshipit/qcow-bundle:latest-ubuntu_focal"
imagePullPolicy: Always
volumeMounts:
- mountPath: "/shared"
name: ironic-storage
containers:
- name: dnsmasq
image: "quay.io/metal3-io/ironic:latest"
imagePullPolicy: Always
command: ["/bin/rundnsmasq"]
securityContext:
privileged: true
volumeMounts:
- mountPath: "/shared"
name: ironic-storage
- name: ironic-entrypoints
mountPath: /bin/rundnsmasq
subPath: dnsmasq-entrypoint
- name: httpd
image: "quay.io/metal3-io/ironic:latest"
imagePullPolicy: Always
securityContext:
capabilities:
add: ["NET_ADMIN"]
command: ["/bin/runhttpd"]
volumeMounts:
- mountPath: "/shared"
name: ironic-storage
- name: ironic-entrypoints
mountPath: /bin/runhttpd
subPath: httpd-entrypoint
- name: ironic
image: "quay.io/metal3-io/ironic:latest"
imagePullPolicy: Always
command: ["/bin/runironic"]
securityContext:
privileged: true
volumeMounts:
- mountPath: "/shared"
name: ironic-storage
- name: ironic-entrypoints
mountPath: /bin/runironic
subPath: ironic-entrypoint
- name: ironic-inspector
image: "quay.io/metal3-io/ironic-inspector:latest"
imagePullPolicy: Always
command: ["/bin/runironic-inspector"]
envFrom:
- configMapRef:
name: ironic-vars
securityContext:
privileged: true
volumeMounts:
- mountPath: "/shared"
name: ironic-storage
- name: ironic-entrypoints
mountPath: /bin/runironic-inspector
subPath: inspector-entrypoint