diff --git a/cni.Dockerfile b/cni.Dockerfile index 47390b68e..0ea064fe8 100644 --- a/cni.Dockerfile +++ b/cni.Dockerfile @@ -4,17 +4,22 @@ WORKDIR /go/src/opendev.com/kuryr-kubernetes COPY . . RUN go build -o /go/bin/kuryr-cni ./kuryr_cni -FROM registry.centos.org/centos:8 +FROM quay.io/centos/centos:stream8 LABEL authors="Antoni Segura Puimedon, Michał Dulko" ARG UPPER_CONSTRAINTS_FILE="https://releases.openstack.org/constraints/upper/wallaby" ARG OSLO_LOCK_PATH=/var/kuryr-lock -ARG PKG_YUM_REPO=https://rdoproject.org/repos/openstack-victoria/rdo-release-victoria-2.el8.noarch.rpm +ARG RDO_REPO=https://repos.fedorapeople.org/repos/openstack/openstack-wallaby/rdo-release-wallaby-2.el8.noarch.rpm -RUN yum upgrade -y \ - && yum install -y epel-release $PKG_YUM_REPO \ - && yum install -y --setopt=tsflags=nodocs python3-pip openvswitch sudo iproute libstdc++ pciutils kmod-libs \ - && yum install -y --setopt=tsflags=nodocs gcc gcc-c++ python3-devel git +# NOTE(gryf): There is a sed substitution to make package manager to +# cooperate. It might be a subject to change in the future, either when +# yum/dnf starts to respect yum.conf variables, or mirror location would +# change. +RUN dnf upgrade -y && dnf install -y epel-release $RDO_REPO \ + && sed -e 's/$releasever/8-stream/' -i /etc/yum.repos.d/messaging.repo \ + && sed -e 's/$basearch/x86_64/' -i /etc/yum.repos.d/messaging.repo \ + && dnf install -y --setopt=tsflags=nodocs python3-pip openvswitch sudo iproute libstdc++ pciutils kmod-libs \ + && dnf install -y --setopt=tsflags=nodocs gcc gcc-c++ python3-devel git COPY . /opt/kuryr-kubernetes @@ -23,8 +28,8 @@ RUN pip3 --no-cache-dir install -U pip \ && cp /opt/kuryr-kubernetes/cni_ds_init /usr/bin/cni_ds_init \ && mkdir -p /etc/kuryr-cni \ && cp /opt/kuryr-kubernetes/etc/cni/net.d/* /etc/kuryr-cni \ - && yum -y history undo last \ - && yum clean all \ + && dnf -y history undo last \ + && dnf clean all \ && rm -rf /opt/kuryr-kubernetes \ && mkdir ${OSLO_LOCK_PATH} diff --git a/controller.Dockerfile b/controller.Dockerfile index 02e537d45..8a327b833 100644 --- a/controller.Dockerfile +++ b/controller.Dockerfile @@ -1,20 +1,20 @@ -FROM registry.centos.org/centos:8 +FROM quay.io/centos/centos:stream8 LABEL authors="Antoni Segura Puimedon, Michał Dulko" ARG UPPER_CONSTRAINTS_FILE="https://releases.openstack.org/constraints/upper/wallaby" -RUN yum upgrade -y \ - && yum install -y epel-release \ - && yum install -y --setopt=tsflags=nodocs python3-pip libstdc++ \ - && yum install -y --setopt=tsflags=nodocs gcc gcc-c++ python3-devel git +RUN dnf upgrade -y \ + && dnf install -y epel-release \ + && dnf install -y --setopt=tsflags=nodocs python3-pip libstdc++ \ + && dnf install -y --setopt=tsflags=nodocs gcc gcc-c++ python3-devel git COPY . /opt/kuryr-kubernetes RUN pip3 --no-cache-dir install -U pip \ && python3 -m pip install -c $UPPER_CONSTRAINTS_FILE --no-cache-dir /opt/kuryr-kubernetes \ - && yum -y history undo last \ - && yum clean all \ + && dnf -y history undo last \ + && dnf clean all \ && rm -rf /opt/kuryr-kubernetes \ && groupadd -r kuryr -g 711 \ && useradd -u 711 -g kuryr \ diff --git a/kuryr_kubernetes/cni/binding/base.py b/kuryr_kubernetes/cni/binding/base.py index a0b745171..4220e68ab 100644 --- a/kuryr_kubernetes/cni/binding/base.py +++ b/kuryr_kubernetes/cni/binding/base.py @@ -20,6 +20,7 @@ import os_vif from os_vif.objects import vif as osv_objects from oslo_log import log as logging import pyroute2 +from pyroute2 import netns as pyroute_netns from stevedore import driver as stv_driver from kuryr_kubernetes import config @@ -81,14 +82,14 @@ def _enable_ipv6(netns): netns = utils.convert_netns(netns) path = utils.convert_netns('/proc/self/ns/net') self_ns_fd = open(path) - pyroute2.netns.setns(netns) + pyroute_netns.setns(netns) path = utils.convert_netns('/proc/sys/net/ipv6/conf/all/disable_ipv6') with open(path, 'w') as disable_ipv6: disable_ipv6.write('0') except Exception: raise finally: - pyroute2.netns.setns(self_ns_fd) + pyroute_netns.setns(self_ns_fd) def _configure_l3(vif, ifname, netns, is_default_gateway): diff --git a/kuryr_kubernetes/cni/binding/nested.py b/kuryr_kubernetes/cni/binding/nested.py index 2a8a4e3b2..0fb65da0b 100644 --- a/kuryr_kubernetes/cni/binding/nested.py +++ b/kuryr_kubernetes/cni/binding/nested.py @@ -19,6 +19,7 @@ import os from oslo_log import log as logging import psutil import pyroute2 +from pyroute2 import netlink as pyroute_netlink from kuryr_kubernetes.cni.binding import base as b_base from kuryr_kubernetes import config @@ -72,7 +73,7 @@ class NestedDriver(health.HealthHandler, b_base.BaseBindingDriver, if type(name) is int: # Skip ones duplicated by id continue - if iface['flags'] & pyroute2.netlink.rtnl.ifinfmsg.IFF_LOOPBACK: + if iface['flags'] & pyroute_netlink.rtnl.ifinfmsg.IFF_LOOPBACK: continue # Skip loopback LOG.debug(f'Using interface {name} as bridge interface.') diff --git a/kuryr_kubernetes/cni/binding/sriov.py b/kuryr_kubernetes/cni/binding/sriov.py index 908efba65..92b6f380b 100644 --- a/kuryr_kubernetes/cni/binding/sriov.py +++ b/kuryr_kubernetes/cni/binding/sriov.py @@ -367,7 +367,7 @@ class VIFSriovDriver(health.HealthHandler, b_base.BaseBindingDriver): pf_index = ip.link_lookup(ifname=pf)[0] try: ip.link("set", index=pf_index, vf={"vf": vf_index, "mac": mac}) - except pyroute2.netlink.exceptions.NetlinkError: + except pyroute2.NetlinkError: LOG.exception("Unable to set mac for VF %s on pf %s", vf_index, pf) raise @@ -380,7 +380,7 @@ class VIFSriovDriver(health.HealthHandler, b_base.BaseBindingDriver): try: ip.link("set", index=pf_index, vf={"vf": vf_index, "vlan": vlan_id}) - except pyroute2.netlink.exceptions.NetlinkError: + except pyroute2.NetlinkError: LOG.exception("Unable to set vlan for VF %s on pf %s", vf_index, pf) raise