Replace ipmi with redfish-virtualmedia in VM site
[icn.git] / deploy / ironic / ironic.sh
index 358dbb9..5325d61 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-set -eux -o pipefail
+set -eEux -o pipefail
 
 SCRIPTDIR="$(readlink -f $(dirname ${BASH_SOURCE[0]}))"
 LIBDIR="$(dirname $(dirname ${SCRIPTDIR}))/env/lib"
@@ -8,6 +8,12 @@ source $LIBDIR/logging.sh
 source $LIBDIR/common.sh
 
 NAMEPREFIX="capm3"
+ENABLE_DHCP="${IRONIC_ENABLE_DHCP:-yes}"
+
+trap err_exit ERR
+function err_exit {
+    kubectl get all -n ${NAMEPREFIX}-system
+}
 
 # This may be used to update the in-place Ironic YAML files from the
 # upstream project.  We cannot use the upstream sources directly as
@@ -21,11 +27,16 @@ function build_source {
         mkdir -p $(dirname ${dst})
         envsubst <${src} >${dst}
     done
+    sed -i -e '/name: quay.io\/metal3-io\/ironic/{n;s/newTag:.*/newTag: '"${BMO_VERSION}"'/;}' ${SCRIPTDIR}/icn/kustomization.yaml
 }
 
 function deploy {
     fetch_image
-    kustomize build ${SCRIPTDIR}/icn | kubectl apply -f -
+    local layer="${SCRIPTDIR}/icn"
+    if [[ ${ENABLE_DHCP} != "yes" ]]; then
+       layer="${SCRIPTDIR}/icn-no-dhcp"
+    fi
+    kustomize build ${layer} | kubectl apply -f -
     kubectl wait --for=condition=Available --timeout=600s deployment/${NAMEPREFIX}-ironic -n ${NAMEPREFIX}-system
 }