diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..c6a80ac53 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,68 @@ +- job: + name: packstack-base + parent: base + timeout: 3600 + nodeset: centos-7 + pre-run: playbooks/packstack-pre + run: playbooks/packstack-integration-tempest + post-run: playbooks/upload-logs + nodeset: centos-7 + irrelevant-files: + - ^docs/.*$ + - ^releasenotes/.*$ + required-projects: + - openstack/packstack + - openstack/puppet-aodh + - openstack/puppet-ceilometer + - openstack/puppet-cinder + - openstack/puppet-glance + - openstack/puppet-gnocchi + - openstack/puppet-heat + - openstack/puppet-magnum + - openstack/puppet-horizon + - openstack/puppet-ironic + - openstack/puppet-keystone + - openstack/puppet-manila + - openstack/puppet-neutron + - openstack/puppet-nova + - openstack/puppet-openstack_extras + - openstack/puppet-openstacklib + - openstack/puppet-oslo + - openstack/puppet-ovn + - openstack/puppet-panko + - openstack/puppet-sahara + - openstack/puppet-swift + - openstack/puppet-tempest + - openstack/puppet-trove + - openstack/puppet-vswitch + +- job: + name: packstack-integration-scenario001-tempest + parent: packstack-base + vars: + scenario: scenario001 + +- job: + name: packstack-integration-scenario002-tempest + parent: packstack-base + vars: + scenario: scenario002 + +- job: + name: packstack-integration-scenario003-tempest + parent: packstack-base + vars: + scenario: scenario003 + +- project: + name: openstack/packstack + check: + jobs: + - packstack-integration-scenario001-tempest + - packstack-integration-scenario002-tempest + - packstack-integration-scenario003-tempest + gate: + jobs: + - packstack-integration-scenario001-tempest + - packstack-integration-scenario002-tempest + - packstack-integration-scenario003-tempest diff --git a/playbooks/packstack-integration-tempest.yaml b/playbooks/packstack-integration-tempest.yaml new file mode 100644 index 000000000..bb6a87987 --- /dev/null +++ b/playbooks/packstack-integration-tempest.yaml @@ -0,0 +1,13 @@ +- hosts: all + name: packstack-integration-tempest + tasks: + - shell: + cmd: | + set -e + set -x + export SCENARIO='{{ scenario }}' + ./run_tests.sh + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace/packstack' + environment: '{{ zuul }}' + diff --git a/playbooks/packstack-pre.yaml b/playbooks/packstack-pre.yaml new file mode 100644 index 000000000..9a3014738 --- /dev/null +++ b/playbooks/packstack-pre.yaml @@ -0,0 +1,26 @@ +- hosts: all + name: packstack-pre + tasks: + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + cp -pr /home/zuul/src/git.openstack.org/openstack/packstack {{ ansible_user_dir }}/workspace + + - shell: + cmd: | + set -e + set -x + yum -y remove rdo-release "centos-release-openstack-*" "centos-release-ceph-*" + yum -y install libxml2-devel libxslt-devel ruby-devel zlib-devel + yum -y groupinstall "Development Tools" + # Uninstall python-requests from pip, since we install it in + # system-config/install_puppet.sh + pip uninstall requests -y || true + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + become: true + environment: '{{ zuul }}' diff --git a/playbooks/upload-logs.yaml b/playbooks/upload-logs.yaml new file mode 100644 index 000000000..a946b2e86 --- /dev/null +++ b/playbooks/upload-logs.yaml @@ -0,0 +1,15 @@ +- hosts: all + tasks: + - name: Upload logs + synchronize: + src: '/tmp/logs' + dest: '{{ zuul.executor.log_root }}' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/logs/** + - --include=*/ + - --exclude=* + - --prune-empty-dirs + diff --git a/run_tests.sh b/run_tests.sh index 39ef678e7..c94e7b315 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -43,7 +43,6 @@ install_external() { # - ``PUPPETFILE_DIR`` must be set to Puppet modules directory # - ``ZUUL_REF`` must be set to Zuul ref. Fallback to 'None'. # - ``ZUUL_BRANCH`` must be set to Zuul branch. Fallback to 'master'. -# - ``ZUUL_URL`` must be set to Zuul URL install_openstack() { cat > clonemap.yaml <