minor fix in baremetal clean up script
[icn.git] / env / metal3 / 02_configure.sh
index 585590b..3117027 100755 (executable)
@@ -24,6 +24,20 @@ function check_inteface_ip {
     fi
 }
 
+function configure_dhcp_bridge {
+    brctl addbr dhcp0
+    ip link set dhcp0 up
+    brctl addif dhcp0 $BS_DHCP_INTERFACE
+    ip addr add dev dhcp0 $BS_DHCP_INTERFACE_IP
+}
+
+function configure_ironic_bridge {
+    brctl addbr provisioning
+    ip link set provisioning up
+    brctl addif provisioning $IRONIC_INTERFACE
+    ip addr add dev provisioning 172.22.0.1/24
+}
+
 function configure_kubelet {
     swapoff -a
     #Todo addition kubelet configuration
@@ -32,13 +46,13 @@ function configure_kubelet {
 function configure_kubeadm {
     #Todo error handing
     if [ "$1" == "offline" ]; then
-    for images in kube-apiserver kube-controller-manager kube-scheduler kube-proxy; do
-        docker load --input $CONTAINER_IMAGES_DIR/$images.tar;
-    done
+        for images in kube-apiserver kube-controller-manager kube-scheduler kube-proxy; do
+            docker load --input $CONTAINER_IMAGES_DIR/$images.tar;
+       done
 
-    docker load --input $CONTAINER_IMAGES_DIR/pause.tar
-    docker load --input $CONTAINER_IMAGES_DIR/etcd.tar
-    docker load --input $CONTAINER_IMAGES_DIR/coredns.tar
+       docker load --input $CONTAINER_IMAGES_DIR/pause.tar
+       docker load --input $CONTAINER_IMAGES_DIR/etcd.tar
+       docker load --input $CONTAINER_IMAGES_DIR/coredns.tar
         return
     fi
     kubeadm config images pull --kubernetes-version=$KUBE_VERSION
@@ -48,10 +62,9 @@ function configure_ironic_interfaces {
     #Todo later to change the CNI networking for podman networking
     # Add firewall rules to ensure the IPA ramdisk can reach httpd, Ironic and the Inspector API on the host
     if [ "$IRONIC_PROVISIONING_INTERFACE" ]; then
-    check_inteface_ip $IRONIC_PROVISIONING_INTERFACE $IRONIC_PROVISIONING_INTERFACE_IP
+        check_inteface_ip $IRONIC_PROVISIONING_INTERFACE $IRONIC_PROVISIONING_INTERFACE_IP
     else
-    exit 1
-
+        exit 1
     fi
 
     if [ "$IRONIC_IPMI_INTERFACE" ]; then
@@ -81,20 +94,20 @@ function configure_ironic_interfaces {
 
 function configure_ironic_offline {
     if [ ! -d $CONTAINER_IMAGES_DIR ] && [ ! -d $BUILD_DIR ]; then
-    exit 1
+        exit 1
     fi
 
     for image in ironic-inspector-image ironic-image podman-pause \
-    baremetal-operator socat; do
-    if [ ! -f "$CONTAINER_IMAGES_DIR/$image" ]; then
-        exit 1
-    fi
+       baremetal-operator socat; do
+       if [ ! -f "$CONTAINER_IMAGES_DIR/$image" ]; then
+           exit 1
+       fi
     done
 
     if [ ! -f "$BUILD_DIR/ironic-python-agent.initramfs"] && [ ! -f \
-    "$BUILD_DIR/ironic-python-agent.kernel" ] && [ ! -f
-    "$BUILD_DIR/$BM_IMAGE" ]; then
-    exit 1
+       "$BUILD_DIR/ironic-python-agent.kernel" ] && [ ! -f
+       "$BUILD_DIR/$BM_IMAGE" ]; then
+        exit 1
     fi
 
     podman load --input $CONTAINER_IMAGES_DIR/ironic-inspector-image.tar
@@ -114,32 +127,40 @@ function configure_ironic_offline {
 
 function configure_ironic {
     if [ "$1" == "offline" ]; then
-    configure_ironic_offline
-    return
+        configure_ironic_offline
+       return
     fi
 
-    podman pull $IRONIC_IMAGE
-    podman pull $IRONIC_INSPECTOR_IMAGE
+    for name in ironic ironic-inspector dnsmasq httpd mariadb ipa-downloader; do
+        sudo docker ps | \
+            grep -w "$name$" && sudo docker kill "$name"
+        sudo docker ps --all | \
+            grep -w "$name$" && sudo docker rm "$name" -f
+    done
+    rm -rf "$IRONIC_DATA_DIR"
+
+    docker pull $IRONIC_IMAGE
+    docker pull $IRONIC_INSPECTOR_IMAGE
+    docker pull $IPA_DOWNLOADER_IMAGE
 
     mkdir -p "$IRONIC_DATA_DIR/html/images"
     pushd $IRONIC_DATA_DIR/html/images
 
-    if [ ! -f ironic-python-agent.initramfs ]; then
-    curl --insecure --compressed -L https://images.rdoproject.org/master/rdo_trunk/current-tripleo-rdo/ironic-python-agent.tar | tar -xf -
-    fi
-
     if [[ "$BM_IMAGE_URL" && "$BM_IMAGE" ]]; then
-        curl -o ${BM_IMAGE} --insecure --compressed -O -L ${BM_IMAGE_URL}
-        md5sum ${BM_IMAGE} | awk '{print $1}' > ${BM_IMAGE}.md5sum
+       curl -o ${BM_IMAGE} --insecure --compressed -O -L ${BM_IMAGE_URL}
+       md5sum ${BM_IMAGE} | awk '{print $1}' > ${BM_IMAGE}.md5sum
     fi
     popd
 }
 
 function configure {
-    configure_kubeadm $1
-    configure_kubelet
-    configure_ironic_interfaces
+    #Kubeadm usage deprecated for v1.0.0 release
+    #configure_kubeadm $1
+    #configure_kubelet
     configure_ironic $1
+    configure_dhcp_bridge
+    configure_ironic_bridge
+    configure_ironic_interfaces
 }
 
 if [ "$1" == "-o" ]; then