project-config/jenkins/jobs/manila.yaml
vponomaryov eef784eaae [Manila] Add new experimental job
Manila project is going to test its APIs using dummy driver
that does not really provide resources and just simulates
share driver behaviour.

For this we need to have separate tempest job, without any other
OpenStack projects, just manila.
Therefore, add such, make it non-voting and experimental until
appropriate feature merged in manila and becomes stable.

Change-Id: Iea5d982c9c147a37c57db0cdab9dc305f4f8fa81
2016-06-13 12:34:16 +03:00

502 lines
18 KiB
YAML

- job-template:
name: 'gate-manila-tempest-dsvm-{description}'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 80
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_POSTGRES={postgres_enabled}
export PROJECTS="openstack/python-manilaclient $PROJECTS"
export ENABLED_SERVICES=tempest
# 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"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
function pre_test_hook {{
# 'dhss' - acronym for 'Driver Handles Share Servers',
# defines mode of a share driver. Boolean-like.
# 'driver' - codename of a share driver to configure.
# 'back_end_type' - defines which installation Manila should
# have - either 'singlebackend' or 'multibackend'.
source $BASE/new/manila/contrib/ci/pre_test_hook.sh \
{dhss} \
{driver} \
{back_end_type}
}}
export -f pre_test_hook
function post_test_hook {{
# 'back_end_type' - defines which installation Manila is
# configured to - either 'singlebackend' or 'multibackend'.
# 'driver' - codename of a share driver that is configured in
# Manila. It is used for enabling/disabling tests that are not
# supported by share driver that is used.
# 'test_type' - defines which set of test suites should be used,
# can have 'api' and 'scenario' values.
# 'postgres_enabled' - set of test suites depends on DB backend
# in some cases, so it is provided explicitely. Boolean-like.
source $BASE/new/manila/contrib/ci/post_test_hook.sh \
{back_end_type} \
{driver} \
{test_type} \
{postgres_enabled}
}}
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-template:
name: 'gate-manila-tempest-minimal-dsvm-{driver}'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 80
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=0
export DEVSTACK_GATE_POSTGRES=0
export PROJECTS="openstack/python-manilaclient $PROJECTS"
export OVERRIDE_ENABLED_SERVICES=key,mysql,rabbit,tempest
# 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"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
function pre_test_hook {{
# 'dhss' - acronym for 'Driver Handles Share Servers',
# defines mode of a share driver. Boolean-like.
# 'driver' - codename of a share driver to configure.
# 'back_end_type' - defines which installation Manila should
# have - either 'singlebackend' or 'multibackend'.
source $BASE/new/manila/contrib/ci/pre_test_hook.sh False {driver} multibackend
}}
export -f pre_test_hook
function post_test_hook {{
# 'back_end_type' - defines which installation Manila is
# configured to - either 'singlebackend' or 'multibackend'.
# 'driver' - codename of a share driver that is configured in
# Manila. It is used for enabling/disabling tests that are not
# supported by share driver that is used.
# 'test_type' - defines which set of test suites should be used,
# can have 'api' and 'scenario' values.
# 'postgres_enabled' - set of test suites depends on DB backend
# in some cases, so it is provided explicitely. Boolean-like.
source $BASE/new/manila/contrib/ci/post_test_hook.sh multibackend {driver} api False
}}
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-template:
name: '{pipeline}-grenade-dsvm-manila'
node: ubuntu-trusty
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PROJECTS="openstack/python-manilaclient $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_GRENADE=pullup
export ENABLED_SERVICES=tempest
# Enable manila grenade plugin. Provided repo should be
# cloned by zuul before devstack run and below provided
# link should not be used.
export GRENADE_PLUGINRC="enable_grenade_plugin manila git://git.openstack.org/openstack/manila"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
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-manilaclient-dsvm-neutron-functional
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 PROJECTS="openstack/python-manilaclient $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"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
function pre_test_hook {
source $BASE/new/python-manilaclient/contrib/ci/pre_test_hook.sh
}
export -f pre_test_hook
function post_test_hook {
# Configure and run functional tests
source $BASE/new/python-manilaclient/contrib/ci/post_test_hook.sh
}
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:
- test-results
- devstack-logs
- console-log
- job-template:
name: 'gate-manila-publishimage-{image-name}'
node: ubuntu-trusty
builders:
- link-logs
- net-info
- gerrit-git-prep
- install-distro-packages
- shell: |
#!/bin/bash -xe
./tools/gate/build-images {image-name}
BRANCH=$ZUUL_REFNAME
BRANCH_PATH=`echo $BRANCH | tr / -`
mkdir -p images
mv manila-service-image.qcow2 images/manila-service-image-$BRANCH_PATH.qcow2
publishers:
- scp:
site: 'tarballs.openstack.org'
files:
- source: 'images/*'
target: 'tarballs/manila-image-elements/images/'
keep-hierarchy: false
copy-after-failure: false
- console-log
- job-template:
name: 'gate-manila-buildimage-{image-name}'
node: ubuntu-trusty
builders:
- link-logs
- net-info
- gerrit-git-prep
- install-distro-packages
- shell: |
#!/bin/bash -xe
./tools/gate/build-images {image-name}
publishers:
- console-log
- job:
name: gate-manila-tempest-dsvm-glusterfs
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 driver.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"GLUSTERFS_MANILA_DRIVER_TYPE=glusterfs"
# 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
./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
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job:
name: gate-manila-tempest-dsvm-hdfs
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-hdfs $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-hdfs plugin, to install and configure HDFS.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-hdfs git://git.openstack.org/openstack/devstack-plugin-hdfs"
# 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-hdfs/manila/pre_test_hook.sh
}
export -f pre_test_hook
function post_test_hook {
# Configure and run tempest on multi-backend manila installation
source $BASE/new/devstack-plugin-hdfs/manila/post_test_hook.sh
}
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-cephfs-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-ceph $PROJECTS"
# Enable Manila's 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-ceph plugin, to install and configure
# CephFS.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-ceph git://git.openstack.org/openstack/devstack-plugin-ceph"
# Enable CephFS as the backend for Manila.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_CEPH_MANILA=True"
# Disable Ceph as the storage backend for Nova.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_CEPH_NOVA=False"
# Disable Ceph as the storage backend for Glance.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_CEPH_GLANCE=False"
# Disable Ceph as the storage backend for Cinder.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_CEPH_CINDER=False"
# Disable Ceph as the storage backend for Cinder backup.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_CEPH_C_BAK=False"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
function pre_test_hook {
# Configure Manila with a CephFSNative driver backend.
# Refer job-template's pre_test_hook for more details on the
# arguments.
source $BASE/new/devstack-plugin-ceph/manila/pre_test_hook.sh \
false cephfsnative singlebackend
}
export -f pre_test_hook
function post_test_hook {
# Configure and run Tempest API tests on Manila with a
# CephFSNative driver backend.
# Refer job-template's post_test_hook for more details on the
# arguments.
source $BASE/new/devstack-plugin-ceph/manila/post_test_hook.sh \
singlebackend cephfsnative api
}
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