From ee4e975fbd60cd72c65f89519448a77463e6e432 Mon Sep 17 00:00:00 2001 From: Todd Malsbary Date: Fri, 17 Sep 2021 16:16:58 -0700 Subject: [PATCH] Remove unsupported podman container runtime Remove unused functions and code as part of this work. Signed-off-by: Todd Malsbary Change-Id: I838ee3a8ef0b54d1caf4df4732d3d416af0f4d93 --- deploy/metal3-vm/02_configure_host.sh | 12 --- deploy/metal3-vm/05_host_cleanup.sh | 7 -- deploy/metal3-vm/config_example.sh | 6 +- deploy/metal3-vm/ubuntu_install_requirements.sh | 27 ------- env/lib/common.sh | 1 - env/metal3/02_configure.sh | 30 +------ env/metal3/03_launch_prereq.sh | 93 ---------------------- .../bootloader-env/01_bootloader_package_req.sh | 73 ----------------- .../02_clean_bootloader_package_req.sh | 9 --- 9 files changed, 4 insertions(+), 254 deletions(-) diff --git a/deploy/metal3-vm/02_configure_host.sh b/deploy/metal3-vm/02_configure_host.sh index 2787750..c316522 100755 --- a/deploy/metal3-vm/02_configure_host.sh +++ b/deploy/metal3-vm/02_configure_host.sh @@ -169,18 +169,6 @@ done # set password for mariadb mariadb_password="$(echo "$(date;hostname)"|sha256sum |cut -c-20)" -if [[ "${CONTAINER_RUNTIME}" == "podman" ]]; then - # Remove existing pod - if sudo "${CONTAINER_RUNTIME}" pod exists ironic-pod ; then - sudo "${CONTAINER_RUNTIME}" pod rm ironic-pod -f - fi - # Create pod - sudo "${CONTAINER_RUNTIME}" pod create -n ironic-pod - POD_NAME="--pod ironic-pod" -else - POD_NAME="" -fi - cat < ${PWD}/ironic.env PROVISIONING_INTERFACE=provisioning DHCP_RANGE=172.22.0.10,172.22.0.100 diff --git a/deploy/metal3-vm/05_host_cleanup.sh b/deploy/metal3-vm/05_host_cleanup.sh index 9ad8088..1e69d12 100755 --- a/deploy/metal3-vm/05_host_cleanup.sh +++ b/deploy/metal3-vm/05_host_cleanup.sh @@ -15,13 +15,6 @@ for name in ironic ironic-inspector dnsmasq httpd mariadb ipa-downloader; do sudo "${CONTAINER_RUNTIME}" ps --all | grep -w "$name$" && sudo "${CONTAINER_RUNTIME}" rm $name -f done -# Remove existing pod -if [[ "${CONTAINER_RUNTIME}" == "podman" ]]; then - if sudo "${CONTAINER_RUNTIME}" pod exists ironic-pod ; then - sudo "${CONTAINER_RUNTIME}" pod rm ironic-pod -f - fi -fi - # Kill the locally running operators if [ "${BMO_RUN_LOCAL}" = true ]; then kill "$(pgrep "operator-sdk")" 2> /dev/null || true diff --git a/deploy/metal3-vm/config_example.sh b/deploy/metal3-vm/config_example.sh index 8b99f88..9f53d24 100644 --- a/deploy/metal3-vm/config_example.sh +++ b/deploy/metal3-vm/config_example.sh @@ -17,10 +17,10 @@ #export SSH_PUB_KEY=~/.ssh/id_rsa.pub # -# Select the Container Runtime, can be "podman" or "docker" -# Defaults to "podman" +# Select the Container Runtime, can be "docker" or "containerd" +# Defaults to "docker" # -#export CONTAINER_RUNTIME="podman" +#export CONTAINER_RUNTIME="docker" # # Set the Baremetal Operator repository to clone diff --git a/deploy/metal3-vm/ubuntu_install_requirements.sh b/deploy/metal3-vm/ubuntu_install_requirements.sh index d3dede0..c39e1d1 100755 --- a/deploy/metal3-vm/ubuntu_install_requirements.sh +++ b/deploy/metal3-vm/ubuntu_install_requirements.sh @@ -6,29 +6,9 @@ source lib/logging.sh # shellcheck disable=SC1091 source lib/common.sh -# sudo apt install -y libselinux-utils -# if selinuxenabled ; then -# sudo setenforce permissive -# sudo sed -i "s/=enforcing/=permissive/g" /etc/selinux/config -# fi - # Update to latest packages first sudo apt -y update -# Install EPEL required by some packages -# if [ ! -f /etc/yum.repos.d/epel.repo ] ; then -# if grep -q "Red Hat Enterprise Linux" /etc/redhat-release ; then -# sudo yum -y install http://mirror.centos.org/centos/7/extras/x86_64/Packages/epel-release-7-11.noarch.rpm -# else -# sudo yum -y install epel-release --enablerepo=extras -# fi -# fi - -# Work around a conflict with a newer zeromq from epel -# if ! grep -q zeromq /etc/yum.repos.d/epel.repo; then -# sudo sed -i '/enabled=1/a exclude=zeromq*' /etc/yum.repos.d/epel.repo -# fi - # Install required packages sudo apt -y install \ @@ -79,8 +59,6 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - #curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list -# Add this repository to install podman -sudo add-apt-repository -y ppa:projectatomic/ppa # Add this repository to install Golang 1.12 sudo add-apt-repository -y ppa:longsleep/golang-backports @@ -101,11 +79,6 @@ sudo apt -y install \ yarn \ genisoimage - -if [[ "${CONTAINER_RUNTIME}" == "podman" ]]; then - sudo apt -y install podman -fi - # Install python packages not included as rpms sudo pip install \ ansible==2.8.2 \ diff --git a/env/lib/common.sh b/env/lib/common.sh index 0e4c752..dd51fb2 100755 --- a/env/lib/common.sh +++ b/env/lib/common.sh @@ -15,7 +15,6 @@ CONTAINER_IMAGES_DIR=${CONTAINER_IMAGES_DIR:-$DOWNLOAD_PATH/docker-dir} #Todo include over all variables here KUBE_VERSION=${KUBE_VERSION:-"v1.15.0"} POD_NETWORK_CIDR=${POD_NETWORK_CIDR:-"10.244.0.0/16"} -PODMAN_CNI_CONFLIST=${PODMAN_CNI_CONFLIST:-"https://raw.githubusercontent.com/containers/libpod/v1.4.4/cni/87-podman-bridge.conflist"} #Ironic variables IRONIC_IMAGE=${IRONIC_IMAGE:-"integratedcloudnative/ironic:v1.0-icn"} diff --git a/env/metal3/02_configure.sh b/env/metal3/02_configure.sh index c893f78..6ae1c60 100755 --- a/env/metal3/02_configure.sh +++ b/env/metal3/02_configure.sh @@ -33,28 +33,7 @@ function configure_ironic_bridge { 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_interface_ip $IRONIC_PROVISIONING_INTERFACE $IRONIC_PROVISIONING_INTERFACE_IP @@ -92,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 @@ -105,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 @@ -149,9 +124,6 @@ function configure_ironic { } function configure { - #Kubeadm usage deprecated for v1.0.0 release - #configure_kubeadm $1 - #configure_kubelet configure_ironic $1 configure_ironic_bridge configure_ironic_interfaces diff --git a/env/metal3/03_launch_prereq.sh b/env/metal3/03_launch_prereq.sh index b2bba22..e8fa538 100755 --- a/env/metal3/03_launch_prereq.sh +++ b/env/metal3/03_launch_prereq.sh @@ -11,71 +11,6 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -function get_default_interface_ipaddress { - local _ip=$1 - local _default_interface=$(awk '$2 == 00000000 { print $1 }' /proc/net/route) - local _ipv4address=$(ip addr show dev $_default_interface | awk '$1 == "inet" { sub("/.*", "", $2); print $2 }') - eval $_ip="'$_ipv4address'" -} - -function check_cni_network { - #since bootstrap cluster is a single node cluster, - #podman and bootstap cluster have same network configuration to avoid the cni network conf conflicts - if [ ! -d "/etc/cni/net.d" ]; then - mkdir -p "/etc/cni/net.d" - fi - - if [ -f "/etc/cni/net.d/87-podman-bridge.conflist" ]; then - rm -rf /etc/cni/net.d/87-podman-bridge.conflist - fi - - if [ "$1" == "offline" ]; then - cp $BUILD_DIR/87-podman-bridge.conflist /etc/cni/net.d/ - return - fi - - if !(wget $PODMAN_CNI_CONFLIST -P /etc/cni/net.d/); then - exit 1 - fi -} - -function create_k8s_regular_user { - if [ ! -d "$HOME/.kube" ]; then - mkdir -p $HOME/.kube - fi - - if [ ! -f /etc/kubernetes/admin.conf]; then - exit 1 - fi - - cp -rf /etc/kubernetes/admin.conf $HOME/.kube/config - chown $(id -u):$(id -g) $HOME/.kube/config -} - -function check_k8s_node_status { - echo 'checking bootstrap cluster single node status' - node_status="False" - - for i in {1..5}; do - check_node=$(kubectl get node -o \ - jsonpath='{.items[0].status.conditions[?(@.reason == "KubeletReady")].status}') - if [ $check_node != "" ]; then - node_status=${check_node} - fi - - if [ $node_status == "True" ]; then - break - fi - - sleep 3 - done - - if [ $node_status != "True" ]; then - echo "bootstrap cluster single node status is not ready" - exit 1 - fi -} - function install_ironic_container { # set password for mariadb mariadb_password=$(echo $(date;hostname)|sha256sum |cut -c-20) @@ -122,24 +57,6 @@ function install_ironic_container { -v "$IRONIC_DATA_DIR:/shared" "${IRONIC_INSPECTOR_IMAGE}" } -function remove_k8s_noschedule_taint { - #Bootstrap cluster is a single node - nodename=$(kubectl get node -o jsonpath='{.items[0].metadata.name}') - if !(kubectl taint node $nodename node-role.kubernetes.io/master:NoSchedule-); then - exit 1 - fi -} - -function install_k8s_single_node { - get_default_interface_ipaddress apiserver_advertise_addr - kubeadm_init="kubeadm init --kubernetes-version=$KUBE_VERSION \ - --pod-network-cidr=$POD_NETWORK_CIDR \ - --apiserver-advertise-address=$apiserver_advertise_addr" - if !(${kubeadm_init}); then - exit 1 - fi -} - function create_ironic_env { cat < ${PWD}/ironic.env PROVISIONING_INTERFACE=provisioning @@ -155,16 +72,6 @@ EOF } function install { - #Kubeadm usage is deprecated in v1,0,0 version - #install_kubernetes - #install_k8s_single_node - #check_cni_network $1 - #create_k8s_regular_user - #check_k8s_node_status - #remove_k8s_noschedule_taint - - #install_podman - #Todo - error handling mechanism create_ironic_env install_ironic_container } diff --git a/env/ubuntu/bootloader-env/01_bootloader_package_req.sh b/env/ubuntu/bootloader-env/01_bootloader_package_req.sh index 39223d3..d861cb2 100755 --- a/env/ubuntu/bootloader-env/01_bootloader_package_req.sh +++ b/env/ubuntu/bootloader-env/01_bootloader_package_req.sh @@ -25,51 +25,6 @@ function download_essential_packages { update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 } -function build_baremetal_operator_images { - if [ ! -d "$BUILD_DIR/baremetal-operator"]; then - return - fi - - pushd $BUILD_DIR/baremetal-operator - docker build -t $IRONIC_BAREMETAL_IMAGE . -f build/Dockerfile - docker save --output \ - $CONTAINER_IMAGES_DIR/baremetal-operator.tar $IRONIC_BAREMETAL_IMAGE - popd - - docker pull $IRONIC_BAREMETAL_SOCAT_IMAGE - docker save --output $CONTAINER_IMAGES_DIR/socat.tar $IRONIC_BAREMETAL_SOCAT_IMAGE -} - -function build_ironic_images { - for images in ironic-image ironic-inspector-image; do - if [ -d "$BUILD_DIR/$images" ]; then - pushd $BUILD_DIR/$images - podman build -t $images . - popd - fi - done - - if podman images -q localhost/ironic-inspector-image ; then - podman tag localhost/ironic-inspector-image $IRONIC_INSPECTOR_IMAGE - podman save --output \ - $CONTAINER_IMAGES_DIR/ironic-inspector-image.tar \ - $IRONIC_INSPECTOR_IMAGE - fi - - if podman images -q localhost/ironic-image ; then - podman tag localhost/ironic-inspector-image $IRONIC_IMAGE - podman save --output $CONTAINER_IMAGES_DIR/ironic-image.tar \ - $IRONIC_IMAGE - fi - - podman pull k8s.gcr.io/pause:3.1 - podman save --output $CONTAINER_IMAGES_DIR/podman-pause.tar \ - k8s.gcr.io/pause:3.1 - - #build_baremetal_operator_images -} - - function download_container_images { check_docker pushd $CONTAINER_IMAGES_DIR @@ -88,13 +43,6 @@ function download_container_images { docker pull k8s.gcr.io/coredns:1.3.1 docker save --output coredns.tar k8s.gcr.io/coredns - #podman images for Ironic - check_podman - build_ironic_images - #podman pull $IRONIC_IMAGE - #podman save --output ironic.tar $IRONIC_IMAGE - #podman pull $IRONIC_INSPECTOR_IMAGE - #podman save --output ironic-inspector.tar $IRONIC_INSPECTOR_IMAGE popd } @@ -111,10 +59,6 @@ function download_build_packages { md5sum ${BM_IMAGE} | awk '{print $1}' > ${BM_IMAGE}.md5sum fi - if [ ! -f 87-podman-bridge.conflist ]; then - curl --insecure --compressed -O -L $PODMAN_CNI_CONFLIST - fi - if [ ! -d baremetal-operator ]; then git clone https://github.com/metal3-io/baremetal-operator.git pushd ./baremetal-operator @@ -195,16 +139,6 @@ function check_docker { apt-get install docker-ce=19.03.15~3-0~ubuntu-bionic -y } -function check_podman { - if which podman; then - return - fi - - add-apt-repository -y ppa:projectatomic/ppa - apt-get update - apt-get install podman -y -} - function download_docker_packages { apt-get remove -y docker \ docker-engine \ @@ -229,12 +163,6 @@ function download_docker_packages { apt-get -d install docker-ce=19.03.15~3-0~ubuntu-bionic -y } -function download_podman_packages { - apt-get update - add-apt-repository -y ppa:projectatomic/ppa - apt-get -d install podman -y -} - function download_kubernetes_packages { curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - bash -c 'cat </etc/apt/sources.list.d/kubernetes.list @@ -290,7 +218,6 @@ clean_dir $CONTAINER_IMAGES_DIR download_essential_packages download_ironic_packages download_docker_packages -download_podman_packages download_kubernetes_packages download_build_packages download_container_images diff --git a/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh b/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh index 1f6c474..439abea 100755 --- a/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh +++ b/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh @@ -10,7 +10,6 @@ if [[ $EUID -ne 0 ]]; then fi function autoremove { - #apt-get autoremove -y rm -rf /etc/apt/sources.list.d/* } @@ -69,12 +68,6 @@ function clean_docker_packages { apt-get update } -function clean_podman_packages { - apt-get update - add-apt-repository -y ppa:projectatomic/ppa - apt-get remove podman -y -} - function clean_kubernetes_packages { #Just to make sure kubernetes packages are removed during the download curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - @@ -147,7 +140,6 @@ function clean_dir { if [ "$1" == "--only-packages" ]; then check_prerequisite clean_docker_packages || true - #clean_ironic_packages autoremove exit 0 fi @@ -169,7 +161,6 @@ clean_dir $BUILD_DIR check_dir $CONTAINER_IMAGES_DIR clean_dir $CONTAINER_IMAGES_DIR clean_kubernetes_packages -clean_podman_packages clean_docker_packages clean_ironic_packages clean_essential_packages -- 2.16.6