Skip to content

Commit

Permalink
Import operator_ironic.yaml from baremetal-operator
Browse files Browse the repository at this point in the history
This means we can keep the OCP specific pieces out of the upstream
repo, and prototype the integration which will ultimately be handled
via openshift/machine-api-operator#302

Also set the RHCOS image URL n the configmap based on the variable from
common.sh
  • Loading branch information
Steven Hardy committed Jul 9, 2019
1 parent 0cb760c commit 4d83ae7
Show file tree
Hide file tree
Showing 3 changed files with 307 additions and 1 deletion.
5 changes: 4 additions & 1 deletion 08_deploy_bmo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -ex

source logging.sh
#source common.sh
source common.sh
eval "$(go env)"

# Get the latest bits for baremetal-operator
Expand All @@ -12,6 +12,9 @@ export BMOPATH="$GOPATH/src/github.com/metal3-io/baremetal-operator"
# Make a local copy of the baremetal-operator code to make changes
cp -r $BMOPATH/deploy ocp/.
sed -i 's/namespace: .*/namespace: openshift-machine-api/g' ocp/deploy/role_binding.yaml
cp $SCRIPTDIR/operator_ironic.yaml ocp/deploy
cp $SCRIPTDIR/ironic_bmo_configmap.yaml ocp/deploy
sed -i "s#__RHCOS_IMAGE_URL__#${RHCOS_IMAGE_URL}#" ocp/deploy/ironic_bmo_configmap.yaml

# Kill the dnsmasq container on the host since it is performing DHCP and doesn't
# allow our pod in openshift to take over.
Expand Down
15 changes: 15 additions & 0 deletions ironic_bmo_configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
kind: ConfigMap
apiVersion: v1
metadata:
name: ironic-bmo-configmap
data:
http_port: "6180"
provisioning_interface: "ens3"
provisioning_ip: "172.22.0.3/24"
dhcp_range: "172.22.0.10,172.22.0.100"
deploy_kernel_url: "http://172.22.0.3:6180/images/ironic-python-agent.kernel"
deploy_ramdisk_url: "http://172.22.0.3:6180/images/ironic-python-agent.initramfs"
ironic_endpoint: "http://172.22.0.3:6385/v1/"
ironic_inspector_endpoint: "http://172.22.0.3:5050/v1/"
cache_url: "http://172.22.0.1/images"
rhcos_image_url: __RHCOS_IMAGE_URL__
288 changes: 288 additions & 0 deletions operator_ironic.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,288 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: metal3-baremetal-operator
spec:
replicas: 1
selector:
matchLabels:
name: metal3-baremetal-operator
template:
metadata:
labels:
name: metal3-baremetal-operator
spec:
serviceAccountName: metal3-baremetal-operator
hostNetwork: true
initContainers:
- name: ipa-downloader
image: quay.io/metal3-io/ironic-ipa-downloader:master
command:
- /usr/local/bin/get-resource.sh
imagePullPolicy: Always
securityContext:
privileged: true
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: CACHEURL
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: cache_url
- name: rhcos-downloader
image: quay.io/openshift-metal3/rhcos-downloader:master
command:
- /usr/local/bin/get-resource.sh
imagePullPolicy: Always
securityContext:
privileged: true
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: RHCOS_IMAGE_URL
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: rhcos_image_url
- name: CACHEURL
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: cache_url
- name: static-ip-set
image: quay.io/metal3-io/static-ip-manager:latest
command:
- /set-static-ip
imagePullPolicy: Always
securityContext:
privileged: true
env:
- name: PROVISIONING_IP
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_ip
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
containers:
- name: baremetal-operator
image: quay.io/metal3-io/baremetal-operator:master
ports:
- containerPort: 60000
name: metrics
command:
- /baremetal-operator
imagePullPolicy: Always
env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: OPERATOR_NAME
value: "baremetal-operator"
- name: DEPLOY_KERNEL_URL
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: deploy_kernel_url
- name: DEPLOY_RAMDISK_URL
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: deploy_ramdisk_url
- name: IRONIC_ENDPOINT
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: ironic_endpoint
- name: IRONIC_INSPECTOR_ENDPOINT
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: ironic_inspector_endpoint
- name: ironic-dnsmasq
image: quay.io/metal3-io/ironic:master
imagePullPolicy: Always
securityContext:
privileged: true
command:
- /bin/rundnsmasq
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: HTTP_PORT
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: http_port
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
- name: DHCP_RANGE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: dhcp_range
- name: mariadb
image: quay.io/metal3-io/ironic:master
imagePullPolicy: Always
securityContext:
privileged: true
command:
- /bin/runmariadb
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: mariadb-password
key: password
- name: ironic-httpd
image: quay.io/metal3-io/ironic:master
imagePullPolicy: Always
securityContext:
privileged: true
command:
- /bin/runhttpd
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: HTTP_PORT
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: http_port
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
- name: ironic-conductor
image: quay.io/metal3-io/ironic:master
imagePullPolicy: Always
securityContext:
privileged: true
command:
- /bin/runironic-conductor
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: mariadb-password
key: password
- name: HTTP_PORT
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: http_port
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
- name: ironic-api
image: quay.io/metal3-io/ironic:master
imagePullPolicy: Always
securityContext:
privileged: true
command:
- /bin/runironic-api
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: mariadb-password
key: password
- name: HTTP_PORT
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: http_port
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
- name: ironic-exporter
image: quay.io/metal3-io/ironic:master
imagePullPolicy: Always
securityContext:
privileged: true
command:
- /bin/runironic-exporter
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: mariadb-password
key: password
- name: HTTP_PORT
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: http_port
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
- name: ironic-inspector
image: quay.io/metal3-io/ironic-inspector:master
imagePullPolicy: Always
securityContext:
privileged: true
volumeMounts:
- mountPath: /shared
name: ironic-data-volume
env:
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
- name: static-ip-refresh
image: quay.io/metal3-io/static-ip-manager:latest
command:
- /refresh-static-ip
imagePullPolicy: Always
securityContext:
privileged: true
env:
- name: PROVISIONING_IP
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_ip
- name: PROVISIONING_INTERFACE
valueFrom:
configMapKeyRef:
name: ironic-bmo-configmap
key: provisioning_interface
volumes:
- name: ironic-data-volume
emptyDir: {}

0 comments on commit 4d83ae7

Please sign in to comment.