![Ian Wienand](/assets/img/avatar_default.png)
This fixes libffi bindep installation on Ubuntu Focal The Python 3.6 tox tests are switched back to bionic, as Focal nodes don't have Python 3.6. Additionally, we squashed the following change into this to unblock the gate: Remove nodepool-functional-openstack This test installs devstack and then nodepool on a bionic host (in contrast to the -containers variant that builds a container from the Dockerfile and installs/runs that). Firstly, devstack support for Bionic is going away soon so we have to update this. We don't really need to test if we run ontop of a plain Bionic/Focal host. We have tox jobs testing various Python versions for compatability, so running on here isn't providing any extra coverage. DIB can't build many things on plain Bionic/Focal due to updates or incompatabilities in "alien" versions of RPM, Zypper, debootstrap, etc. The container incorporates fixes as required and is where anyone is going to put attention if there are build issues; hence we're not testing anything useful for image building paths. Finally we also have nodepool-zuul-functional, which brings up Zuul and nodepool on a plain Bionic host anyway. Per the prior reasons, that covers basically the same thing this is providing anyway. openstacksdk is using this on older branches, but is switched to using the container job in the dependent changes. Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788414 Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788416 Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788418 Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/788420 Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/788404 (was : Change-Id: I87318e9101b982f3cafcf82439fdcb68767b602b) Change-Id: Ifc74e6958f64be70386cdb3e05768d94db75c3bb
325 lines
11 KiB
YAML
325 lines
11 KiB
YAML
- job:
|
|
name: nodepool-zuul-functional
|
|
parent: tox
|
|
description: |
|
|
Test that zuul works with current nodepool sources.
|
|
|
|
This test runs the zuul project ``nodepool`` environment.
|
|
pre-run: playbooks/nodepool-zuul-functional/pre.yaml
|
|
post-run: playbooks/nodepool-zuul-functional/post.yaml
|
|
required-projects:
|
|
- zuul/nodepool
|
|
- zuul/zuul
|
|
vars:
|
|
zuul_work_dir: "{{ zuul.projects['opendev.org/zuul/zuul'].src_dir }}"
|
|
tox_envlist: nodepool
|
|
|
|
- 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
|
|
|
|
- job:
|
|
description: |
|
|
Test that nodepool works with openshift.
|
|
name: nodepool-functional-openshift
|
|
pre-run: playbooks/nodepool-functional-openshift/pre.yaml
|
|
run: playbooks/nodepool-functional-openshift/run.yaml
|
|
nodeset:
|
|
nodes:
|
|
# Runs openshift
|
|
- name: cluster
|
|
label: centos-7
|
|
# Runs nodepool
|
|
- name: launcher
|
|
label: fedora-32
|
|
required-projects:
|
|
- zuul/nodepool
|
|
|
|
- secret:
|
|
name: nodepool-dockerhub
|
|
data:
|
|
username: zuulzuul
|
|
password: !encrypted/pkcs1-oaep
|
|
- VV5m4XbsYvAz0/7T+WoIypvD3ijRsPYrGo4O5JuOHt6TX14s9B1KddeMwnabEEKapPdbb
|
|
cwqbzFKoHRMi8DdXiDKxrgbTSC1jb3BvKq7XE0/xF4Bq2dM+r3yDnXS6a7BuijSqFSiMG
|
|
/9bf0jqEAWXWCvbYUAxKOklJIRLjcKywCP5CulmW6EV8f1Iya8Y7UGpjGyL34FVQuc52Y
|
|
5MLp+Dra95pvBJMgikbu7LtMPCXOMctUFBpwNArCjWKGhz00UZwyAmsbPPHwQWb+884ZP
|
|
v9zi2FuRAL+rn4DRVwyIw28ZdCEr5F5EkZon3lSIhikhdQIyHPtW8VwMJTL4RxBdmgcEt
|
|
+zZBbLlOU+0AHPGLlO/yQNvHeSzwY9pe2oIGuqSu3h6zp6Y0NIE/Q0VpiIXWpOAnLOmno
|
|
uOd3j9tZ1beol2mg4Yk7rOaXu1Fvtfhd1K3LpLzEbiGzCMIEZuFHU2ZInAbUmtm0BtbDa
|
|
/bYvI9dB/uqA2xgse5rVMa++v3AfWJTJhFY/wBU4fHOWlFBUZKFuSoijUcWMfnfMMyU2B
|
|
A5CQKhv4Wmtzbvo/oneYkwFOTYaPNj2DS0BcFJFkR8FZDYmTBPnKoBH5wpwwnrzPOpCMa
|
|
L21z+Vp1Vce1XCsaOduMrmZDvuQcK1YOKIIUeElAQw8GuwTfcXqekoPvp54SeE=
|
|
|
|
- job:
|
|
name: nodepool-build-image
|
|
parent: opendev-build-docker-image
|
|
description: Build Docker images.
|
|
timeout: &image_build_timeout 4800
|
|
dependencies:
|
|
- opendev-buildset-registry
|
|
requires:
|
|
- python-builder-3.8-container-image
|
|
- python-base-3.8-container-image
|
|
provides: nodepool-container-image
|
|
vars: &nodepool_image_vars
|
|
docker_images:
|
|
- context: .
|
|
repository: zuul/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: .
|
|
repository: zuul/nodepool-launcher
|
|
target: nodepool-launcher
|
|
tags: *imagetag
|
|
arch:
|
|
- linux/amd64
|
|
- linux/arm64
|
|
- context: .
|
|
repository: zuul/nodepool-builder
|
|
target: nodepool-builder
|
|
tags: *imagetag
|
|
arch:
|
|
- linux/amd64
|
|
- linux/arm64
|
|
|
|
- job:
|
|
name: nodepool-upload-image
|
|
parent: opendev-upload-docker-image
|
|
description: Build Docker images and upload to Docker Hub.
|
|
timeout: *image_build_timeout
|
|
requires:
|
|
- python-builder-3.8-container-image
|
|
- python-base-3.8-container-image
|
|
provides: nodepool-container-image
|
|
vars: *nodepool_image_vars
|
|
secrets:
|
|
- name: docker_credentials
|
|
secret: nodepool-dockerhub
|
|
pass-to-parent: true
|
|
|
|
- job:
|
|
name: nodepool-promote-image
|
|
parent: opendev-promote-docker-image
|
|
description: Promote previously uploaded Docker images.
|
|
vars: *nodepool_image_vars
|
|
secrets:
|
|
- name: docker_credentials
|
|
secret: nodepool-dockerhub
|
|
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-docker-image
|
|
description: Build container images, with required projects as sibling from source
|
|
required-projects:
|
|
- zuul/nodepool
|
|
- openstack/diskimage-builder
|
|
- openstack/openstacksdk
|
|
requires:
|
|
- python-builder-3.8-container-image
|
|
- python-base-3.8-container-image
|
|
provides: nodepool-siblings-container-image
|
|
vars:
|
|
zuul_work_dir: "{{ zuul.projects['opendev.org/zuul/nodepool'].src_dir }}"
|
|
docker_images:
|
|
- context: .
|
|
repository: zuul/nodepool-launcher
|
|
target: nodepool-launcher
|
|
tags:
|
|
- siblings
|
|
siblings:
|
|
- opendev.org/openstack/openstacksdk
|
|
- context: .
|
|
repository: zuul/nodepool-builder
|
|
target: nodepool-builder
|
|
tags:
|
|
- siblings
|
|
siblings:
|
|
- opendev.org/openstack/openstacksdk
|
|
- 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
|
|
|
|
- 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: 8
|
|
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: 8
|
|
mirror: "http://{{ zuul_site_mirror_fqdn }}/centos"
|
|
env-vars:
|
|
DIB_SIMPLE_INIT_NETWORKMANAGER: '1'
|
|
|
|
- job:
|
|
name: nodepool-tox-py36
|
|
description: |
|
|
Nodepool unit tests with ZooKeeper running
|
|
parent: tox-py36
|
|
nodeset: ubuntu-bionic
|
|
pre-run: playbooks/nodepool-tox/pre.yaml
|
|
vars: &nodepool_tox_vars
|
|
tox_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
|
|
|
|
- job:
|
|
name: nodepool-tox-py38
|
|
description: |
|
|
Nodepool unit tests with ZooKeeper running
|
|
parent: tox-py38
|
|
pre-run: playbooks/nodepool-tox/pre.yaml
|
|
vars: *nodepool_tox_vars
|
|
|
|
- project:
|
|
vars:
|
|
release_python: python3
|
|
check:
|
|
jobs:
|
|
- opendev-buildset-registry
|
|
- nodepool-build-image
|
|
- nodepool-build-image-siblings
|
|
- zuul-tox-docs
|
|
- tox-pep8
|
|
- nodepool-tox-py36
|
|
- nodepool-tox-py38
|
|
- nodepool-zuul-functional:
|
|
voting: false
|
|
- nodepool-functional-container-openstack-release
|
|
- nodepool-functional-container-openstack-siblings
|
|
- nodepool-functional-k8s
|
|
- nodepool-functional-openshift
|
|
- zuul-quick-start:
|
|
requires: zuul-container-image
|
|
dependencies: nodepool-build-image
|
|
- build-python-release
|
|
gate:
|
|
jobs:
|
|
- nodepool-upload-image
|
|
- zuul-tox-docs
|
|
- tox-pep8
|
|
- nodepool-tox-py36
|
|
- nodepool-tox-py38
|
|
- nodepool-functional-k8s
|
|
- nodepool-functional-openshift
|
|
- zuul-quick-start:
|
|
requires: zuul-container-image
|
|
dependencies: nodepool-upload-image
|
|
- build-python-release
|
|
promote:
|
|
jobs:
|
|
- nodepool-promote-image
|
|
- zuul-promote-docs
|
|
- opendev-promote-python
|
|
release:
|
|
jobs:
|
|
- opendev-release-python
|
|
- zuul-publish-tox-docs
|
|
- upload-docker-image:
|
|
timeout: *image_build_timeout
|
|
secrets:
|
|
name: docker_credentials
|
|
secret: nodepool-dockerhub
|
|
pass-to-parent: true
|
|
vars:
|
|
<<: *nodepool_image_vars
|
|
upload_docker_image_promote: false
|