From 23e2c795ece376108ea38e4eedcfb5b7c1a74669 Mon Sep 17 00:00:00 2001 From: Csaba Henk Date: Tue, 2 Aug 2016 21:14:01 +0530 Subject: [PATCH] templatize Manila GlusterFS jobs These jobs are almost identical, so we can cut back on redundancy by merging them into a template. Also adding new instances of this template to have experimental jobs on Xenial. (Once they prove to be stable, we cut back on variety and move completely to Xenial.) Change-Id: I366493c75e07c2414c97781a01769dc052c4bb7e --- jenkins/jobs/manila.yaml | 80 +++++++------------------------------- jenkins/jobs/projects.yaml | 16 ++++++++ zuul/layout.yaml | 23 ++++++----- 3 files changed, 42 insertions(+), 77 deletions(-) diff --git a/jenkins/jobs/manila.yaml b/jenkins/jobs/manila.yaml index f170ad92b9..7037dd56a8 100644 --- a/jenkins/jobs/manila.yaml +++ b/jenkins/jobs/manila.yaml @@ -263,9 +263,9 @@ publishers: - console-log -- job: - name: gate-manila-tempest-dsvm-glusterfs - node: ubuntu-trusty +- job-template: + name: gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix} + node: '{node}' wrappers: - build-timeout: @@ -273,6 +273,8 @@ - timestamps builders: + - print-template-name: + template-name: "{template-name}" - link-logs - net-info - devstack-checkout @@ -281,7 +283,8 @@ export PYTHONUNBUFFERED=true export DEVSTACK_GATE_NEUTRON=1 export ENABLED_SERVICES=tempest - export PROJECTS="openstack/python-manilaclient openstack/devstack-plugin-glusterfs $PROJECTS" + export PROJECTS="openstack/python-manilaclient $PROJECTS" + export PROJECTS="openstack/devstack-plugin-glusterfs $PROJECTS" # Enable manila devstack plugin. Provided repo should be # cloned by zuul before devstack run and below provided link @@ -294,79 +297,22 @@ # Configure devstack-plugin-glusterfs to enable GlusterFS as a backend for Manila. export DEVSTACK_LOCAL_CONFIG+=$'\n'"CONFIGURE_GLUSTERFS_MANILA=True" - # Configure devstack-plugin-glusterfs to use glusterfs driver. - export DEVSTACK_LOCAL_CONFIG+=$'\n'"GLUSTERFS_MANILA_DRIVER_TYPE=glusterfs" + # Configure devstack-plugin-glusterfs to use respective GlusterFS driver variant. + export DEVSTACK_LOCAL_CONFIG+=$'\n'"GLUSTERFS_MANILA_DRIVER_TYPE=glusterfs-{variant}" # Keep localrc to be able to set some vars in pre_test_hook export KEEP_LOCALRC=1 - function pre_test_hook { + function pre_test_hook {{ # Configure devstack to run manila installation without handling of share servers source $BASE/new/devstack-plugin-glusterfs/manila/pre_test_hook.sh - } + }} export -f pre_test_hook - function post_test_hook { + function post_test_hook {{ # Configure and run tempest on singlebackend manila installation source $BASE/new/devstack-plugin-glusterfs/manila/post_test_hook.sh singlebackend - } - export -f post_test_hook - - cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh - ./safe-devstack-vm-gate-wrap.sh - - publishers: - - devstack-logs - - console-log - - -- job: - name: gate-manila-tempest-dsvm-glusterfs-native - node: ubuntu-trusty - - wrappers: - - build-timeout: - timeout: 80 - - timestamps - - builders: - - link-logs - - net-info - - devstack-checkout - - shell: | - #!/bin/bash -xe - export PYTHONUNBUFFERED=true - export DEVSTACK_GATE_NEUTRON=1 - export ENABLED_SERVICES=tempest - export PROJECTS="openstack/python-manilaclient openstack/devstack-plugin-glusterfs $PROJECTS" - - # Enable manila devstack plugin. Provided repo should be - # cloned by zuul before devstack run and below provided link - # should not be used. - export DEVSTACK_LOCAL_CONFIG="enable_plugin manila git://git.openstack.org/openstack/manila" - - # Enable devstack-plugin-glusterfs plugin, to install and configure GlusterFS. - export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-glusterfs git://git.openstack.org/stackforge/devstack-plugin-glusterfs" - - # Configure devstack-plugin-glusterfs to enable GlusterFS as a backend for Manila. - export DEVSTACK_LOCAL_CONFIG+=$'\n'"CONFIGURE_GLUSTERFS_MANILA=True" - - # Configure devstack-plugin-glusterfs to use glusterfs-native driver. - export DEVSTACK_LOCAL_CONFIG+=$'\n'"GLUSTERFS_MANILA_DRIVER_TYPE=glusterfs-native" - - # Keep localrc to be able to set some vars in pre_test_hook - export KEEP_LOCALRC=1 - - function pre_test_hook { - # Configure devstack to run manila installation without handling of share servers - source $BASE/new/devstack-plugin-glusterfs/manila/pre_test_hook.sh - } - export -f pre_test_hook - - function post_test_hook { - # Configure and run tempest on singlebackend manila installation - source $BASE/new/devstack-plugin-glusterfs/manila/post_test_hook.sh singlebackend - } + }} export -f post_test_hook cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml index e106572d3e..f8ebd99b26 100644 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -4038,6 +4038,22 @@ back_end_type: 'multibackend' driver: 'generic' test_type: 'scenario' + - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}': + node: 'ubuntu-trusty' + suffix: '-nv' + variant: 'nfs' + - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}': + node: 'ubuntu-trusty' + suffix: '-nv' + variant: 'native' + - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}': + node: 'ubuntu-xenial' + suffix: '-nv' + variant: 'nfs' + - 'gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}': + node: 'ubuntu-xenial' + suffix: '-nv' + variant: 'native' - project: name: manila-image-elements diff --git a/zuul/layout.yaml b/zuul/layout.yaml index 80428e0cc8..ed6bb80bc8 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -2491,12 +2491,6 @@ jobs: - name: gate-manila-tempest-dsvm-scenario voting: false - - name: gate-manila-tempest-dsvm-glusterfs - voting: false - - - name: gate-manila-tempest-dsvm-glusterfs-native - voting: false - - name: gate-manila-tempest-dsvm-cephfs-native branch: ^(?!stable/liberty).*$ voting: false @@ -6178,10 +6172,15 @@ projects: check: - gate-devstack-plugin-glusterfs-bashate - gate-cinder-tempest-dsvm-glusterfs-nv - - gate-manila-tempest-dsvm-glusterfs - - gate-manila-tempest-dsvm-glusterfs-native + - gate-manila-tempest-dsvm-glusterfs-nfs-ubuntu-trusty-nv + - gate-manila-tempest-dsvm-glusterfs-native-ubuntu-trusty-nv + - gate-manila-tempest-dsvm-glusterfs-nfs-ubuntu-xenial-nv + - gate-manila-tempest-dsvm-glusterfs-native-ubuntu-xenial-nv gate: - gate-devstack-plugin-glusterfs-bashate + experimental: + - gate-manila-tempest-dsvm-glusterfs-nfs-ubuntu-xenial-nv + - gate-manila-tempest-dsvm-glusterfs-native-ubuntu-xenial-nv - name: openstack/devstack-plugin-hdfs template: @@ -8338,8 +8337,10 @@ projects: - gate-manila-tempest-dsvm-generic-no-share-servers - gate-manila-tempest-dsvm-scenario - gate-manila-tempest-dsvm-cephfs-native - - gate-manila-tempest-dsvm-glusterfs - - gate-manila-tempest-dsvm-glusterfs-native + - gate-manila-tempest-dsvm-glusterfs-nfs-ubuntu-trusty-nv + - gate-manila-tempest-dsvm-glusterfs-native-ubuntu-trusty-nv + - gate-manila-tempest-dsvm-glusterfs-nfs-ubuntu-xenial-nv + - gate-manila-tempest-dsvm-glusterfs-native-ubuntu-xenial-nv - gate-manila-tempest-dsvm-hdfs - gate-manila-tempest-minimal-dsvm-dummy - gate-manila-tempest-minimal-dsvm-lvm @@ -8356,6 +8357,8 @@ projects: - gate-rally-dsvm-manila-multibackend - gate-rally-dsvm-manila-multibackend-no-ss - gate-manila-tempest-dsvm-postgres-container + - gate-manila-tempest-dsvm-glusterfs-nfs-ubuntu-xenial-nv + - gate-manila-tempest-dsvm-glusterfs-native-ubuntu-xenial-nv - name: openstack/manila-image-elements template: