project-config/jenkins/jobs/manila.yaml

539 lines
18 KiB
YAML

- job:
name: gate-manila-ui-dsvm-nv
node: 'ubuntu-xenial'
wrappers:
- build-timeout:
timeout: 100
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- firefox-install
- xvfb-install
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_NEUTRON=1
export PROJECTS="openstack/python-manilaclient $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin manila git://git.openstack.org/openstack/manila"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin manila-ui git://git.openstack.org/openstack/manila-ui"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
# Enable dummy driver in Manila
function pre_test_hook {
source $BASE/new/manila/contrib/ci/pre_test_hook.sh \
True \
dummy \
multibackend
}
export -f pre_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-tempest-dsvm-{description}-{node}{suffix}'
node: '{node}'
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}{suffix}'
node: '{node}'
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 PROJECTS="openstack/python-manilaclient $PROJECTS"
# Basic services needed for minimal job
OVERRIDE_ENABLED_SERVICES=key,mysql,rabbit,tempest
if [ "{driver}" == "lvm" ]; then
# Enable glance for scenario tests
OVERRIDE_ENABLED_SERVICES+=,g-api,g-reg
# Enable nova for scenario tests
OVERRIDE_ENABLED_SERVICES+=,n-api,n-cpu,n-cond,n-sch,n-crt,n-cauth,n-obj
# Enable neutron for scenario tests
OVERRIDE_ENABLED_SERVICES+=,q-svc,q-dhcp,q-meta,q-l3,q-agt
# Enable mandatory placement services for nova starting with ocata
if [[ ! "stable/mitaka stable/newton" =~ $ZUUL_BRANCH ]]; then
OVERRIDE_ENABLED_SERVICES+=,placement-api,placement-client
fi
fi
export OVERRIDE_ENABLED_SERVICES
# 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}{suffix}'
node: '{node}'
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=0
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_GRENADE=pullup
# Basic services needed for grenade manila job using dummy driver
export OVERRIDE_ENABLED_SERVICES=key,mysql,rabbit
# 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
function pre_test_hook {{
source $BASE/new/manila/contrib/ci/pre_test_hook.sh \
True \
dummy \
multibackend
}}
export -f pre_test_hook
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-template:
name: '{pipeline}-manilaclient-dsvm-neutron-functional-{node}{suffix}'
node: '{node}'
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}'
node: '{node}'
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}'
node: '{node}'
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-template:
name: 'gate-manila-test-image-build'
node: 'ubuntu-xenial'
wrappers:
- build-timeout:
timeout: 60
- timestamps
builders:
- link-logs
- net-info
- gerrit-git-prep
- install-distro-packages
- shell: |
#!/bin/bash -xe
./run-buildroot.sh
publishers:
- console-log
- job-template:
name: gate-manila-tempest-dsvm-glusterfs-{variant}-{node}{suffix}
node: '{node}'
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 ENABLED_SERVICES=tempest
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
# 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/openstack/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 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 {{
# 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-template:
name: 'gate-manila-tempest-dsvm-hdfs-{node}{suffix}'
node: '{node}'
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-template:
name: 'gate-manila-tempest-dsvm-cephfs-native-{node}{suffix}'
node: '{node}'
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