From 9f25aac18a31920c2f2f6630b35f3f734f03dcf4 Mon Sep 17 00:00:00 2001 From: Michal Nasiadka Date: Wed, 27 Apr 2022 15:47:41 +0000 Subject: [PATCH] Move to Ubuntu Jammy (22.04) mariadb - downloads.mariadb.com doesn't have jammy version, should be there soon - using Ubuntu provided version for now telegraf/collectd - collectd packages missing in Jammy - marked as unbuildable monasca - requires new librdkafka, no wheel for Python 3.10 for now Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/846070 Change-Id: I11b4fbcaba165824252902d0270ce1dbbc3d6e9d --- .zuul.d/base.yaml | 8 ++--- .zuul.d/ubuntu.yaml | 46 +++++++++++++++++++++---- docker/base/sources.list.ubuntu | 10 +++--- docker/base/sources.list.ubuntu.aarch64 | 10 +++--- kolla/common/config.py | 4 +-- kolla/image/build.py | 8 +++-- kolla/template/repos.yaml | 40 ++++++--------------- kolla/tests/test_build.py | 2 +- 8 files changed, 72 insertions(+), 56 deletions(-) diff --git a/.zuul.d/base.yaml b/.zuul.d/base.yaml index 9409539777..d16c76df15 100644 --- a/.zuul.d/base.yaml +++ b/.zuul.d/base.yaml @@ -61,10 +61,10 @@ label: centos-8-stream - nodeset: - name: kolla-ubuntu-focal + name: kolla-ubuntu-jammy nodes: - name: primary - label: ubuntu-focal + label: ubuntu-jammy - nodeset: name: kolla-debian-bullseye @@ -85,10 +85,10 @@ label: debian-bullseye-arm64 - nodeset: - name: kolla-ubuntu-focal-aarch64 + name: kolla-ubuntu-jammy-aarch64 nodes: - name: primary - label: ubuntu-focal-arm64 + label: ubuntu-jammy-arm64 - job: name: kolla-base diff --git a/.zuul.d/ubuntu.yaml b/.zuul.d/ubuntu.yaml index 8d9f1f77ab..ab2055da0b 100644 --- a/.zuul.d/ubuntu.yaml +++ b/.zuul.d/ubuntu.yaml @@ -3,16 +3,24 @@ check: jobs: - kolla-build-ubuntu - - kolla-ansible-ubuntu-source - - kolla-ansible-ubuntu-source-upgrade + - kolla-ansible-ubuntu-source: + vars: + kolla_python_version: "3.10" + - kolla-ansible-ubuntu-source-upgrade: + vars: + kolla_python_version: "3.10" check-arm64: jobs: - kolla-build-ubuntu-aarch64 gate: jobs: - kolla-build-ubuntu - - kolla-ansible-ubuntu-source - - kolla-ansible-ubuntu-source-upgrade + - kolla-ansible-ubuntu-source: + vars: + kolla_python_version: "3.10" + - kolla-ansible-ubuntu-source-upgrade: + vars: + kolla_python_version: "3.10" periodic: jobs: - kolla-publish-ubuntu-quay @@ -25,33 +33,57 @@ # Test rabbitmq and mariadb in multinode ceph jobs. - kolla-ansible-ubuntu-source-cephadm: files: ^docker\/(base|cinder|glance|mariadb|openstack-base|rabbitmq)\/.* + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-upgrade-cephadm: files: ^docker\/(base|cinder|glance|mariadb|openstack-base|rabbitmq)\/.* + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-zun: files: ^docker\/(base|cinder|etcd|iscsid|kuryr|openstack-base|zun)\/.* + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-ironic: files: ^docker\/(base|dnsmasq|ironic|ironic-inspector|iscsid|openstack-base)\/.* + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-swift: files: ^docker/(base|openstack-base|glance|swift)/ + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-mariadb: files: ^docker/(base|mariadb)/ + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-masakari: files: ^docker/(base|masakari|openstack-base)/ + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-linuxbridge: files: ^docker/(base|neutron|openstack-base)/ + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-octavia: files: ^docker/(base|neutron|octavia|openstack-base|openvswitch|ovn)/ + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-ovn: files: ^docker/(base|neutron|openstack-base|openvswitch|ovn)/ + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-prometheus-efk: files: ^docker/(base|elasticsearch|fluentd|grafana|kibana|prometheus)/ + vars: + kolla_python_version: "3.10" - kolla-ansible-ubuntu-source-kvm: files: ^docker/nova/ + vars: + kolla_python_version: "3.10" - job: name: kolla-build-ubuntu parent: kolla-base - nodeset: kolla-ubuntu-focal + nodeset: kolla-ubuntu-jammy vars: base_distro: ubuntu base_distro_version: focal @@ -59,7 +91,7 @@ - job: name: kolla-build-ubuntu-aarch64 parent: kolla-build-ubuntu - nodeset: kolla-ubuntu-focal-aarch64 + nodeset: kolla-ubuntu-jammy-aarch64 voting: false - job: @@ -87,6 +119,6 @@ - job: name: kolla-build-no-infra-wheels-ubuntu parent: kolla-build-no-infra-wheels-base - nodeset: kolla-ubuntu-focal + nodeset: kolla-ubuntu-jammy vars: base_distro: ubuntu diff --git a/docker/base/sources.list.ubuntu b/docker/base/sources.list.ubuntu index c7d072c322..1dfa5da5f1 100644 --- a/docker/base/sources.list.ubuntu +++ b/docker/base/sources.list.ubuntu @@ -1,16 +1,16 @@ # For non-x86 architectures we use sources.list.ubuntu. # Default repos -deb mirror://mirrors.ubuntu.com/mirrors.txt focal main universe -deb mirror://mirrors.ubuntu.com/mirrors.txt focal-updates main universe -deb mirror://mirrors.ubuntu.com/mirrors.txt focal-security main universe +deb mirror://mirrors.ubuntu.com/mirrors.txt jammy main universe +deb mirror://mirrors.ubuntu.com/mirrors.txt jammy-updates main universe +deb mirror://mirrors.ubuntu.com/mirrors.txt jammy-security main universe # Backports have a lower priority and must be explicitly installed to be used -deb http://archive.ubuntu.com/ubuntu/ focal-backports main universe +deb http://archive.ubuntu.com/ubuntu/ jammy-backports main universe # We need to add the repo for the updated packages they provide. The main ones # are qemu, libvirt, and openvswitch. -deb http://ubuntu-cloud.archive.canonical.com/ubuntu focal-updates/yoga main +#deb http://ubuntu-cloud.archive.canonical.com/ubuntu jammy-updates/zed main # NOTE(hrw): extra repositories are added into image when they are needed as # separate files in /etc/apt/sources.list.d/ directory. For that purpose they diff --git a/docker/base/sources.list.ubuntu.aarch64 b/docker/base/sources.list.ubuntu.aarch64 index b975b017b1..3420c86c44 100644 --- a/docker/base/sources.list.ubuntu.aarch64 +++ b/docker/base/sources.list.ubuntu.aarch64 @@ -1,14 +1,14 @@ # Default repos -deb http://ports.ubuntu.com/ focal main universe -deb http://ports.ubuntu.com/ focal-updates main universe -deb http://ports.ubuntu.com/ focal-security main universe +deb http://ports.ubuntu.com/ jammy main universe +deb http://ports.ubuntu.com/ jammy-updates main universe +deb http://ports.ubuntu.com/ jammy-security main universe # Backports have a lower priority and must be explicitly installed to be used -deb http://ports.ubuntu.com/ focal-backports main universe +deb http://ports.ubuntu.com/ jammy-backports main universe # We need to add the repo for the updated packages they provide. The main ones # are qemu, libvirt, and openvswitch. -deb http://ubuntu-cloud.archive.canonical.com/ubuntu focal-updates/yoga main +#deb http://ubuntu-cloud.archive.canonical.com/ubuntu jammy-updates/zed main # NOTE(hrw): extra repositories are added into image when they are needed as # separate files in /etc/apt/sources.list.d/ directory. For that purpose they diff --git a/kolla/common/config.py b/kolla/common/config.py index f4ef4925a5..773e7c11c5 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -26,13 +26,13 @@ BASE_ARCH = ['x86_64', 'aarch64'] DEFAULT_BASE_TAGS = { 'centos': {'name': 'quay.io/centos/centos', 'tag': 'stream8'}, 'debian': {'name': 'debian', 'tag': 'bullseye'}, - 'ubuntu': {'name': 'ubuntu', 'tag': '20.04'}, + 'ubuntu': {'name': 'ubuntu', 'tag': '22.04'}, } # NOTE(hrw): has to match PRETTY_NAME in /etc/os-release DISTRO_PRETTY_NAME = { 'centos': 'CentOS Stream 8', 'debian': 'Debian GNU/Linux 11 (bullseye)', - 'ubuntu': 'Ubuntu 20.04', + 'ubuntu': 'Ubuntu 22.04', } OPENSTACK_RELEASE = 'master' diff --git a/kolla/image/build.py b/kolla/image/build.py index 4390af9b99..92a3f3d311 100755 --- a/kolla/image/build.py +++ b/kolla/image/build.py @@ -99,10 +99,14 @@ UNBUILDABLE_IMAGES = { }, 'ubuntu': { + "collectd", # Missing collectd-core package + "monasca-base", # Requires new librdkafka, no wheels py3.10 + "telegraf", # Missing collectd-core package }, 'ubuntu+aarch64': { - "kibana", # no binary package + "barbican-base", # https://github.com/unbit/uwsgi/issues/2434 + "kibana", # no binary package }, 'centos+aarch64': { @@ -635,7 +639,7 @@ class KollaWorker(object): self.distro_package_manager = 'apt' self.base_package_type = 'deb' elif self.base in ['ubuntu']: - self.conf.distro_python_version = "3.8" + self.conf.distro_python_version = "3.10" self.distro_package_manager = 'apt' self.base_package_type = 'deb' else: diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml index 79d4c3e888..051d0722f5 100644 --- a/kolla/template/repos.yaml +++ b/kolla/template/repos.yaml @@ -152,7 +152,7 @@ ubuntu: gpg_key: "elasticsearch.asc" erlang: url: "https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu" - suite: "focal" + suite: "jammy" component: "main" gpg_key: "erlang.gpg" grafana: @@ -160,14 +160,9 @@ ubuntu: suite: "stable" component: "main" gpg_key: "grafana.asc" - haproxy: - url: "http://ppa.launchpad.net/vbernat/haproxy-2.2/ubuntu" - suite: "focal" - component: "main" - gpg_key: "haproxy.gpg" influxdb: url: "https://repos.influxdata.com/ubuntu" - suite: "focal" + suite: "jammy" component: "stable" gpg_key: "influxdb.asc" logstash: @@ -180,19 +175,14 @@ ubuntu: suite: "stable" component: "main" gpg_key: "elasticsearch.asc" - mariadb: - url: "http://downloads.mariadb.com/MariaDB/mariadb-10.6/repo/ubuntu" - suite: "focal" - component: "main" - gpg_key: "mariadb.gpg" rabbitmq: url: "https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu" - suite: "focal" + suite: "jammy" component: "main" gpg_key: "rabbitmq.gpg" td-agent: - url: "http://packages.treasuredata.com/4/ubuntu/focal/" - suite: "focal" + url: "http://packages.treasuredata.com/4/ubuntu/jammy/" + suite: "jammy" component: "contrib" gpg_key: "treasuredata.asc" proxysql: @@ -209,7 +199,7 @@ ubuntu-aarch64: gpg_key: "elasticsearch.asc" erlang: url: "https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu" - suite: "focal" + suite: "jammy" component: "main" gpg_key: "erlang.gpg" grafana: @@ -217,14 +207,9 @@ ubuntu-aarch64: suite: "stable" component: "main" gpg_key: "grafana.asc" - haproxy: - url: "http://ppa.launchpad.net/vbernat/haproxy-2.2/ubuntu" - suite: "focal" - component: "main" - gpg_key: "haproxy.gpg" influxdb: url: "https://repos.influxdata.com/ubuntu" - suite: "focal" + suite: "jammy" component: "stable" gpg_key: "influxdb.asc" logstash: @@ -232,19 +217,14 @@ ubuntu-aarch64: suite: "stable" component: "main" gpg_key: "elasticsearch.asc" - mariadb: - url: "http://downloads.mariadb.com/MariaDB/mariadb-10.6/repo/ubuntu" - suite: "focal" - component: "main" - gpg_key: "mariadb.gpg" rabbitmq: url: "https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu" - suite: "focal" + suite: "jammy" component: "main" gpg_key: "rabbitmq.gpg" td-agent: - url: "http://packages.treasuredata.com/4/ubuntu/focal/" - suite: "focal" + url: "http://packages.treasuredata.com/4/ubuntu/jammy/" + suite: "jammy" component: "contrib" gpg_key: "treasuredata.asc" proxysql: diff --git a/kolla/tests/test_build.py b/kolla/tests/test_build.py index 78be9c7751..9e44d1bc6b 100644 --- a/kolla/tests/test_build.py +++ b/kolla/tests/test_build.py @@ -542,7 +542,7 @@ class KollaWorkerTest(base.TestCase): """check distro_python_version for Ubuntu""" self.conf.set_override('base', 'ubuntu') kolla = build.KollaWorker(self.conf) - self.assertEqual('3.8', kolla.distro_python_version) + self.assertEqual('3.10', kolla.distro_python_version) def test_build_distro_python_version_centos(self): """check distro_python_version for CentOS 8.0.1905"""