From 7dcbe415f8f105fd91ef545e3229b67c2a9c8a0b Mon Sep 17 00:00:00 2001 From: Max Gautier Date: Tue, 12 Dec 2023 07:27:35 +0100 Subject: [PATCH] [2.22] Add hashes for kubernetes 1.26.11, 1.26.10 (#10704) * [kubernetes] Add hashes for kubernetes 1.26.11, 1.26.10 Make kubernetes 1.26.11 default * Workaround for yaml/pyyaml#601 * Convert exoscale tf provider to new version (#10646) This is untested. It passes terraform validate to un-broke the CI. * Update 0040-verify-settings.yml (#10699) remove embedded template * Use supported version of fedora in CI (#10108) * tests: replace fedora35 with fedora37 Signed-off-by: Arthur Outhenin-Chalandre * tests: replace fedora36 with fedora38 Signed-off-by: Arthur Outhenin-Chalandre * docs: update fedora version in docs Signed-off-by: Arthur Outhenin-Chalandre * molecule: upgrade fedora version Signed-off-by: Arthur Outhenin-Chalandre * tests: upgrade fedora images for vagrant and kubevirt Signed-off-by: Arthur Outhenin-Chalandre * vagrant: workaround to fix private network ip address in fedora Fedora stop supporting syconfig network script so we added a workaround here https://github.com/hashicorp/vagrant/issues/12762#issuecomment-1535957837 to fix it. * netowrkmanager: do not configure dns if using systemd-resolved We should not configure dns if we point to systemd-resolved. Systemd-resolved is using NetworkManager to infer the upstream DNS server so if we set NetworkManager to 127.0.0.53 it will prevent systemd-resolved to get the correct network DNS server. Thus if we are in this case we just don't set this setting. Signed-off-by: Arthur Outhenin-Chalandre * image-builder: update centos7 image Signed-off-by: Arthur Outhenin-Chalandre * gitlab-ci: mark fedora packet jobs as allow failure Fedora networking is still broken on Packet, let's mark it as allow failure for now. Signed-off-by: Arthur Outhenin-Chalandre --------- Signed-off-by: Arthur Outhenin-Chalandre --------- Signed-off-by: Arthur Outhenin-Chalandre Co-authored-by: piwinkler <9642809+piwinkler@users.noreply.github.com> Co-authored-by: Arthur Outhenin-Chalandre --- .gitlab-ci.yml | 2 +- .gitlab-ci/lint.yml | 2 +- .gitlab-ci/molecule.yml | 2 +- .gitlab-ci/packet.yml | 13 +- .gitlab-ci/vagrant.yml | 4 +- README.md | 4 +- Vagrantfile | 16 +- contrib/terraform/exoscale/default.tfvars | 8 +- .../modules/kubernetes-cluster/main.tf | 202 +++++++++--------- .../modules/kubernetes-cluster/output.tf | 16 +- .../modules/kubernetes-cluster/versions.tf | 2 +- docs/ci.md | 12 +- .../group_vars/k8s_cluster/k8s-cluster.yml | 2 +- pipeline.Dockerfile | 3 +- .../cri-o/molecule/default/molecule.yml | 2 +- roles/download/defaults/main.yml | 24 +++ .../preinstall/tasks/0040-verify-settings.yml | 2 +- .../tasks/0063-networkmanager-dns.yml | 2 + roles/kubespray-defaults/defaults/main.yaml | 2 +- .../roles/kubevirt-images/defaults/main.yml | 20 +- .../roles/packet-ci/defaults/main.yml | 4 +- tests/constraints.txt | 1 + ...yml => packet_fedora37-calico-selinux.yml} | 2 +- ...> packet_fedora37-calico-swap-selinux.yml} | 2 +- ...ra35-crio.yml => packet_fedora37-crio.yml} | 2 +- ....yml => packet_fedora38-docker-calico.yml} | 2 +- ...e.yml => packet_fedora38-docker-weave.yml} | 2 +- ...e-ovn.yml => packet_fedora38-kube-ovn.yml} | 2 +- ...ter.rb => vagrant_fedora37-kube-router.rb} | 2 +- ...r.yml => vagrant_fedora37-kube-router.yml} | 2 +- 30 files changed, 198 insertions(+), 163 deletions(-) create mode 100644 tests/constraints.txt rename tests/files/{packet_fedora35-calico-selinux.yml => packet_fedora37-calico-selinux.yml} (96%) rename tests/files/{packet_fedora35-calico-swap-selinux.yml => packet_fedora37-calico-swap-selinux.yml} (96%) rename tests/files/{packet_fedora35-crio.yml => packet_fedora37-crio.yml} (96%) rename tests/files/{packet_fedora36-docker-calico.yml => packet_fedora38-docker-calico.yml} (96%) rename tests/files/{packet_fedora36-docker-weave.yml => packet_fedora38-docker-weave.yml} (89%) rename tests/files/{packet_fedora36-kube-ovn.yml => packet_fedora38-kube-ovn.yml} (79%) rename tests/files/{vagrant_fedora35-kube-router.rb => vagrant_fedora37-kube-router.rb} (95%) rename tests/files/{vagrant_fedora35-kube-router.yml => vagrant_fedora37-kube-router.yml} (80%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a74d0efd4..1693b5330 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,7 +42,7 @@ before_script: - ./tests/scripts/rebase.sh - update-alternatives --install /usr/bin/python python /usr/bin/python3 1 - python -m pip uninstall -y ansible ansible-base ansible-core - - python -m pip install -r tests/requirements-${ANSIBLE_MAJOR_VERSION}.txt + - PIP_CONSTRAINT=tests/constraints.txt python -m pip install -r tests/requirements-${ANSIBLE_MAJOR_VERSION}.txt - mkdir -p /.ssh .job: &job diff --git a/.gitlab-ci/lint.yml b/.gitlab-ci/lint.yml index f063ea085..45273127a 100644 --- a/.gitlab-ci/lint.yml +++ b/.gitlab-ci/lint.yml @@ -70,7 +70,7 @@ tox-inventory-builder: - apt-get update && apt-get install -y python3-pip - update-alternatives --install /usr/bin/python python /usr/bin/python3 10 - python -m pip uninstall -y ansible ansible-base ansible-core - - python -m pip install -r tests/requirements.txt + - PIP_CONSTRAINT=tests/constraints.txt python -m pip install -r tests/requirements.txt script: - pip3 install tox - cd contrib/inventory_builder && tox diff --git a/.gitlab-ci/molecule.yml b/.gitlab-ci/molecule.yml index 736c0ffd7..2211756df 100644 --- a/.gitlab-ci/molecule.yml +++ b/.gitlab-ci/molecule.yml @@ -12,7 +12,7 @@ - apt-get update && apt-get install -y python3-pip - update-alternatives --install /usr/bin/python python /usr/bin/python3 10 - python -m pip uninstall -y ansible ansible-base ansible-core - - python -m pip install -r tests/requirements.txt + - PIP_CONSTRAINT=tests/constraints.txt python -m pip install -r tests/requirements.txt - ./tests/scripts/vagrant_clean.sh script: - ./tests/scripts/molecule_run.sh diff --git a/.gitlab-ci/packet.yml b/.gitlab-ci/packet.yml index aa9b25d12..256ca9055 100644 --- a/.gitlab-ci/packet.yml +++ b/.gitlab-ci/packet.yml @@ -86,7 +86,7 @@ packet_ubuntu18-crio: stage: deploy-part2 when: manual -packet_fedora35-crio: +packet_fedora37-crio: extends: .packet_pr stage: deploy-part2 when: manual @@ -163,10 +163,11 @@ packet_almalinux8-docker: extends: .packet_pr when: on_success -packet_fedora36-docker-weave: +packet_fedora38-docker-weave: stage: deploy-part2 extends: .packet_pr when: on_success + allow_failure: true packet_opensuse-docker-cilium: stage: deploy-part2 @@ -216,19 +217,19 @@ packet_centos7-multus-calico: extends: .packet_pr when: manual -packet_fedora36-docker-calico: +packet_fedora38-docker-calico: stage: deploy-part2 extends: .packet_periodic when: on_success variables: RESET_CHECK: "true" -packet_fedora35-calico-selinux: +packet_fedora37-calico-selinux: stage: deploy-part2 extends: .packet_periodic when: on_success -packet_fedora35-calico-swap-selinux: +packet_fedora37-calico-swap-selinux: stage: deploy-part2 extends: .packet_pr when: manual @@ -243,7 +244,7 @@ packet_almalinux8-calico-nodelocaldns-secondary: extends: .packet_pr when: manual -packet_fedora36-kube-ovn: +packet_fedora38-kube-ovn: stage: deploy-part2 extends: .packet_periodic when: on_success diff --git a/.gitlab-ci/vagrant.yml b/.gitlab-ci/vagrant.yml index 52aec6c78..d416d62ba 100644 --- a/.gitlab-ci/vagrant.yml +++ b/.gitlab-ci/vagrant.yml @@ -16,7 +16,7 @@ - apt-get update && apt-get install -y python3-pip - update-alternatives --install /usr/bin/python python /usr/bin/python3 10 - python -m pip uninstall -y ansible ansible-base ansible-core - - python -m pip install -r tests/requirements.txt + - PIP_CONSTRAINT=tests/constraints.txt python -m pip install -r tests/requirements.txt - ./tests/scripts/vagrant_clean.sh script: - ./tests/scripts/testcases_run.sh @@ -61,7 +61,7 @@ vagrant_ubuntu16-kube-router-svc-proxy: extends: .vagrant when: manual -vagrant_fedora35-kube-router: +vagrant_fedora37-kube-router: stage: deploy-part2 extends: .vagrant when: on_success diff --git a/README.md b/README.md index 731beeaa1..bef30467f 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ vagrant up - **Debian** Bullseye, Buster - **Ubuntu** 16.04, 18.04, 20.04, 22.04 - **CentOS/RHEL** 7, [8, 9](docs/centos.md#centos-8) -- **Fedora** 35, 36 +- **Fedora** 37, 38 - **Fedora CoreOS** (see [fcos Note](docs/fcos.md)) - **openSUSE** Leap 15.x/Tumbleweed - **Oracle Linux** 7, [8, 9](docs/centos.md#centos-8) @@ -161,7 +161,7 @@ Note: Upstart/SysV init based OS types are not supported. ## Supported Components - Core - - [kubernetes](https://github.com/kubernetes/kubernetes) v1.26.9 + - [kubernetes](https://github.com/kubernetes/kubernetes) v1.26.11 - [etcd](https://github.com/etcd-io/etcd) v3.5.6 - [docker](https://www.docker.com/) v20.10 (see note) - [containerd](https://containerd.io/) v1.7.1 diff --git a/Vagrantfile b/Vagrantfile index a3cf28d49..f299120cd 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -10,7 +10,6 @@ Vagrant.require_version ">= 2.0.0" CONFIG = File.join(File.dirname(__FILE__), ENV['KUBESPRAY_VAGRANT_CONFIG'] || 'vagrant/config.rb') FLATCAR_URL_TEMPLATE = "https://%s.release.flatcar-linux.net/amd64-usr/current/flatcar_production_vagrant.json" -FEDORA35_MIRROR = "https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/x86_64/images/Fedora-Cloud-Base-Vagrant-35-1.2.x86_64.vagrant-libvirt.box" # Uniq disk UUID for libvirt DISK_UUID = Time.now.utc.to_i @@ -30,8 +29,8 @@ SUPPORTED_OS = { "almalinux8" => {box: "almalinux/8", user: "vagrant"}, "almalinux8-bento" => {box: "bento/almalinux-8", user: "vagrant"}, "rockylinux8" => {box: "generic/rocky8", user: "vagrant"}, - "fedora35" => {box: "fedora/35-cloud-base", user: "vagrant", box_url: FEDORA35_MIRROR}, - "fedora36" => {box: "fedora/36-cloud-base", user: "vagrant"}, + "fedora37" => {box: "fedora/37-cloud-base", user: "vagrant"}, + "fedora38" => {box: "fedora/38-cloud-base", user: "vagrant"}, "opensuse" => {box: "opensuse/Leap-15.4.x86_64", user: "vagrant"}, "opensuse-tumbleweed" => {box: "opensuse/Tumbleweed.x86_64", user: "vagrant"}, "oraclelinux" => {box: "generic/oracle7", user: "vagrant"}, @@ -209,7 +208,8 @@ Vagrant.configure("2") do |config| end ip = "#{$subnet}.#{i+100}" - node.vm.network :private_network, ip: ip, + node.vm.network :private_network, + :ip => ip, :libvirt__guest_ipv6 => 'yes', :libvirt__ipv6_address => "#{$subnet_ipv6}::#{i+100}", :libvirt__ipv6_prefix => "64", @@ -224,6 +224,14 @@ Vagrant.configure("2") do |config| node.vm.provision "shell", inline: "rm -f /etc/modprobe.d/local.conf" node.vm.provision "shell", inline: "sed -i '/net.ipv6.conf.all.disable_ipv6/d' /etc/sysctl.d/99-sysctl.conf /etc/sysctl.conf" end + # Hack for fedora37/38 to get the IP address of the second interface + if ["fedora37", "fedora38"].include? $os + config.vm.provision "shell", inline: <<-SHELL + nmcli conn modify 'Wired connection 2' ipv4.addresses $(cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep IPADDR | cut -d "=" -f2) + nmcli conn modify 'Wired connection 2' ipv4.method manual + service NetworkManager restart + SHELL + end # Disable firewalld on oraclelinux/redhat vms if ["oraclelinux","oraclelinux8","rhel7","rhel8"].include? $os diff --git a/contrib/terraform/exoscale/default.tfvars b/contrib/terraform/exoscale/default.tfvars index 2bcbef54b..8388d586a 100644 --- a/contrib/terraform/exoscale/default.tfvars +++ b/contrib/terraform/exoscale/default.tfvars @@ -12,7 +12,7 @@ ssh_public_keys = [ machines = { "master-0" : { "node_type" : "master", - "size" : "Medium", + "size" : "standard.medium", "boot_disk" : { "image_name" : "Linux Ubuntu 20.04 LTS 64-bit", "root_partition_size" : 50, @@ -22,7 +22,7 @@ machines = { }, "worker-0" : { "node_type" : "worker", - "size" : "Large", + "size" : "standard.large", "boot_disk" : { "image_name" : "Linux Ubuntu 20.04 LTS 64-bit", "root_partition_size" : 50, @@ -32,7 +32,7 @@ machines = { }, "worker-1" : { "node_type" : "worker", - "size" : "Large", + "size" : "standard.large", "boot_disk" : { "image_name" : "Linux Ubuntu 20.04 LTS 64-bit", "root_partition_size" : 50, @@ -42,7 +42,7 @@ machines = { }, "worker-2" : { "node_type" : "worker", - "size" : "Large", + "size" : "standard.large", "boot_disk" : { "image_name" : "Linux Ubuntu 20.04 LTS 64-bit", "root_partition_size" : 50, diff --git a/contrib/terraform/exoscale/modules/kubernetes-cluster/main.tf b/contrib/terraform/exoscale/modules/kubernetes-cluster/main.tf index 3171b00ba..3ea4f4f2c 100644 --- a/contrib/terraform/exoscale/modules/kubernetes-cluster/main.tf +++ b/contrib/terraform/exoscale/modules/kubernetes-cluster/main.tf @@ -1,29 +1,25 @@ -data "exoscale_compute_template" "os_image" { +data "exoscale_template" "os_image" { for_each = var.machines zone = var.zone name = each.value.boot_disk.image_name } -data "exoscale_compute" "master_nodes" { - for_each = exoscale_compute.master +data "exoscale_compute_instance" "master_nodes" { + for_each = exoscale_compute_instance.master - id = each.value.id - - # Since private IP address is not assigned until the nics are created we need this - depends_on = [exoscale_nic.master_private_network_nic] + id = each.value.id + zone = var.zone } -data "exoscale_compute" "worker_nodes" { - for_each = exoscale_compute.worker +data "exoscale_compute_instance" "worker_nodes" { + for_each = exoscale_compute_instance.worker - id = each.value.id - - # Since private IP address is not assigned until the nics are created we need this - depends_on = [exoscale_nic.worker_private_network_nic] + id = each.value.id + zone = var.zone } -resource "exoscale_network" "private_network" { +resource "exoscale_private_network" "private_network" { zone = var.zone name = "${var.prefix}-network" @@ -34,25 +30,29 @@ resource "exoscale_network" "private_network" { netmask = cidrnetmask(var.private_network_cidr) } -resource "exoscale_compute" "master" { +resource "exoscale_compute_instance" "master" { for_each = { for name, machine in var.machines : name => machine if machine.node_type == "master" } - display_name = "${var.prefix}-${each.key}" - template_id = data.exoscale_compute_template.os_image[each.key].id - size = each.value.size - disk_size = each.value.boot_disk.root_partition_size + each.value.boot_disk.node_local_partition_size + each.value.boot_disk.ceph_partition_size - state = "Running" - zone = var.zone - security_groups = [exoscale_security_group.master_sg.name] + name = "${var.prefix}-${each.key}" + template_id = data.exoscale_template.os_image[each.key].id + type = each.value.size + disk_size = each.value.boot_disk.root_partition_size + each.value.boot_disk.node_local_partition_size + each.value.boot_disk.ceph_partition_size + state = "Running" + zone = var.zone + security_group_ids = [exoscale_security_group.master_sg.id] + network_interface { + network_id = exoscale_private_network.private_network.id + } + elastic_ip_ids = [exoscale_elastic_ip.control_plane_lb.id] user_data = templatefile( "${path.module}/templates/cloud-init.tmpl", { - eip_ip_address = exoscale_ipaddress.ingress_controller_lb.ip_address + eip_ip_address = exoscale_elastic_ip.ingress_controller_lb.ip_address node_local_partition_size = each.value.boot_disk.node_local_partition_size ceph_partition_size = each.value.boot_disk.ceph_partition_size root_partition_size = each.value.boot_disk.root_partition_size @@ -62,25 +62,29 @@ resource "exoscale_compute" "master" { ) } -resource "exoscale_compute" "worker" { +resource "exoscale_compute_instance" "worker" { for_each = { for name, machine in var.machines : name => machine if machine.node_type == "worker" } - display_name = "${var.prefix}-${each.key}" - template_id = data.exoscale_compute_template.os_image[each.key].id - size = each.value.size - disk_size = each.value.boot_disk.root_partition_size + each.value.boot_disk.node_local_partition_size + each.value.boot_disk.ceph_partition_size - state = "Running" - zone = var.zone - security_groups = [exoscale_security_group.worker_sg.name] + name = "${var.prefix}-${each.key}" + template_id = data.exoscale_template.os_image[each.key].id + type = each.value.size + disk_size = each.value.boot_disk.root_partition_size + each.value.boot_disk.node_local_partition_size + each.value.boot_disk.ceph_partition_size + state = "Running" + zone = var.zone + security_group_ids = [exoscale_security_group.worker_sg.id] + network_interface { + network_id = exoscale_private_network.private_network.id + } + elastic_ip_ids = [exoscale_elastic_ip.ingress_controller_lb.id] user_data = templatefile( "${path.module}/templates/cloud-init.tmpl", { - eip_ip_address = exoscale_ipaddress.ingress_controller_lb.ip_address + eip_ip_address = exoscale_elastic_ip.ingress_controller_lb.ip_address node_local_partition_size = each.value.boot_disk.node_local_partition_size ceph_partition_size = each.value.boot_disk.ceph_partition_size root_partition_size = each.value.boot_disk.root_partition_size @@ -90,41 +94,33 @@ resource "exoscale_compute" "worker" { ) } -resource "exoscale_nic" "master_private_network_nic" { - for_each = exoscale_compute.master - - compute_id = each.value.id - network_id = exoscale_network.private_network.id -} - -resource "exoscale_nic" "worker_private_network_nic" { - for_each = exoscale_compute.worker - - compute_id = each.value.id - network_id = exoscale_network.private_network.id -} - resource "exoscale_security_group" "master_sg" { name = "${var.prefix}-master-sg" description = "Security group for Kubernetes masters" } -resource "exoscale_security_group_rules" "master_sg_rules" { +resource "exoscale_security_group_rule" "master_sg_rule_ssh" { security_group_id = exoscale_security_group.master_sg.id + for_each = toset(var.ssh_whitelist) # SSH - ingress { - protocol = "TCP" - cidr_list = var.ssh_whitelist - ports = ["22"] - } + type = "INGRESS" + start_port = 22 + end_port = 22 + protocol = "TCP" + cidr = each.value +} + +resource "exoscale_security_group_rule" "master_sg_rule_k8s_api" { + security_group_id = exoscale_security_group.master_sg.id + for_each = toset(var.api_server_whitelist) # Kubernetes API - ingress { - protocol = "TCP" - cidr_list = var.api_server_whitelist - ports = ["6443"] - } + type = "INGRESS" + start_port = 6443 + end_port = 6443 + protocol = "TCP" + cidr = each.value } resource "exoscale_security_group" "worker_sg" { @@ -132,62 +128,64 @@ resource "exoscale_security_group" "worker_sg" { description = "security group for kubernetes worker nodes" } -resource "exoscale_security_group_rules" "worker_sg_rules" { +resource "exoscale_security_group_rule" "worker_sg_rule_ssh" { security_group_id = exoscale_security_group.worker_sg.id # SSH - ingress { - protocol = "TCP" - cidr_list = var.ssh_whitelist - ports = ["22"] - } + for_each = toset(var.ssh_whitelist) + type = "INGRESS" + start_port = 22 + end_port = 22 + protocol = "TCP" + cidr = each.value +} - # HTTP(S) - ingress { - protocol = "TCP" - cidr_list = ["0.0.0.0/0"] - ports = ["80", "443"] - } +resource "exoscale_security_group_rule" "worker_sg_rule_http" { + security_group_id = exoscale_security_group.worker_sg.id - # Kubernetes Nodeport - ingress { - protocol = "TCP" - cidr_list = var.nodeport_whitelist - ports = ["30000-32767"] - } + # HTTP(S) + for_each = toset(["80", "443"]) + type = "INGRESS" + start_port = each.value + end_port = each.value + protocol = "TCP" + cidr = "0.0.0.0/0" } -resource "exoscale_ipaddress" "ingress_controller_lb" { - zone = var.zone - healthcheck_mode = "http" - healthcheck_port = 80 - healthcheck_path = "/healthz" - healthcheck_interval = 10 - healthcheck_timeout = 2 - healthcheck_strikes_ok = 2 - healthcheck_strikes_fail = 3 -} -resource "exoscale_secondary_ipaddress" "ingress_controller_lb" { - for_each = exoscale_compute.worker +resource "exoscale_security_group_rule" "worker_sg_rule_nodeport" { + security_group_id = exoscale_security_group.worker_sg.id - compute_id = each.value.id - ip_address = exoscale_ipaddress.ingress_controller_lb.ip_address + # HTTP(S) + for_each = toset(var.nodeport_whitelist) + type = "INGRESS" + start_port = 30000 + end_port = 32767 + protocol = "TCP" + cidr = each.value } -resource "exoscale_ipaddress" "control_plane_lb" { - zone = var.zone - healthcheck_mode = "tcp" - healthcheck_port = 6443 - healthcheck_interval = 10 - healthcheck_timeout = 2 - healthcheck_strikes_ok = 2 - healthcheck_strikes_fail = 3 +resource "exoscale_elastic_ip" "ingress_controller_lb" { + zone = var.zone + healthcheck { + mode = "http" + port = 80 + uri = "/healthz" + interval = 10 + timeout = 2 + strikes_ok = 2 + strikes_fail = 3 + } } -resource "exoscale_secondary_ipaddress" "control_plane_lb" { - for_each = exoscale_compute.master - - compute_id = each.value.id - ip_address = exoscale_ipaddress.control_plane_lb.ip_address +resource "exoscale_elastic_ip" "control_plane_lb" { + zone = var.zone + healthcheck { + mode = "tcp" + port = 6443 + interval = 10 + timeout = 2 + strikes_ok = 2 + strikes_fail = 3 + } } diff --git a/contrib/terraform/exoscale/modules/kubernetes-cluster/output.tf b/contrib/terraform/exoscale/modules/kubernetes-cluster/output.tf index bb80b5b54..b288bdb49 100644 --- a/contrib/terraform/exoscale/modules/kubernetes-cluster/output.tf +++ b/contrib/terraform/exoscale/modules/kubernetes-cluster/output.tf @@ -1,19 +1,19 @@ output "master_ip_addresses" { value = { - for key, instance in exoscale_compute.master : + for key, instance in exoscale_compute_instance.master : instance.name => { - "private_ip" = contains(keys(data.exoscale_compute.master_nodes), key) ? data.exoscale_compute.master_nodes[key].private_network_ip_addresses[0] : "" - "public_ip" = exoscale_compute.master[key].ip_address + "private_ip" = contains(keys(data.exoscale_compute_instance.master_nodes), key) ? data.exoscale_compute_instance.master_nodes[key].private_network_ip_addresses[0] : "" + "public_ip" = exoscale_compute_instance.master[key].ip_address } } } output "worker_ip_addresses" { value = { - for key, instance in exoscale_compute.worker : + for key, instance in exoscale_compute_instance.worker : instance.name => { - "private_ip" = contains(keys(data.exoscale_compute.worker_nodes), key) ? data.exoscale_compute.worker_nodes[key].private_network_ip_addresses[0] : "" - "public_ip" = exoscale_compute.worker[key].ip_address + "private_ip" = contains(keys(data.exoscale_compute_instance.worker_nodes), key) ? data.exoscale_compute_instance.worker_nodes[key].private_network_ip_addresses[0] : "" + "public_ip" = exoscale_compute_instance.worker[key].ip_address } } } @@ -23,9 +23,9 @@ output "cluster_private_network_cidr" { } output "ingress_controller_lb_ip_address" { - value = exoscale_ipaddress.ingress_controller_lb.ip_address + value = exoscale_elastic_ip.ingress_controller_lb.ip_address } output "control_plane_lb_ip_address" { - value = exoscale_ipaddress.control_plane_lb.ip_address + value = exoscale_elastic_ip.control_plane_lb.ip_address } diff --git a/contrib/terraform/exoscale/modules/kubernetes-cluster/versions.tf b/contrib/terraform/exoscale/modules/kubernetes-cluster/versions.tf index 6f60994c2..047420aec 100644 --- a/contrib/terraform/exoscale/modules/kubernetes-cluster/versions.tf +++ b/contrib/terraform/exoscale/modules/kubernetes-cluster/versions.tf @@ -1,7 +1,7 @@ terraform { required_providers { exoscale = { - source = "exoscale/exoscale" + source = "exoscale/exoscale" version = ">= 0.21" } } diff --git a/docs/ci.md b/docs/ci.md index 67d87ff18..01737413b 100644 --- a/docs/ci.md +++ b/docs/ci.md @@ -11,8 +11,8 @@ amazon | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | centos7 | :white_check_mark: | :x: | :x: | :white_check_mark: | :x: | :white_check_mark: | :x: | :white_check_mark: | debian10 | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | debian11 | :white_check_mark: | :x: | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | -fedora35 | :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | -fedora36 | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :x: | +fedora37 | :white_check_mark: | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | +fedora38 | :x: | :x: | :x: | :x: | :white_check_mark: | :x: | :x: | :x: | opensuse | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux8 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux9 | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | @@ -30,8 +30,8 @@ amazon | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | centos7 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | debian10 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | debian11 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | -fedora35 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | -fedora36 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | +fedora37 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | +fedora38 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | opensuse | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux8 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux9 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | @@ -49,8 +49,8 @@ amazon | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | centos7 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | debian10 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | debian11 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | -fedora35 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | -fedora36 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :white_check_mark: | +fedora37 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | +fedora38 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | :white_check_mark: | opensuse | :x: | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux8 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux9 | :x: | :x: | :x: | :x: | :x: | :x: | :x: | :x: | diff --git a/inventory/sample/group_vars/k8s_cluster/k8s-cluster.yml b/inventory/sample/group_vars/k8s_cluster/k8s-cluster.yml index 1905916ba..d2d15c32e 100644 --- a/inventory/sample/group_vars/k8s_cluster/k8s-cluster.yml +++ b/inventory/sample/group_vars/k8s_cluster/k8s-cluster.yml @@ -17,7 +17,7 @@ kube_token_dir: "{{ kube_config_dir }}/tokens" kube_api_anonymous_auth: true ## Change this to use another Kubernetes version, e.g. a current beta release -kube_version: v1.26.9 +kube_version: v1.26.11 # Where the binaries will be downloaded. # Note: ensure that you've enough disk space (about 1G) diff --git a/pipeline.Dockerfile b/pipeline.Dockerfile index 91bda14de..0431f1bc5 100644 --- a/pipeline.Dockerfile +++ b/pipeline.Dockerfile @@ -39,10 +39,11 @@ WORKDIR /kubespray RUN --mount=type=bind,target=./requirements-2.12.txt,src=./requirements-2.12.txt \ --mount=type=bind,target=./tests/requirements-2.12.txt,src=./tests/requirements-2.12.txt \ + --mount=type=bind,target=./tests/constraints.txt,src=./tests/constraints.txt \ --mount=type=bind,target=./roles/kubespray-defaults/defaults/main.yaml,src=./roles/kubespray-defaults/defaults/main.yaml \ update-alternatives --install /usr/bin/python python /usr/bin/python3 1 \ && pip install --no-compile --no-cache-dir pip -U \ - && pip install --no-compile --no-cache-dir -r tests/requirements-2.12.txt \ + && PIP_CONSTRAINT=tests/constraints.txt pip install --no-compile --no-cache-dir -r tests/requirements-2.12.txt \ && KUBE_VERSION=$(sed -n 's/^kube_version: //p' roles/kubespray-defaults/defaults/main.yaml) \ && curl -L https://dl.k8s.io/release/$KUBE_VERSION/bin/linux/$(dpkg --print-architecture)/kubectl -o /usr/local/bin/kubectl \ && echo $(curl -L https://dl.k8s.io/release/$KUBE_VERSION/bin/linux/$(dpkg --print-architecture)/kubectl.sha256) /usr/local/bin/kubectl | sha256sum --check \ diff --git a/roles/container-engine/cri-o/molecule/default/molecule.yml b/roles/container-engine/cri-o/molecule/default/molecule.yml index e35014954..169e0a886 100644 --- a/roles/container-engine/cri-o/molecule/default/molecule.yml +++ b/roles/container-engine/cri-o/molecule/default/molecule.yml @@ -24,7 +24,7 @@ platforms: - kube_node - k8s_cluster - name: fedora - box: fedora/36-cloud-base + box: fedora/38-cloud-base cpus: 2 memory: 2048 groups: diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml index 3adf34b52..15848fdc1 100644 --- a/roles/download/defaults/main.yml +++ b/roles/download/defaults/main.yml @@ -221,6 +221,8 @@ crio_archive_checksums: # Kubernetes versions above Kubespray's current target version are untested and should be used with caution. kubelet_checksums: arm: + v1.26.11: a7bbe545ab23b068d5e25262bf17a10039edb5c073ba896d036af12afb5fbf9c + v1.26.10: 3130ae14dda009f92296045d9cc2a1f566fa7d85905d0f6a8db47b05496c5d53 v1.26.9: 739c62a6801d935477121614ee3a2ef6deba78ecd088ae5477c3f18bf19d68c8 v1.26.8: 9db839028b706c005fb6db4442e7dae32c2916acf826a5666d54236399f447fa v1.26.7: 85fe65155c5bc0dd851d736003ae94e39c03a3e9d65f7435404d177491b8e08d @@ -262,6 +264,8 @@ kubelet_checksums: v1.24.1: 393d130a1715205a253b2f70dbd1f00d1a52ab89b4f3684ed116a937e68116ec v1.24.0: fd19ff957c73e5397f9af931c82bdb95791e47dc7d3135d38720ecda211758a3 arm64: + v1.26.11: ff8940394446028e75a2b8155e22eccf635f6a128f45dee41e293493d2743d17 + v1.26.10: ddebcc1af7f203a2ee3d80dad0baaf84a4680748839f5583b39cbce4b8afa7f2 v1.26.9: f6b1dcee9960ffe6b778dc91cabef8ce4a7bd06c76378ef2784232709eace6a5 v1.26.8: 0f15e484c4a7a7c3bad9e0aa4d4334ca029b97513fbe03f053201dd937cf316e v1.26.7: 73e086cfd8cd1cef559e739e19aff2932f8a9e0bdba3c9faeb9185a86d067fbb @@ -303,6 +307,8 @@ kubelet_checksums: v1.24.1: c2189c6956afda0f6002839f9f14a9b48c89dcc0228701e84856be36a3aac6bf v1.24.0: 8f066c9a048dd1704bf22ccf6e994e2fa2ea1175c9768a786f6cb6608765025e amd64: + v1.26.11: a62953f20fa9fedff50c6c5423e68981e3382d92cf04174d5bca5f4d084de0c5 + v1.26.10: 4c27b3a9f332a6762f7240d0784c64775d4db5a1b881eeae05c4561d06c267ec v1.26.9: baa2b021ab2f90c342518e2b8981a18de7e1e6b33f11c57e3ff23d40364877a8 v1.26.8: 1c68a65a6a0c2230325e29da0cc3eaaef9bbf688a7a0bb8243b4a7ebfe0e3363 v1.26.7: 2926ea2cd7fcd644d24a258bdf21e1a8cfd95412b1079914ca46466dae1d74f2 @@ -344,6 +350,8 @@ kubelet_checksums: v1.24.1: fc352d5c983b0ccf47acd8816eb826d781f408d27263dd8f761dfb63e69abfde v1.24.0: 3d98ac8b4fb8dc99f9952226f2565951cc366c442656a889facc5b1b2ec2ba52 ppc64le: + v1.26.11: 408e47e33159551ebeeb6f4ef836bd7d07fc92d16ca6d662c85ea8fa0fe34a8e + v1.26.10: 5cc1046c8f9188dc6d5ec22200eeed7c8c1ae88a23ce5d79e8dfaf1ff61f2bf8 v1.26.9: e87a83c1ca74e55cea51eda53d29324de7fb7f9330c266ea1f2e270fe0f9b677 v1.26.8: 92c8deba1f6a89a6d6555c224cebab43d141d5822c252511988ad43ff1a7cc1d v1.26.7: db5d946bad409a1cea177564fb4111e03e4efc15e86d0078fee401022a4b057a @@ -386,6 +394,8 @@ kubelet_checksums: v1.24.0: d41d62f6aeff9f8f9b1a1390ed2b17994952966741d6675af8410799bca38931 kubectl_checksums: arm: + v1.26.11: 34cc371daef6e42aea27117aa643619ab870d1cb61995530fc9bcb992e3caf10 + v1.26.10: d26ab68b4884eec4dcadd0f564ba197d48f21aebed509b9b1541d31f2aaf5890 v1.26.9: 8e020ffe72dd4c8694ee5e9f124833ca302a2341fa046650482b38ddb189d1fd v1.26.8: 411c5c6ba9a247d7fa30f68fd37cfdb92ef14326127bed2512a0daf11a6097d4 v1.26.7: ad796f714102a78a4f4dfa8f49a3c11cb31a9d74965d6b14f84ef5adb065ed69 @@ -427,6 +437,8 @@ kubectl_checksums: v1.24.1: 42e880ff20a55e8ec49187d54e2c1367226d220a0a6a1797e7fbf97426762f4f v1.24.0: 410fc0b3c718f8f431fe4f7d5820bf8133b16ffb76187a53fa90929a77a38cbc arm64: + v1.26.11: 4a6d2b7204af3cf84cd0e2c670fbb211501050c9a288de49de3c6363d4e0a63e + v1.26.10: 5752e3908fa1d338eb1fa99a6f39c6a4c27b065cb459da84e35c4ec718879f14 v1.26.9: f945c63220b393ddf8df67d87e67ff74b7f56219a670dee38bc597a078588e90 v1.26.8: e93f836cba409b5ef5341020d9501067a51bf8210cb35649518e5f4d114244cf v1.26.7: 71edc4c6838a7332e5f82abb35642ce7f905059a258690b0a585d3ed6de285b3 @@ -468,6 +480,8 @@ kubectl_checksums: v1.24.1: b817b54183e089494f8b925096e9b65af3a356d87f94b73929bf5a6028a06271 v1.24.0: 449278789de283648e4076ade46816da249714f96e71567e035e9d17e1fff06d amd64: + v1.26.11: 27c34a0870230d9dd723e1e01114634e396cd2a3d25ced263b769a4bd53e4edd + v1.26.10: 93ad44b4072669237247bfbc171be816f08e7e9e4260418d2cfdd0da1704ae86 v1.26.9: 98ea4a13895e54ba24f57e0d369ff6be0d3906895305d5390197069b1da12ae2 v1.26.8: d8e0dba258d1096f95bb6746ca359db2ee8abe226e777f89dc8a5d1bb76795aa v1.26.7: d9dc7741e5f279c28ef32fbbe1daa8ebc36622391c33470efed5eb8426959971 @@ -509,6 +523,8 @@ kubectl_checksums: v1.24.1: 0ec3c2dbafc6dd27fc8ad25fa27fc527b5d7356d1830c0efbb8adcf975d9e84a v1.24.0: 94d686bb6772f6fb59e3a32beff908ab406b79acdfb2427abdc4ac3ce1bb98d7 ppc64le: + v1.26.11: f2c577e75277415203e699ca7bc08eb640a0b8211a0366926122e3ac4f98997c + v1.26.10: 24674d7ce1ccef207d127bd952f6f40f951d7682cfa603f6989ed80e91dcaafc v1.26.9: bcb287f24a30bd7ef27bc36dc4f896aba3f1091f947afde73576fbd81af65cc5 v1.26.8: e94748f8954f44bd5ad5be78a2906ee6a8db7c00ea2d50c9db1bfa09cfc097b9 v1.26.7: 307eabd20201d1a8f9ac433c03716333565c6bd2532dce4bb42eddc88458d509 @@ -551,6 +567,8 @@ kubectl_checksums: v1.24.0: 153a1ca1593ef4cb56b16922f8e229986a621d396112f0cfad6fa568ad00fa75 kubeadm_checksums: arm: + v1.26.11: 3683f52861f89c3cf48ea7754fd2e81ad30a51bef57d056b2663e5e9139870b6 + v1.26.10: b59433ebaddf5c5d816033304989f9dd2e0b863650532cd195c1d41c0f973f14 v1.26.9: a6841e7e554407776e4d0fc83306756ad1836d1f92d6d5cce1055eee1999732a v1.26.8: 31f37eeed5a9e23719e97055051a5efada2fb69deda958056b3d6b0b41e7eaa5 v1.26.7: bcff0b0a94f6ee6665a0b1eff0f6aa15ca6caac5040cbbf79cd9bd1125088a5d @@ -592,6 +610,8 @@ kubeadm_checksums: v1.24.1: 1c0b22c941badb40f4fb93e619b4a1c5e4bba7c1c7313f7c7e87d77150f35153 v1.24.0: c463bf24981dea705f4ee6e547abd5cc3b3e499843f836aae1a04f5b80abf4c2 arm64: + v1.26.11: a13318c1493e58a9f7c4359c79443f3c86a690ec601bcc76308c809d8d61edb8 + v1.26.10: 1ddcb47ee4f7171736dbacc046a7ceae55411ee09920435c3821b530f4650428 v1.26.9: 14c87cbb9a3fa02308a9546aad192ce2d93e5d1d0296d28ba449079e6a1cb2b2 v1.26.8: f12d5d748abb8586723b78a2f0300f88faf0391f56d4d49f1ad1cef74160a1b5 v1.26.7: 34192ceac2287029b36e2d6b682e55dee245ae622701dc3b36bd3203019b18d1 @@ -633,6 +653,8 @@ kubeadm_checksums: v1.24.1: 04f18fe097351cd16dc91cd3bde979201916686c6f4e1b87bae69ab4479fda04 v1.24.0: 3e0fa21b8ebce04ca919fdfea7cc756e5f645166b95d6e4b5d9912d7721f9004 amd64: + v1.26.11: 58f886e39e517ba1a92493f136e80f1b6ea9362966ad9d2accdf2133004161f2 + v1.26.10: 27ed1d857f4a315f3d059168c6e25fdbf0559f9c8e59bab6c50e7921f74dadbf v1.26.9: 73e128821dd1f799a75c922218d12f6c4618b8e29cc7dae2a7390fb80092d3d9 v1.26.8: 233a89277ca49dbd666b7391c6c0e43c33d2f08052d5b93e9cd0100ee69430c8 v1.26.7: 812e6d0e94a3fc77d3e9d09dbe709190b77408936cc4e960d916e8401be11090 @@ -674,6 +696,8 @@ kubeadm_checksums: v1.24.1: 15e3193eecbc69330ada3f340c5a47999959bc227c735fa95e4aa79470c085d0 v1.24.0: 5e58a29eaaf69ea80e90d9780d2a2d5f189fd74f94ec3bec9e3823d472277318 ppc64le: + v1.26.11: bfa424bccba7c10b4a011ef1cc5b282ac5861e30e3e3897ac8ef1cf8cd95b723 + v1.26.10: 5dad57d977923d80f20e1d3b9be5dba806642682a0c1bb511c23543c710761cb v1.26.9: 1cd0e3623b93aa1786dddb73570a841323db35df4eca45004db2046550ca5d12 v1.26.8: c93248ce2c9906d16fcb7590d8f3929406b28967da79d6a01c2b2d39203a7f58 v1.26.7: f8d35a26349c28a01244cfb2f0a163c11daa6bd501e64ce261455c38ffd29bc5 diff --git a/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml b/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml index f199c0b34..1d4135cbe 100644 --- a/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml +++ b/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml @@ -1,7 +1,7 @@ --- - name: Stop if either kube_control_plane or kube_node group is empty assert: - that: "groups.get('{{ item }}')" + that: "groups.get( item )" with_items: - kube_control_plane - kube_node diff --git a/roles/kubernetes/preinstall/tasks/0063-networkmanager-dns.yml b/roles/kubernetes/preinstall/tasks/0063-networkmanager-dns.yml index 7249ac898..4b272dcd4 100644 --- a/roles/kubernetes/preinstall/tasks/0063-networkmanager-dns.yml +++ b/roles/kubernetes/preinstall/tasks/0063-networkmanager-dns.yml @@ -7,6 +7,8 @@ value: "{{ nameserverentries }}" mode: '0600' backup: yes + when: + - nameserverentries != "127.0.0.53" or systemd_resolved_enabled.rc != 0 notify: Preinstall | update resolvconf for networkmanager - name: set default dns if remove_default_searchdomains is false diff --git a/roles/kubespray-defaults/defaults/main.yaml b/roles/kubespray-defaults/defaults/main.yaml index f6ac4f67d..aed172ebf 100644 --- a/roles/kubespray-defaults/defaults/main.yaml +++ b/roles/kubespray-defaults/defaults/main.yaml @@ -16,7 +16,7 @@ kubelet_fail_swap_on: true kubelet_swap_behavior: LimitedSwap ## Change this to use another Kubernetes version, e.g. a current beta release -kube_version: v1.26.9 +kube_version: v1.26.11 ## The minimum version working kube_version_min_required: v1.24.0 diff --git a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml index 5b38495be..74faffabf 100644 --- a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml +++ b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml @@ -34,17 +34,17 @@ images: converted: false tag: "latest" - fedora-35: - filename: Fedora-Cloud-Base-35-1.2.x86_64.qcow2 - url: https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/x86_64/images/Fedora-Cloud-Base-35-1.2.x86_64.qcow2 - checksum: sha256:fe84502779b3477284a8d4c86731f642ca10dd3984d2b5eccdf82630a9ca2de6 + fedora-37: + filename: Fedora-Cloud-Base-37-1.7.x86_64.qcow2 + url: https://download.fedoraproject.org/pub/fedora/linux/releases/37/Cloud/x86_64/images/Fedora-Cloud-Base-37-1.7.x86_64.qcow2 + checksum: sha256:b5b9bec91eee65489a5745f6ee620573b23337cbb1eb4501ce200b157a01f3a0 converted: true tag: "latest" - fedora-36: - filename: Fedora-Cloud-Base-36-1.5.x86_64.qcow2 - url: https://download.fedoraproject.org/pub/fedora/linux/releases/36/Cloud/x86_64/images/Fedora-Cloud-Base-36-1.5.x86_64.qcow2 - checksum: sha256:ca9e514cc2f4a7a0188e7c68af60eb4e573d2e6850cc65b464697223f46b4605 + fedora-38: + filename: Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + url: https://download.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2 + checksum: sha256:d334670401ff3d5b4129fcc662cf64f5a6e568228af59076cc449a4945318482 converted: true tag: "latest" @@ -57,8 +57,8 @@ images: centos-7: filename: CentOS-7-x86_64-GenericCloud-2009.qcow2 - url: http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2009.qcow2 - checksum: sha256:e38bab0475cc6d004d2e17015969c659e5a308111851b0e2715e84646035bdd3 + url: http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-2211.qcow2 + checksum: sha256:284aab2b23d91318f169ff464bce4d53404a15a0618ceb34562838c59af4adea converted: true tag: "latest" diff --git a/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml b/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml index f2c82368e..64af102c5 100644 --- a/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml +++ b/tests/cloud_playbooks/roles/packet-ci/defaults/main.yml @@ -31,8 +31,8 @@ cloud_init: debian-9: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1" debian-10: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1" debian-11: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1" - fedora-35: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU=" - fedora-36: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU=" + fedora-37: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU=" + fedora-38: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IGZlZG9yYQp1c2VyczoKIC0gbmFtZToga3ViZXNwcmF5CiAgIGdyb3Vwczogd2hlZWwKICAgc3VkbzogJ0FMTD0oQUxMKSBOT1BBU1NXRDpBTEwnCiAgIHNoZWxsOiAvYmluL2Jhc2gKICAgbG9ja19wYXNzd2Q6IEZhbHNlCiAgIGhvbWU6IC9ob21lL2t1YmVzcHJheQogICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgIC0gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDYW5UaS9lS3gwK3RIWUpBZURocStzRlMyT2JVUDEvSTY5ZjdpVjNVdGtLbFQyMEpmVzFmNkZlWHQvMDRWZjI3V1FxK05xczZ2R0JxRDlRWFNZdWYrdDAvczdFUExqVGVpOW1lMW1wcXIrdVRlK0tEdFRQMzlwZkQzL2VWQ2FlQjcyNkdQMkZrYUQwRnpwbUViNjZPM05xaHhPUTk2R3gvOVhUdXcvSzNsbGo0T1ZENkdyalIzQjdjNFh0RUJzWmNacHBNSi9vSDFtR3lHWGRoMzFtV1FTcUFSTy9QOFU4R3d0MCtIR3BVd2gvaGR5M3QrU1lvVEIyR3dWYjB6b3lWd3RWdmZEUXpzbThmcTNhdjRLdmV6OGtZdU5ESnYwNXg0bHZVWmdSMTVaRFJYc0FuZGhReXFvWGRDTEFlMCtlYUtYcTlCa1d4S0ZiOWhQZTBBVWpqYTU=" opensuse-leap-15: "I2Nsb3VkLWNvbmZpZwogdXNlcnM6CiAgLSBuYW1lOiBrdWJlc3ByYXkKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICAgaG9tZTogL2hvbWUva3ViZXNwcmF5CiAgICBzc2hfYXV0aG9yaXplZF9rZXlzOgogICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1" rhel-server-7: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo=" amazon-linux-2: "I2Nsb3VkLWNvbmZpZwpzeXN0ZW1faW5mbzoKICBkaXN0cm86IHJoZWwKdXNlcnM6CiAtIG5hbWU6IGt1YmVzcHJheQogICBncm91cHM6IHdoZWVsCiAgIHN1ZG86ICdBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMJwogICBzaGVsbDogL2Jpbi9iYXNoCiAgIGxvY2tfcGFzc3dkOiBGYWxzZQogICBob21lOiAvaG9tZS9rdWJlc3ByYXkKICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAtIHNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRQ2FuVGkvZUt4MCt0SFlKQWVEaHErc0ZTMk9iVVAxL0k2OWY3aVYzVXRrS2xUMjBKZlcxZjZGZVh0LzA0VmYyN1dRcStOcXM2dkdCcUQ5UVhTWXVmK3QwL3M3RVBMalRlaTltZTFtcHFyK3VUZStLRHRUUDM5cGZEMy9lVkNhZUI3MjZHUDJGa2FEMEZ6cG1FYjY2TzNOcWh4T1E5Nkd4LzlYVHV3L0szbGxqNE9WRDZHcmpSM0I3YzRYdEVCc1pjWnBwTUovb0gxbUd5R1hkaDMxbVdRU3FBUk8vUDhVOEd3dDArSEdwVXdoL2hkeTN0K1NZb1RCMkd3VmIwem95Vnd0VnZmRFF6c204ZnEzYXY0S3ZlejhrWXVOREp2MDV4NGx2VVpnUjE1WkRSWHNBbmRoUXlxb1hkQ0xBZTArZWFLWHE5QmtXeEtGYjloUGUwQVVqamE1Cgo=" diff --git a/tests/constraints.txt b/tests/constraints.txt new file mode 100644 index 000000000..039eb0db2 --- /dev/null +++ b/tests/constraints.txt @@ -0,0 +1 @@ +cython<3 diff --git a/tests/files/packet_fedora35-calico-selinux.yml b/tests/files/packet_fedora37-calico-selinux.yml similarity index 96% rename from tests/files/packet_fedora35-calico-selinux.yml rename to tests/files/packet_fedora37-calico-selinux.yml index 62b1b13d9..2fbbd7bdc 100644 --- a/tests/files/packet_fedora35-calico-selinux.yml +++ b/tests/files/packet_fedora37-calico-selinux.yml @@ -1,6 +1,6 @@ --- # Instance settings -cloud_image: fedora-35 +cloud_image: fedora-37 mode: default # Kubespray settings diff --git a/tests/files/packet_fedora35-calico-swap-selinux.yml b/tests/files/packet_fedora37-calico-swap-selinux.yml similarity index 96% rename from tests/files/packet_fedora35-calico-swap-selinux.yml rename to tests/files/packet_fedora37-calico-swap-selinux.yml index c8f058eff..775c930b5 100644 --- a/tests/files/packet_fedora35-calico-swap-selinux.yml +++ b/tests/files/packet_fedora37-calico-swap-selinux.yml @@ -1,6 +1,6 @@ --- # Instance settings -cloud_image: fedora-35 +cloud_image: fedora-37 mode: default # Kubespray settings diff --git a/tests/files/packet_fedora35-crio.yml b/tests/files/packet_fedora37-crio.yml similarity index 96% rename from tests/files/packet_fedora35-crio.yml rename to tests/files/packet_fedora37-crio.yml index fa3302b5e..5f5e736a2 100644 --- a/tests/files/packet_fedora35-crio.yml +++ b/tests/files/packet_fedora37-crio.yml @@ -1,6 +1,6 @@ --- # Instance settings -cloud_image: fedora-35 +cloud_image: fedora-37 mode: default # Kubespray settings diff --git a/tests/files/packet_fedora36-docker-calico.yml b/tests/files/packet_fedora38-docker-calico.yml similarity index 96% rename from tests/files/packet_fedora36-docker-calico.yml rename to tests/files/packet_fedora38-docker-calico.yml index 14ea6689a..8d1a9a44c 100644 --- a/tests/files/packet_fedora36-docker-calico.yml +++ b/tests/files/packet_fedora38-docker-calico.yml @@ -1,6 +1,6 @@ --- # Instance settings -cloud_image: fedora-36 +cloud_image: fedora-38 mode: default # Kubespray settings diff --git a/tests/files/packet_fedora36-docker-weave.yml b/tests/files/packet_fedora38-docker-weave.yml similarity index 89% rename from tests/files/packet_fedora36-docker-weave.yml rename to tests/files/packet_fedora38-docker-weave.yml index f9ecc298b..66bcdb12a 100644 --- a/tests/files/packet_fedora36-docker-weave.yml +++ b/tests/files/packet_fedora38-docker-weave.yml @@ -1,6 +1,6 @@ --- # Instance settings -cloud_image: fedora-36 +cloud_image: fedora-38 mode: default # Kubespray settings diff --git a/tests/files/packet_fedora36-kube-ovn.yml b/tests/files/packet_fedora38-kube-ovn.yml similarity index 79% rename from tests/files/packet_fedora36-kube-ovn.yml rename to tests/files/packet_fedora38-kube-ovn.yml index 7028aaa30..bc4ab5b52 100644 --- a/tests/files/packet_fedora36-kube-ovn.yml +++ b/tests/files/packet_fedora38-kube-ovn.yml @@ -1,6 +1,6 @@ --- # Instance settings -cloud_image: fedora-36 +cloud_image: fedora-38 mode: default # Kubespray settings diff --git a/tests/files/vagrant_fedora35-kube-router.rb b/tests/files/vagrant_fedora37-kube-router.rb similarity index 95% rename from tests/files/vagrant_fedora35-kube-router.rb rename to tests/files/vagrant_fedora37-kube-router.rb index 752ac7f06..54bcd75fa 100644 --- a/tests/files/vagrant_fedora35-kube-router.rb +++ b/tests/files/vagrant_fedora37-kube-router.rb @@ -1,6 +1,6 @@ $num_instances = 2 $vm_memory ||= 2048 -$os = "fedora35" +$os = "fedora37" $kube_master_instances = 1 $etcd_instances = 1 diff --git a/tests/files/vagrant_fedora35-kube-router.yml b/tests/files/vagrant_fedora37-kube-router.yml similarity index 80% rename from tests/files/vagrant_fedora35-kube-router.yml rename to tests/files/vagrant_fedora37-kube-router.yml index 258499489..2cee42120 100644 --- a/tests/files/vagrant_fedora35-kube-router.yml +++ b/tests/files/vagrant_fedora37-kube-router.yml @@ -1,6 +1,6 @@ --- # Instance settings -cloud_image: fedora-35 +cloud_image: fedora-37 mode: default # Kubespray settings