From 339b108aeeaaa19a979153b140f41d9ab0f1a426 Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Tue, 17 Oct 2017 16:14:08 -0700 Subject: [PATCH] Add a Zuul v3 native cross-check job Convert the existing legacy-cross-* jobs over to the new cross-check-job. Adds a small bump to upper-constraints in order to test the success of this review. Co-Authored-By: Dirk Mueller Change-Id: Iba6a025e3a10185ad1d8217244b967713cace3f6 --- .zuul.d/cross-jobs.yaml | 136 +++++++++++++++++++++++++ .zuul.d/project.yaml | 99 +++++++----------- playbooks/requirements-cross-test.yaml | 5 + upper-constraints.txt | 2 +- 4 files changed, 177 insertions(+), 65 deletions(-) create mode 100644 .zuul.d/cross-jobs.yaml create mode 100644 playbooks/requirements-cross-test.yaml diff --git a/.zuul.d/cross-jobs.yaml b/.zuul.d/cross-jobs.yaml new file mode 100644 index 0000000000..7809669078 --- /dev/null +++ b/.zuul.d/cross-jobs.yaml @@ -0,0 +1,136 @@ +- job: + name: requirements-cross-test + parent: openstack-tox + description: | + A parent job to perform cross-repository tests. + + Inherit from this job, and add the intended project to + ``required-projects``. + + Also, set the following variable: + + .. zuul:jobvar:: tox_envlist + + Use the specified tox environments (``ALL`` selects all). + run: playbooks/requirements-cross-test + files: ^upper-constraints.txt$ + +- job: + name: cross-cinder-py27 + parent: requirements-cross-test + description: Run cross-project tests on cinder with py27. + required-projects: openstack/cinder + vars: + tox_envlist: py27 + +- job: + name: cross-cinder-py35 + parent: requirements-cross-test + description: Run cross-project tests on cinder with py35. + required-projects: openstack/cinder + vars: + tox_envlist: py35 + +- job: + name: cross-glance-py27 + parent: requirements-cross-test + description: Run cross-project tests on glance with py27. + required-projects: openstack/glance + vars: + tox_envlist: py27 + +- job: + name: cross-glance-py35 + parent: requirements-cross-test + description: Run cross-project tests on glance with py35. + required-projects: openstack/glance + vars: + tox_envlist: py35 + +- job: + name: cross-horizon-py27 + parent: requirements-cross-test + description: Run cross-project tests on horizon with py27. + required-projects: openstack/horizon + vars: + tox_envlist: py27 + +- job: + name: cross-horizon-py35 + parent: requirements-cross-test + description: Run cross-project tests on horizon with py35. + required-projects: openstack/horizon + vars: + tox_envlist: py35 + +- job: + name: cross-keystone-py27 + parent: requirements-cross-test + description: Run cross-project tests on keystone with py27. + required-projects: openstack/keystone + vars: + tox_envlist: py27 + +- job: + name: cross-keystone-py35 + parent: requirements-cross-test + description: Run cross-project tests on keystone with py35. + required-projects: openstack/keystone + vars: + tox_envlist: py35 + +- job: + name: cross-neutron-py27 + parent: requirements-cross-test + description: Run cross-project tests on neutron with py27. + required-projects: openstack/neutron + vars: + tox_envlist: py27 + +- job: + name: cross-neutron-py35 + parent: requirements-cross-test + description: Run cross-project tests on neutron with py35. + required-projects: openstack/neutron + vars: + tox_envlist: py35 + +- job: + name: cross-nova-functional + parent: requirements-cross-test + description: Run cross-project functional tests on nova. + required-projects: openstack/nova + vars: + tox_envlist: functional + +- job: + name: cross-nova-py27 + parent: requirements-cross-test + description: Run cross-project tests on nova with py27. + required-projects: openstack/nova + vars: + tox_envlist: py27 + +- job: + name: cross-nova-py35 + parent: requirements-cross-test + description: Run cross-project tests on nova with py35. + required-projects: openstack/nova + vars: + tox_envlist: py35 + +- job: + name: cross-swift-py27 + parent: requirements-cross-test + description: Run cross-project tests on swift with py27. + required-projects: openstack/swift + vars: + tox_envlist: py27 + +- job: + name: cross-swift-py35 + parent: requirements-cross-test + description: Run cross-project tests on swift with py35. + required-projects: openstack/swift + vars: + tox_envlist: py35 diff --git a/.zuul.d/project.yaml b/.zuul.d/project.yaml index 622c9b14fb..349644c973 100644 --- a/.zuul.d/project.yaml +++ b/.zuul.d/project.yaml @@ -3,81 +3,52 @@ check: jobs: - openstack-tox-validate - - legacy-cross-cinder-python27: - files: ^upper-constraints.txt$ - - legacy-cross-cinder-python35: + - cross-cinder-py27 + - cross-cinder-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-glance-python27: - files: ^upper-constraints.txt$ - - legacy-cross-glance-python35: + - cross-glance-py27 + - cross-glance-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-horizon-python27: - files: ^upper-constraints.txt$ - - legacy-cross-horizon-python35: + - cross-horizon-py27 + - cross-horizon-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-keystone-python27: - files: ^upper-constraints.txt$ - - legacy-cross-keystone-python35: + - cross-keystone-py27 + - cross-keystone-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-neutron-python27: - files: ^upper-constraints.txt$ - - legacy-cross-neutron-python35: + - cross-neutron-py27 + - cross-neutron-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-nova-python27: - files: ^upper-constraints.txt$ - - legacy-cross-nova-python35: + - cross-nova-py27 + - cross-nova-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-nova-func: - files: ^upper-constraints.txt$ - - legacy-cross-swift-python27: - files: ^upper-constraints.txt$ - - legacy-cross-swift-python35: + - cross-nova-functional + - cross-swift-py27 + - cross-swift-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ gate: queue: integrated jobs: - openstack-tox-validate - - legacy-cross-cinder-python27: - files: ^upper-constraints.txt$ - - legacy-cross-cinder-python35: + - cross-cinder-py27 + - cross-cinder-py35: + branches: ^(?!stable/(newton|ocata)).*$ + - cross-glance-py27 + - cross-glance-py35: + branches: ^(?!stable/(newton|ocata)).*$ + - cross-horizon-py27 + - cross-horizon-py35: + branches: ^(?!stable/(newton|ocata)).*$ + - cross-keystone-py27 + - cross-keystone-py35: + branches: ^(?!stable/(newton|ocata)).*$ + - cross-neutron-py27 + - cross-neutron-py35: + branches: ^(?!stable/(newton|ocata)).*$ + - cross-nova-py27 + - cross-nova-py35: branches: ^(?!stable/(newton|ocata)).*$ files: ^upper-constraints.txt$ - - legacy-cross-glance-python27: - files: ^upper-constraints.txt$ - - legacy-cross-glance-python35: + - cross-nova-functional + - cross-swift-py27 + - cross-swift-py35: branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-horizon-python27: - files: ^upper-constraints.txt$ - - legacy-cross-horizon-python35: - branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-keystone-python27: - files: ^upper-constraints.txt$ - - legacy-cross-keystone-python35: - branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-neutron-python27: - files: ^upper-constraints.txt$ - - legacy-cross-neutron-python35: - branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-nova-python27: - files: ^upper-constraints.txt$ - - legacy-cross-nova-python35: - branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ - - legacy-cross-nova-func: - files: ^upper-constraints.txt$ - - legacy-cross-swift-python27: - files: ^upper-constraints.txt$ - - legacy-cross-swift-python35: - branches: ^(?!stable/(newton|ocata)).*$ - files: ^upper-constraints.txt$ diff --git a/playbooks/requirements-cross-test.yaml b/playbooks/requirements-cross-test.yaml new file mode 100644 index 0000000000..014f52d25b --- /dev/null +++ b/playbooks/requirements-cross-test.yaml @@ -0,0 +1,5 @@ +- hosts: all + roles: + - role: tox + zuul_work_dir: "{{ (zuul.projects | selectattr('required') | selectattr('name', 'match', '^(?!openstack/requirements)') | list)[0].src_dir }}" + tox_constraints_file: "{{ ansible_user_dir }}/src/git.openstack.org/openstack/requirements/upper-constraints.txt" diff --git a/upper-constraints.txt b/upper-constraints.txt index b69c8f0587..d0f7ae7d50 100644 --- a/upper-constraints.txt +++ b/upper-constraints.txt @@ -180,7 +180,7 @@ libvirt-python===3.8.0 python-zunclient===0.4.0 tzlocal===1.4 python-novaclient===9.1.1 -bcrypt===3.1.3 +bcrypt===3.1.4 os-client-config===1.28.0 XStatic-Angular-Gettext===2.3.8.0 Pygments===2.2.0