diff --git a/maas/templates/bin/_register-rack-controller.sh.tpl b/maas/templates/bin/_register-rack-controller.sh.tpl new file mode 100644 index 0000000000..3445cc35fe --- /dev/null +++ b/maas/templates/bin/_register-rack-controller.sh.tpl @@ -0,0 +1,24 @@ +#!/bin/bash + +set -ex + +# show env +env > /tmp/env + +echo "register-rack-controller URL: "{{ .Values.service_name }}.{{ .Release.Namespace }} + +# note the secret must be a valid hex value + +# register forever +while [ 1 ]; +do + if maas-rack register --url=http://{{ .Values.service_name }}.{{ .Release.Namespace }}/MAAS --secret={{ .Values.secret | quote }}; + then + echo "Successfully registered with MaaS Region Controller" + break + else + echo "Unable to register with http://{{ .Values.service_name }}.{{ .Release.Namespace }}/MAAS... will try again" + sleep 10 + fi; + +done; \ No newline at end of file diff --git a/maas/templates/configmap-bin.yaml b/maas/templates/configmap-bin.yaml index c7c2108d76..db17c81355 100644 --- a/maas/templates/configmap-bin.yaml +++ b/maas/templates/configmap-bin.yaml @@ -1,9 +1,11 @@ apiVersion: v1 kind: ConfigMap metadata: - name: maas-region-bin + name: maas-bin data: start.sh: | {{ tuple "bin/_start.sh.tpl" . | include "template" | indent 4 }} maas-region-controller.postinst: | {{ tuple "bin/_maas-region-controller.postinst.tpl" . | include "template" | indent 4 }} + register-rack-controller.sh: | +{{ tuple "bin/_register-rack-controller.sh.tpl" . | include "template" | indent 4 }} diff --git a/maas/templates/configmap-etc.yaml b/maas/templates/configmap-etc.yaml index ececffc02c..9437409738 100644 --- a/maas/templates/configmap-etc.yaml +++ b/maas/templates/configmap-etc.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: ConfigMap metadata: - name: maas-region-etc + name: maas-etc data: named.conf.options: |+ {{ tuple "etc/_region-dns-config.tpl" . | include "template" | indent 4 }} diff --git a/maas/templates/deploy-rack.yaml b/maas/templates/deploy-rack.yaml index e2c6af2478..9feed98e71 100644 --- a/maas/templates/deploy-rack.yaml +++ b/maas/templates/deploy-rack.yaml @@ -11,6 +11,7 @@ spec: nodeSelector: {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} hostNetwork: true + dnsPolicy: ClusterFirst containers: - name: maas-rack image: {{ .Values.images.maas_rack }} @@ -26,3 +27,12 @@ spec: {{- end }} securityContext: privileged: true + volumeMounts: + - name: registerrackcontrollersh + mountPath: "/usr/local/bin/register-rack-controller.sh" + subPath: "register-rack-controller.sh" + volumes: + - name: registerrackcontrollersh + configMap: + name: maas-bin + defaultMode: 0511 diff --git a/maas/templates/deploy-region.yaml b/maas/templates/deploy-region.yaml index 18cf77578a..313d690e86 100644 --- a/maas/templates/deploy-region.yaml +++ b/maas/templates/deploy-region.yaml @@ -98,15 +98,15 @@ spec: emptyDir: {} - name: maas-region-secret configMap: - name: maas-region-etc + name: maas-etc - name: maas-config emptyDir: {} - name: maas-dns-config configMap: - name: maas-region-etc + name: maas-etc - name: startsh configMap: - name: maas-region-bin + name: maas-bin - name: maasregionpostinst configMap: - name: maas-region-bin + name: maas-bin diff --git a/maas/templates/etc/_secret.tpl b/maas/templates/etc/_secret.tpl index 48aad03a88..14c823bc4a 100644 --- a/maas/templates/etc/_secret.tpl +++ b/maas/templates/etc/_secret.tpl @@ -1 +1 @@ -3858f62230ac3c915f300c664312c63f +{{ .Values.secret }} diff --git a/maas/values.yaml b/maas/values.yaml index 421e66ca6d..eee2544b45 100644 --- a/maas/values.yaml +++ b/maas/values.yaml @@ -19,7 +19,9 @@ network: service_proxy: 8000 service_proxy_target: 8000 -service_name: maas-region-ui +secret: 3858f62230ac3c915f300c664312c63f + +service_name: maas-region-ui resources: enabled: false