e5c1790be7
We use latest/stable by default which very recently updated to 1.29/stable. Unfortunately it appears there are issues [0] with this version on Debian Bookworm which also happens to be the platform we test on. Our jobs have been consistently failing in a manner that appears related to this issue. Update the job to collect logs so that we can better confirm this is the case and rollback to 1.28 which should be working. Also update the AWS tests to handle a recent moto release which requires us to use mock_aws rather than individual mock_* classes. [0] https://github.com/canonical/microk8s/issues/4361 Change-Id: I72310521bdabfc3e34a9f2e87ff80f6d7c27c180 Co-Authored-By: James E. Blair <jim@acmegating.com> Co-Authored-By: Jeremy Stanley <fungi@yuggoth.org>
306 lines
11 KiB
YAML
306 lines
11 KiB
YAML
- job:
|
|
description: |
|
|
Test that nodepool works with kubernetes.
|
|
name: nodepool-functional-k8s
|
|
pre-run: playbooks/nodepool-functional-k8s/pre.yaml
|
|
run: playbooks/nodepool-functional-k8s/run.yaml
|
|
post-run: playbooks/nodepool-functional-k8s/post.yaml
|
|
required-projects:
|
|
- zuul/nodepool
|
|
nodeset: debian-bookworm
|
|
|
|
- secret:
|
|
name: nodepool-registry-credentials
|
|
data:
|
|
quay.io:
|
|
username: zuul-ci+opendevzuul
|
|
password: !encrypted/pkcs1-oaep
|
|
- UzvPj5Dpro6eKDiAjCehYrm25f0auDdSh4UqDbcoVaqhGDXOFh3p1UCE46NxgE5Cuy210
|
|
uOUXhvPL14s4BwwfQT8JMYFLnnJapEJTETBNIz9WQx/7AsKWiCiArovRwXKoZ3984Akk3
|
|
CppNtnxrhxA+Cd9gdYUiAme6tr686UfN2MLvZOlfhCZ2roWfKY1qu/Ceo8CTmiYmuegFH
|
|
iaWbgg/g4/8IZ+r9+xecBhSyTYj0C/jKUU6dvXDr2Q5tAfqEJN2pAetO6ElMW88gPCHyo
|
|
BoYV0iBNVRBcfGVrzRRPD7Tyy6wrdQnpIGulUCn3s4v4Ds636a7JwCWn/g7gWxbi3tnxh
|
|
vi1qKtzJ/f1NDCuGdy3wbfqo0emBzb6a155WytGxBRUXP4fpPTaGTKwKtJ1wIJ+fPrIc8
|
|
E8Z3xJS8M4FC+VaJL+g7/JxIYJAuYwa0W8fKLo9WBKWnRfOmikwSwqe3Yr85ZR5yrpSBy
|
|
ish0WSbIXLG3X9jgTWCAPDNrH/icwwBfEdfjHC2TnOVQmuP7qbzS3p5EQohArKmRCEitb
|
|
oavnn7EDev0uyibyD9FQRhCdVzlfO+bA5fq7MaDaqs33J/oEcvvhKN93kKV01khBZFIpg
|
|
5EXi9mbFMKiNBAx4wzxvSBIOQmZwrNsxCBZ1RLTqmX5mSmAngEvwOUWacA8r/4=
|
|
api_token: !encrypted/pkcs1-oaep
|
|
- nx/eF0tDwNN4Hhm38HIXhaHHO/IM6KoaHtUIgQOdlQvE2RwixAcSG8b4OCJe5zVVrGtjj
|
|
MGsRC0qR8tNifsM6Lp005B+cYq7zgWFdeTtlFzYcZZkPZkIIlycfwKBAEJJ8gPwEOkh6D
|
|
+D7MbC0+KhHnPMLh1jGng1tF6ekpWMsZ0qPIseYGoPe4RiM68kFBEI6rw1yZr43Q7aW40
|
|
iWPK4ve2P8ACZX0vvCsiJdhjv3TIJNqY9B85oiwKBLjDxeHsAFiCfjQ126WuHw5qrY19+
|
|
q64X3X7LSb284Tgb5zd7lm2lxPkNDY1eiLD0FN1ehnKRA3x7NCn4MeZUftVpC5hYMpBDJ
|
|
2eJbuYhlvoBx7Dfb9ytV0b9rb6iuWd9W75ebSyLMiznur0e1nk8QVRWqwEBUpwCXm89W6
|
|
pq1mBdi071Iqti3gQP/toSwgzzkqFZr3EGZPnD/dhHxfWNsGV7mAYGVlp09eet20EJ6Gw
|
|
iCmxoFA7SZgj598MURNL7nbKGE2R4giDaBD1fEIrONVuk71u3AGDR2FKkKnRyjMNcPa86
|
|
8CzjqGaMBmK394Jh5EklN2hI2J2FiGAq+cGvuXT3mIcG/DtpDKreRIdnPgBRG/ih7EJac
|
|
of0pW1Z02wJQifV6bI2ONe9E7W6wmhRQhfXq3iJcWWLb42OI8ZWQQx4qdy6LN4=
|
|
|
|
- job:
|
|
name: nodepool-build-image
|
|
parent: opendev-build-container-image
|
|
description: Build container images.
|
|
timeout: &image_build_timeout 4800
|
|
dependencies:
|
|
- opendev-buildset-registry
|
|
requires:
|
|
- python-builder-3.11-bookworm-container-image
|
|
- python-base-3.11-bookworm-container-image
|
|
provides: nodepool-container-image
|
|
vars: &nodepool_image_vars
|
|
promote_container_image_method: intermediate-registry
|
|
promote_container_image_job: nodepool-upload-image
|
|
container_command: docker
|
|
container_images:
|
|
- context: .
|
|
registry: quay.io
|
|
repository: quay.io/zuul-ci/nodepool
|
|
target: nodepool
|
|
tags:
|
|
# If zuul.tag is defined: [ '3', '3.19', '3.19.0' ]. Only works for 3-component tags.
|
|
# Otherwise: ['latest']
|
|
&imagetag "{{ zuul.tag is defined | ternary([zuul.get('tag', '').split('.')[0], '.'.join(zuul.get('tag', '').split('.')[:2]), zuul.get('tag', '')], ['latest']) }}"
|
|
arch:
|
|
- linux/amd64
|
|
- linux/arm64
|
|
- context: .
|
|
registry: quay.io
|
|
repository: quay.io/zuul-ci/nodepool-launcher
|
|
target: nodepool-launcher
|
|
tags: *imagetag
|
|
arch:
|
|
- linux/amd64
|
|
- linux/arm64
|
|
- context: .
|
|
registry: quay.io
|
|
repository: quay.io/zuul-ci/nodepool-builder
|
|
target: nodepool-builder
|
|
tags: *imagetag
|
|
arch:
|
|
- linux/amd64
|
|
- linux/arm64
|
|
|
|
- job:
|
|
name: nodepool-upload-image
|
|
parent: opendev-upload-container-image
|
|
description: Build container images and upload.
|
|
timeout: *image_build_timeout
|
|
requires:
|
|
- python-builder-3.11-bookworm-container-image
|
|
- python-base-3.11-bookworm-container-image
|
|
provides: nodepool-container-image
|
|
vars: *nodepool_image_vars
|
|
secrets:
|
|
- name: container_registry_credentials
|
|
secret: nodepool-registry-credentials
|
|
pass-to-parent: true
|
|
|
|
- job:
|
|
name: nodepool-promote-image
|
|
parent: opendev-promote-container-image
|
|
description: Promote previously uploaded container images.
|
|
vars: *nodepool_image_vars
|
|
secrets:
|
|
- name: container_registry_credentials
|
|
secret: nodepool-registry-credentials
|
|
pass-to-parent: true
|
|
|
|
# NOTE(ianw) : kept separate as these aren't intended to be released
|
|
- job:
|
|
name: nodepool-build-image-siblings
|
|
dependencies:
|
|
- opendev-buildset-registry
|
|
parent: opendev-build-container-image
|
|
description: Build container images, with required projects as sibling from source
|
|
required-projects:
|
|
- zuul/nodepool
|
|
- openstack/diskimage-builder
|
|
requires:
|
|
- python-builder-3.11-bookworm-container-image
|
|
- python-base-3.11-bookworm-container-image
|
|
provides: nodepool-siblings-container-image
|
|
vars:
|
|
zuul_work_dir: "{{ zuul.projects['opendev.org/zuul/nodepool'].src_dir }}"
|
|
container_images:
|
|
- context: .
|
|
registry: quay.io
|
|
repository: quay.io/zuul-ci/nodepool-launcher
|
|
target: nodepool-launcher
|
|
tags:
|
|
- siblings
|
|
- context: .
|
|
registry: quay.io
|
|
repository: quay.io/zuul-ci/nodepool-builder
|
|
target: nodepool-builder
|
|
tags:
|
|
- siblings
|
|
siblings:
|
|
- opendev.org/openstack/diskimage-builder
|
|
|
|
- job:
|
|
name: nodepool-functional-container-openstack-base
|
|
abstract: true
|
|
description: |
|
|
Test Nodepool containers with an OpenStack.
|
|
|
|
Note this is an abstract job and does not define an image to
|
|
build and test, and you should not inherit directly from this
|
|
job.
|
|
|
|
If you wish to build the nodepool containers with released
|
|
dependencies, you should inherit from
|
|
nodepool-functional-container-openstack-release-base and define
|
|
nodepool_diskimage for the image to build and test.
|
|
|
|
If you wish to build the nodepool containers with dependencies
|
|
installed from source, you should inherit from
|
|
nodepool-functional-container-openstack-siblings-base and define
|
|
nodepool_diskimage for the image build and test.
|
|
timeout: 5400
|
|
required-projects:
|
|
- zuul/nodepool
|
|
pre-run: playbooks/nodepool-functional-container-openstack/pre.yaml
|
|
run: playbooks/nodepool-functional-container-openstack/run.yaml
|
|
post-run: playbooks/nodepool-functional-container-openstack/post.yaml
|
|
vars:
|
|
zuul_copy_output:
|
|
/var/log/nodepool: logs
|
|
nodeset: ubuntu-jammy
|
|
|
|
- job:
|
|
name: nodepool-functional-container-openstack-release-base
|
|
abstract: true
|
|
description: |
|
|
Test Nodepool containers and OpenStack, against released
|
|
dependencies.
|
|
|
|
Note, this job does not define an image to build. It should be
|
|
inherited from and nodepool_diskimage defined.
|
|
parent: nodepool-functional-container-openstack-base
|
|
dependencies:
|
|
- nodepool-build-image
|
|
required-projects:
|
|
- name: opendev/glean # note, installed by dib
|
|
- name: zuul/nodepool
|
|
|
|
- job:
|
|
name: nodepool-functional-container-openstack-release
|
|
description: |
|
|
Test Nodepool containers and OpenStack, with released projects
|
|
|
|
This builds, uploads and boots a CentOS 8 image into a
|
|
OpenStack cloud.
|
|
parent: nodepool-functional-container-openstack-release-base
|
|
vars:
|
|
nodepool_diskimage:
|
|
base_element: centos-minimal
|
|
release: 9-stream
|
|
mirror: "http://{{ zuul_site_mirror_fqdn }}/centos"
|
|
env-vars:
|
|
DIB_SIMPLE_INIT_NETWORKMANAGER: '1'
|
|
|
|
- job:
|
|
name: nodepool-functional-container-openstack-siblings-base
|
|
abstract: true
|
|
description: |
|
|
Test Nodepool containers and OpenStack, with some projects from source
|
|
|
|
Note, this job does not define an image to build. It should be
|
|
inherited from and nodepool_diskimage defined.
|
|
parent: nodepool-functional-container-openstack-base
|
|
dependencies:
|
|
- nodepool-build-image-siblings
|
|
required-projects:
|
|
- name: opendev/glean # note, installed by dib
|
|
- name: zuul/nodepool
|
|
vars:
|
|
nodepool_container_tag: ':siblings'
|
|
|
|
- job:
|
|
name: nodepool-functional-container-openstack-siblings
|
|
description: |
|
|
Test Nodepool containers and OpenStack, with some projects from source
|
|
|
|
This builds, uploads and boots a CentOS 8 image into a
|
|
OpenStack cloud.
|
|
parent: nodepool-functional-container-openstack-siblings-base
|
|
vars:
|
|
nodepool_diskimage:
|
|
base_element: centos-minimal
|
|
release: 9-stream
|
|
mirror: "http://{{ zuul_site_mirror_fqdn }}/centos"
|
|
env-vars:
|
|
DIB_SIMPLE_INIT_NETWORKMANAGER: '1'
|
|
|
|
- job:
|
|
name: nodepool-nox-py311
|
|
description: |
|
|
Nodepool unit tests with ZooKeeper running
|
|
parent: nox-py311
|
|
pre-run: playbooks/nodepool-nox/pre.yaml
|
|
vars:
|
|
nox_environment:
|
|
NODEPOOL_ZK_CA: /opt/zookeeper/ca/certs/cacert.pem
|
|
NODEPOOL_ZK_CERT: /opt/zookeeper/ca/certs/client.pem
|
|
NODEPOOL_ZK_KEY: /opt/zookeeper/ca/keys/clientkey.pem
|
|
nodeset: ubuntu-jammy
|
|
|
|
- project:
|
|
queue: zuul
|
|
vars:
|
|
release_python: python3
|
|
check:
|
|
jobs:
|
|
- opendev-buildset-registry
|
|
- nodepool-build-image
|
|
- zuul-nox-docs:
|
|
vars:
|
|
nox_force_python: "3.11"
|
|
python_version: "3.11"
|
|
- nox-linters:
|
|
nodeset: ubuntu-jammy
|
|
- nodepool-nox-py311
|
|
- nodepool-functional-container-openstack-release
|
|
- nodepool-functional-k8s
|
|
- zuul-quick-start:
|
|
requires: zuul-container-image
|
|
dependencies: nodepool-build-image
|
|
- build-python-release
|
|
gate:
|
|
jobs:
|
|
- nodepool-upload-image
|
|
- zuul-nox-docs:
|
|
vars:
|
|
nox_force_python: "3.11"
|
|
python_version: "3.11"
|
|
- nox-linters:
|
|
nodeset: ubuntu-jammy
|
|
- nodepool-nox-py311
|
|
- nodepool-functional-k8s
|
|
- zuul-quick-start:
|
|
requires: zuul-container-image
|
|
dependencies: nodepool-upload-image
|
|
- build-python-release
|
|
promote:
|
|
jobs:
|
|
- nodepool-promote-image
|
|
- zuul-promote-nox-docs
|
|
- opendev-promote-python
|
|
release:
|
|
jobs:
|
|
- opendev-release-python
|
|
- zuul-publish-nox-docs:
|
|
vars:
|
|
nox_force_python: "3.11"
|
|
python_version: "3.11"
|
|
- upload-container-image:
|
|
timeout: *image_build_timeout
|
|
secrets:
|
|
name: container_registry_credentials
|
|
secret: nodepool-registry-credentials
|
|
pass-to-parent: true
|
|
vars:
|
|
<<: *nodepool_image_vars
|
|
upload_container_image_promote: false
|