project-config/jenkins/jobs/manila.yaml

639 lines
21 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
- local_conf:
conf: |
[[local|localrc]]
enable_plugin manila git://git.openstack.org/openstack/manila
enable_plugin manila-ui git://git.openstack.org/openstack/manila-ui
- firefox-install
- xvfb-install
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_HORIZON=1
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
# 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: 90
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin manila git://git.openstack.org/openstack/manila
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_POSTGRES={postgres_enabled}
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
# Install manila-image-elements project for building custom image
if [[ {driver} == *"_with_custom_image" ]]; then
export PROJECTS="openstack/manila-image-elements $PROJECTS"
fi
export ENABLED_SERVICES=tempest
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
function pre_test_hook {{
# Build custom image if needed
if [[ {driver} == *"_with_custom_image" ]]; then
current_dir=$(pwd)
# Go to 'manila-image-elements' dir, build image and get its name
cd /opt/stack/new/manila-image-elements
./tools/gate/build-images {driver} True
image_name=$(git ls-files --others --exclude-standard)
export MANILA_SERVICE_IMAGE_URL="http://localhost:80/public_html/$image_name"
export MANILA_SERVICE_IMAGE_NAME=$(basename -s .tar.gz $(basename -s .qcow2 $image_name))
# Return back to execution dir
cd $current_dir
fi
# '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: 90
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin manila git://git.openstack.org/openstack/manila
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
# 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/newton" != $ZUUL_BRANCH ]]; then
OVERRIDE_ENABLED_SERVICES+=,placement-api,placement-client
fi
fi
export OVERRIDE_ENABLED_SERVICES
# 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 DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
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
- local_conf:
conf: |
[[local|localrc]]
enable_plugin manila git://git.openstack.org/openstack/manila
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
# 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
- zuul-git-prep
- install-distro-packages
- shell: |
#!/bin/bash -xe
./tools/gate/build-images {image-name}
BRANCH=$ZUUL_REFNAME
BRANCH_PATH=`echo $BRANCH | sed 's/^refs.tags.//' | 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
- zuul-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
- zuul-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
- local_conf:
conf: |
[[local|localrc]]
enable_plugin manila git://git.openstack.org/openstack/manila
# Enable devstack-plugin-glusterfs plugin, to install and configure GlusterFS.
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.
CONFIGURE_GLUSTERFS_MANILA=True
# Configure devstack-plugin-glusterfs to use respective GlusterFS driver variant.
GLUSTERFS_MANILA_DRIVER_TYPE=glusterfs-{variant}
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export ENABLED_SERVICES=tempest
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
export PROJECTS="openstack/devstack-plugin-glusterfs $PROJECTS"
# 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
- local_conf:
conf: |
[[local|localrc]]
enable_plugin manila git://git.openstack.org/openstack/manila
# Enable devstack-plugin-hdfs plugin, to install and configure HDFS.
enable_plugin devstack-plugin-hdfs git://git.openstack.org/openstack/devstack-plugin-hdfs
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export ENABLED_SERVICES=tempest
export PROJECTS="openstack/devstack-plugin-hdfs $PROJECTS"
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
# 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-minimal-dsvm-cephfs-{variant}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 80
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin manila git://git.openstack.org/openstack/manila
enable_plugin devstack-plugin-ceph git://git.openstack.org/openstack/devstack-plugin-ceph
# Enable CephFS as the backend for Manila.
ENABLE_CEPH_MANILA=True
# Disable Ceph as the storage backend for Nova.
ENABLE_CEPH_NOVA=False
# Disable Ceph as the storage backend for Glance.
ENABLE_CEPH_GLANCE=False
# Disable Ceph as the storage backend for Cinder.
ENABLE_CEPH_CINDER=False
# Disable Ceph as the storage backend for Cinder backup.
ENABLE_CEPH_C_BAK=False
# Set native or NFS variant of ceph driver
MANILA_CEPH_DRIVER=cephfs{variant}
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export ENABLED_SERVICES=tempest
export PROJECTS="openstack/devstack-plugin-ceph $PROJECTS"
export DEVSTACK_PROJECT_FROM_GIT="python-manilaclient"
export KEEP_LOCALRC=1
function pre_test_hook {{
# Configure Manila with a CephFS Native or NFS driver backend.
# Refer to job-template pre_test_hook for more details on the
# arguments.
source $BASE/new/devstack-plugin-ceph/manila/pre_test_hook.sh \
false cephfs{variant} singlebackend
}}
export -f pre_test_hook
function post_test_hook {{
# Configure and run Tempest API tests on Manila with a
# CephFSNative driver backend.
# Refer to job-template post_test_hook for more details on the
# arguments.
source $BASE/new/devstack-plugin-ceph/manila/post_test_hook.sh \
singlebackend cephfs{variant} 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
- job-template:
name: 'gate-manila-tempest-minimal-py35-dsvm-cephfs-{variant}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 80
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
# swift is not ready for python3 yet
disable_service s-account
disable_service s-container
disable_service s-object
disable_service s-proxy
enable_plugin manila git://git.openstack.org/openstack/manila
enable_plugin devstack-plugin-ceph git://git.openstack.org/openstack/devstack-plugin-ceph
# Enable CephFS as the backend for Manila.
ENABLE_CEPH_MANILA=True
# Disable Ceph as the storage backend for Nova.
ENABLE_CEPH_NOVA=False
# Disable Ceph as the storage backend for Glance.
ENABLE_CEPH_GLANCE=False
# Disable Ceph as the storage backend for Cinder.
ENABLE_CEPH_CINDER=False
# Disable Ceph as the storage backend for Cinder backup.
ENABLE_CEPH_C_BAK=False
# Set native or NFS variant of ceph driver
MANILA_CEPH_DRIVER=cephfs{variant}
- shell: |
#!/bin/bash -xe
export DEVSTACK_GATE_USE_PYTHON3=True
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export ENABLED_SERVICES=tempest
export PROJECTS="openstack/python-manilaclient openstack/devstack-plugin-ceph $PROJECTS"
export KEEP_LOCALRC=1
function pre_test_hook {{
# Configure Manila with a CephFS Native or NFS driver backend.
# Refer to job-template pre_test_hook for more details on the
# arguments.
source $BASE/new/devstack-plugin-ceph/manila/pre_test_hook.sh \
false cephfs{variant} singlebackend
}}
export -f pre_test_hook
function post_test_hook {{
# Configure and run Tempest API tests on Manila with a
# CephFSNative driver backend.
# Refer to job-template post_test_hook for more details on the
# arguments.
source $BASE/new/devstack-plugin-ceph/manila/post_test_hook.sh \
singlebackend cephfs{variant} 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