Remove unsupported podman container runtime
[icn.git] / env / metal3 / 02_configure.sh
index 490c438..6ae1c60 100755 (executable)
@@ -1,5 +1,6 @@
 #!/usr/bin/env bash
-set -xe
+set -eux -o pipefail
+
 LIBDIR="$(dirname "$PWD")"
 
 source $LIBDIR/lib/logging.sh
@@ -10,11 +11,12 @@ if [[ $EUID -ne 0 ]]; then
     exit 1
 fi
 
-function check_inteface_ip {
+function check_interface_ip {
     local interface=$1
     local ipaddr=$2
 
-    if [ ! $(ip addr show dev $interface) ]; then
+    ip addr show dev $interface
+    if [ $? -ne 0 ]; then
         exit 1
     fi
 
@@ -24,51 +26,23 @@ 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 add dev provisioning type bridge
     ip link set provisioning up
-    brctl addif provisioning $IRONIC_INTERFACE
+    ip link set dev $IRONIC_INTERFACE master provisioning
     ip addr add dev provisioning 172.22.0.1/24
 }
 
-function configure_kubelet {
-    swapoff -a
-    #Todo addition kubelet configuration
-}
-
-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
-
-       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
-}
-
 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_interface_ip $IRONIC_PROVISIONING_INTERFACE $IRONIC_PROVISIONING_INTERFACE_IP
     else
         exit 1
     fi
 
     if [ "$IRONIC_IPMI_INTERFACE" ]; then
-        check_inteface_ip $IRONIC_IPMI_INTERFACE $IRONIC_IPMI_INTERFACE_IP
+        check_interface_ip $IRONIC_IPMI_INTERFACE $IRONIC_IPMI_INTERFACE_IP
     else
         exit 1
     fi
@@ -97,7 +71,7 @@ function configure_ironic_offline {
         exit 1
     fi
 
-    for image in ironic-inspector-image ironic-image podman-pause \
+    for image in ironic-inspector-image ironic-image \
        baremetal-operator socat; do
        if [ ! -f "$CONTAINER_IMAGES_DIR/$image" ]; then
            exit 1
@@ -110,10 +84,6 @@ function configure_ironic_offline {
         exit 1
     fi
 
-    podman load --input $CONTAINER_IMAGES_DIR/ironic-inspector-image.tar
-    podman load --input $CONTAINER_IMAGES_DIR/ironic-image.tar
-    podman load --input $CONTAINER_IMAGES_DIR/podman-pause.tar
-
     docker load --input $CONTAINER_IMAGES_DIR/baremetal-operator.tar
     docker load --input $CONTAINER_IMAGES_DIR/socat.tar
 
@@ -131,19 +101,21 @@ function configure_ironic {
        return
     fi
 
-    #Podman usage is deprecated for v1.0.0 release
-    #podman pull $IRONIC_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
-    #podman pull $IRONIC_INSPECTOR_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
@@ -152,18 +124,15 @@ function configure_ironic {
 }
 
 function configure {
-    #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
+if [ "$#" -eq 0 ]; then
+    configure online
+elif [ "$1" == "-o" ]; then
     configure offline
-    exit 0
+else
+    exit 1
 fi
-
-configure