- 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: name: nodepool-functional-openstack-base description: | Test Nodepool with an OpenStack. Sets up a working OpenStack system, builds an image, launches a node, and verifies SSH access to the node. .. zuul:jobvar:: nodepool_extra_packages :type: list A list of extra packages to install at the start of the job (i.e., anything needed for the DIB build). .. zuul:jobvar:: nodepool_diskimage :type: dict .. zuul:jobvar:: base_element The base element to use when building the disk image. .. zuul:jobvar:: release The release number or name to use with the base element. .. zuul:jobvar:: mirror The URL for the package mirror to use when building the disk image. This is optional. .. zuul:jobvar:: env-vars :type: dict A dictionary of environment variables and values to add to the DIB environment when building the image. timeout: 5400 required-projects: - zuul/nodepool pre-run: playbooks/nodepool-functional-openstack/pre.yaml run: playbooks/nodepool-functional-openstack/run.yaml post-run: playbooks/nodepool-functional-openstack/post.yaml vars: zuul_copy_output: /var/log/nodepool: logs - job: name: nodepool-functional-openstack description: Test Nodepool with an OpenStack parent: nodepool-functional-openstack-base vars: &nodepool_diskimage_vars nodepool_extra_packages: - rpm - yum-utils nodepool_diskimage: base_element: centos-minimal release: 7 mirror: "http://{{ zuul_site_mirror_fqdn }}/centos" env-vars: DIB_SIMPLE_INIT_NETWORKMANAGER: '1' - job: name: nodepool-functional-openstack-src-base description: Test Nodepool and OpenStack, with some projects from source parent: nodepool-functional-openstack-base required-projects: - name: github.com/sqlalchemy/dogpile.cache - name: opendev/glean - name: zuul/nodepool - name: openstack/diskimage-builder - name: openstack/openstacksdk - job: name: nodepool-functional-openstack-src description: Test Nodepool and OpenStack, with some projects from source parent: nodepool-functional-openstack required-projects: - name: github.com/sqlalchemy/dogpile.cache - name: opendev/glean - name: zuul/nodepool - name: openstack/diskimage-builder - name: openstack/openstacksdk vars: *nodepool_diskimage_vars # NOTE(ianw): this job doesn't really do anything unless you set # "NODEPOOL_PAUSE_something_DIB: false" to unpause one or more builds. - job: name: nodepool-functional-base parent: devstack # NOTE(ianw): for now, keep these jobs as Xenial only. We will # add bionic variants, but we want to keep Xenial testing around # whilst we still run Xenial for upstream nodepool-builders too nodeset: openstack-single-node-xenial pre-run: playbooks/nodepool-functional-base/pre.yaml post-run: playbooks/nodepool-functional-base/post.yaml timeout: 5400 required-projects: - zuul/nodepool vars: devstack_localrc: USE_PYTHON3: True devstack_services: horizon: false ceilometer-acentral: false ceilometer-acompute: false ceilometer-alarm-evaluator: false ceilometer-alarm-notifier: false ceilometer-anotification: false ceilometer-api: false ceilometer-collector: false cinder: false c-bak: false c-sch: false c-api: false c-vol: false s-account: false s-container: false s-object: false s-proxy: false # Nodepool doesn't need vnc access n-novnc: false # Nodepool testing uses config drive only n-api-meta: false q-meta: false devstack_plugins: nodepool: https://opendev.org/zuul/nodepool zuul_copy_output: '/var/log/nodepool/builds': 'logs' - job: name: nodepool-functional-py35 parent: nodepool-functional-base description: | Run nodepool functional tests for py35 run: playbooks/nodepool-functional-py35/run.yaml vars: devstack_localrc: NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB: false - job: name: nodepool-functional-py35-src-base parent: nodepool-functional-base run: playbooks/nodepool-functional-py35-src/run.yaml required-projects: - name: github.com/sqlalchemy/dogpile.cache - name: opendev/glean - name: zuul/nodepool - name: openstack/diskimage-builder - name: openstack/openstacksdk - job: name: nodepool-functional-py35-src parent: nodepool-functional-py35-src-base vars: devstack_localrc: NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB: false # Distro functional tests. This is used by projects such as # diskimage-builder and glean as live-boot tests - job: name: nodepool-functional-py35-redhat-src parent: nodepool-functional-py35-src-base vars: devstack_localrc: NODEPOOL_PAUSE_CENTOS_7_DIB: false NODEPOOL_PAUSE_FEDORA_29_DIB: false - job: name: nodepool-functional-py35-suse-src parent: nodepool-functional-py35-src-base vars: devstack_localrc: NODEPOOL_PAUSE_OPENSUSE_423_DIB: false NODEPOOL_PAUSE_OPENSUSE_150_DIB: false NODEPOOL_PAUSE_OPENSUSE_TUMBLEWEED_DIB: false - job: name: nodepool-functional-py35-gentoo-src parent: nodepool-functional-py35-src-base vars: devstack_localrc: NODEPOOL_PAUSE_GENTOO_17_0_SYSTEMD_DIB: false - job: name: nodepool-functional-py35-ubuntu-src parent: nodepool-functional-py35-src-base vars: devstack_localrc: NODEPOOL_PAUSE_UBUNTU_BIONIC_DIB: false NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB: false NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB: false - job: name: nodepool-functional-py35-debian-src parent: nodepool-functional-py35-src-base vars: devstack_localrc: NODEPOOL_PAUSE_DEBIAN_STRETCH_DIB: false NODEPOOL_PAUSE_DEBIAN_BUSTER_DIB: false - 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 nodeset: ubuntu-xenial 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: - name: cluster label: centos-7 - name: launcher label: fedora-28 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. vars: &nodepool_image_vars docker_images: - context: . repository: zuul/nodepool target: nodepool - context: . repository: zuul/nodepool-launcher target: nodepool-launcher - context: . repository: zuul/nodepool-builder target: nodepool-builder - job: name: nodepool-upload-image parent: opendev-upload-docker-image description: Build Docker images and upload to Docker Hub. 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 - project: check: jobs: - nodepool-build-image - tox-docs - tox-pep8 - tox-py35: nodeset: ubuntu-xenial - tox-py36 - nodepool-zuul-functional: voting: false - nodepool-functional-openstack - nodepool-functional-openstack-src - nodepool-functional-k8s - nodepool-functional-openshift - zuul-quick-start: dependencies: nodepool-build-image gate: jobs: - nodepool-upload-image - tox-docs - tox-pep8 - tox-py35: nodeset: ubuntu-xenial - tox-py36 - zuul-quick-start: dependencies: nodepool-upload-image post: jobs: - publish-zuul-docs - release-zuul-python promote: jobs: - nodepool-promote-image experimental: jobs: - nodepool-functional-py35-debian-src release: jobs: - release-zuul-python - publish-zuul-docs