1528 lines
47 KiB
YAML
1528 lines
47 KiB
YAML
- builder:
|
|
name: ironic-extra-vars
|
|
builders:
|
|
- shell: |
|
|
cat << 'EOF' >> ironic-extra-vars
|
|
{script}
|
|
EOF
|
|
|
|
- builder:
|
|
name: ironic-vars-early
|
|
builders:
|
|
- shell: |
|
|
cat << 'EOF' >> ironic-vars-early
|
|
{script}
|
|
EOF
|
|
|
|
- builder:
|
|
name: ironic-python3
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_GATE_USE_PYTHON3=True
|
|
|
|
- builder:
|
|
name: ironic-grenade
|
|
builders:
|
|
- ironic-vars-early:
|
|
script: |
|
|
# Set this early so that we don't have to be as careful with builder ordering in jobs.
|
|
export GRENADE_PLUGINRC="enable_grenade_plugin ironic https://git.openstack.org/openstack/ironic"
|
|
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export PROJECTS="openstack-dev/grenade $PROJECTS"
|
|
export DEVSTACK_GATE_GRENADE=pullup
|
|
export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
|
|
export DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT=1200
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BUILD_DEPLOY_RAMDISK=False"
|
|
|
|
- builder:
|
|
name: ironic-cinder
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_STORAGE_INTERFACES=cinder,noop"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_STORAGE_INTERFACE=cinder"
|
|
# We have to enable cinder this way, as normally when
|
|
# DEVSTACK_GATE_IRONIC=1 it disables all the cinder services.
|
|
export ENABLED_SERVICES=cinder,c-sch,c-api,c-vol
|
|
|
|
- builder:
|
|
name: ironic-inspector-grenade
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector"
|
|
|
|
- builder:
|
|
name: ironic-grenade-multitenant
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin networking-generic-switch https://git.openstack.org/openstack/networking-generic-switch"
|
|
|
|
|
|
- builder:
|
|
name: ironic-client-from-source
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_PROJECT_FROM_GIT="python-ironicclient,$DEVSTACK_PROJECT_FROM_GIT"
|
|
|
|
- builder:
|
|
name: ironic-lib-from-source
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_PROJECT_FROM_GIT="ironic-lib,$DEVSTACK_PROJECT_FROM_GIT"
|
|
|
|
- builder:
|
|
name: ironic-pygmi-from-source
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_PROJECT_FROM_GIT="pyghmi,$DEVSTACK_PROJECT_FROM_GIT"
|
|
|
|
- builder:
|
|
name: ironic-virtualbmc-from-source
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_PROJECT_FROM_GIT="virtualbmc,$DEVSTACK_PROJECT_FROM_GIT"
|
|
|
|
- builder:
|
|
name: ironic-virtualpdu-from-source
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_PROJECT_FROM_GIT="virtualpdu,$DEVSTACK_PROJECT_FROM_GIT"
|
|
|
|
- builder:
|
|
name: ironic-deploy-with-IPA
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
|
|
# Standardize VM size for each supported ramdisk
|
|
case "{ramdisk-type}" in
|
|
'tinyipa')
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
|
|
;;
|
|
'tinyipa256')
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
|
|
;;
|
|
'coreos')
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
|
|
;;
|
|
# if using a ramdisk without a known good value, use the devstack
|
|
# default by not exporting any value for IRONIC_VM_SPECS_RAM
|
|
esac
|
|
|
|
- builder:
|
|
name: ironic-ipxe-disabled
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=False"
|
|
|
|
- builder:
|
|
name: ironic-tempest-full
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_GATE_TEMPEST_FULL=1
|
|
|
|
- builder:
|
|
name: ironic-tempest-regex
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_GATE_TEMPEST_REGEX="{tempest-regex}"
|
|
|
|
- builder:
|
|
name: ironic-multitenant
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400
|
|
# networking-generic-switch requires sudo to execute ovs-vsctl commands
|
|
export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
|
|
export PROJECTS="openstack/networking-generic-switch $PROJECTS"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin networking-generic-switch git://git.openstack.org/openstack/networking-generic-switch"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_USE_LINK_LOCAL=True"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"OVS_PHYSICAL_BRIDGE=brbm"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"PHYSICAL_NETWORK=mynetwork"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_NETWORK_NAME=ironic-provision"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_SUBNET_PREFIX=10.0.5.0/24"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_PROVISION_SUBNET_GATEWAY=10.0.5.1"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_PLUGIN=ml2"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_USE_PROVIDERNET_FOR_PUBLIC=False"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_TENANT_VLANS=True"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ML2_TENANT_NETWORK_TYPE=vlan"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TENANT_VLAN_RANGE=100:150"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_NETWORK_INTERFACES=flat,neutron"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_NETWORK_INTERFACE=neutron"
|
|
|
|
- builder:
|
|
name: ironic-multinode
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_GATE_TOPOLOGY="multinode"
|
|
|
|
- builder:
|
|
name: ironic-inspector-enabled
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export PROJECTS="openstack/ironic-inspector $PROJECTS"
|
|
export PROJECTS="openstack/python-ironic-inspector-client $PROJECTS"
|
|
export DEVSTACK_GATE_IRONIC_INSPECTOR=1
|
|
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic-inspector git://git.openstack.org/openstack/ironic-inspector"
|
|
|
|
# use tempest plugin
|
|
if [[ "$ZUUL_BRANCH" != "master" ]] ; then
|
|
# NOTE(jroll) if this isn't a patch against master, then
|
|
# fetch master to install the plugin
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic-inspector'"
|
|
else
|
|
# on master, use the local change, so we can pick up any changes to the plugin
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-inspector'"
|
|
fi
|
|
|
|
export IRONIC_INSPECTOR_AUTO_DISCOVERY={inspector-auto-discovery}
|
|
if [ "$IRONIC_INSPECTOR_AUTO_DISCOVERY" == "1" ]; then
|
|
# discovery test requires sudo for iptables and virsh
|
|
export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
|
|
# enable enroll hook
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_NODE_NOT_FOUND_HOOK=enroll"
|
|
# we are deleting node from ironic for simulate node discovery,
|
|
# so inspector has to sync cache asap
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_CLEAN_UP_PERIOD=5"
|
|
fi
|
|
|
|
# Make IPXE configuration consistent between Mitaka and Master
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=True"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_RAMDISK_ELEMENT=ironic-agent"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_MANAGE_FIREWALL=True"
|
|
|
|
- builder:
|
|
name: ironic-inspector-client-from-source
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_PROJECT_FROM_GIT="python-ironic-inspector-client,$DEVSTACK_PROJECT_FROM_GIT"
|
|
|
|
- builder:
|
|
name: ironic-postgres-enabled
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_GATE_POSTGRES=1
|
|
|
|
- builder:
|
|
name: ironic-tempest-plugin
|
|
builders:
|
|
- ironic-vars-early:
|
|
script: |
|
|
# use tempest plugin
|
|
if [[ "$ZUUL_BRANCH" != "master" ]] ; then
|
|
# NOTE(jroll) if this isn't a patch against master, then
|
|
# fetch master to install the plugin
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'"
|
|
else
|
|
# on master, use the local change, so we can pick up any changes to the plugin
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'"
|
|
fi
|
|
export TEMPEST_CONCURRENCY={concurrency}
|
|
|
|
- builder:
|
|
name: ironic-resource-classes
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_USE_RESOURCE_CLASSES=True"
|
|
|
|
- builder:
|
|
# NOTE(adam_g): This is a temporary macro until we can define the Ironic d-s-g job in a
|
|
# standard, minimal fashion.
|
|
name: devstack-virtual-ironic
|
|
builders:
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
export PROJECTS="openstack/ironic $PROJECTS"
|
|
export PROJECTS="openstack/ironic-lib $PROJECTS"
|
|
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
|
|
export PROJECTS="openstack/python-ironicclient $PROJECTS"
|
|
export PROJECTS="openstack/pyghmi $PROJECTS"
|
|
export PROJECTS="openstack/virtualbmc $PROJECTS"
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=1
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export DEVSTACK_GATE_CONFIGDRIVE=1
|
|
export DEVSTACK_GATE_IRONIC_DRIVER={deploy_driver}
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
|
|
if [ "{deploy_driver}" == "pxe_snmp" ] ; then
|
|
# explicitly enable pxe_snmp driver
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp"
|
|
fi
|
|
|
|
if [ "{deploy_driver}" == "redfish" ] ; then
|
|
# When deploying with redfish we need to enable the "redfish"
|
|
# hardware type
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish"
|
|
fi
|
|
|
|
if [ "{image-type}" == "wholedisk" ] ; then
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
|
|
else
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
|
|
fi
|
|
|
|
if [ -n "{build-ramdisk}" ] ; then
|
|
export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
|
|
else
|
|
export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
|
|
fi
|
|
|
|
if [ "{boot-mode}" == "uefi" ] ; then
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
|
|
fi
|
|
|
|
export DEVSTACK_PROJECT_FROM_GIT=""
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT={bm-vm-count}"
|
|
|
|
# Ensure the ironic-vars-EARLY file exists
|
|
touch ironic-vars-early
|
|
# Pull in the EARLY variables injected by the optional builders
|
|
source ironic-vars-early
|
|
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
|
|
|
|
# Ensure the ironic-EXTRA-vars file exists
|
|
touch ironic-extra-vars
|
|
# Pull in the EXTRA variables injected by the optional builders
|
|
source ironic-extra-vars
|
|
|
|
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
|
|
./safe-devstack-vm-gate-wrap.sh
|
|
|
|
- builder:
|
|
name: ironic-staging-drivers-enabled
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export PROJECTS="openstack/ironic-staging-drivers $PROJECTS"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic-staging-drivers git://git.openstack.org/openstack/ironic-staging-drivers"
|
|
|
|
- builder:
|
|
name: ironic-staging-test-driver
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_STAGING_DRIVER={staging-driver}"
|
|
|
|
- builder:
|
|
name: ironic-sushy-from-source
|
|
builders:
|
|
- ironic-extra-vars:
|
|
script: |
|
|
export DEVSTACK_PROJECT_FROM_GIT="sushy,$DEVSTACK_PROJECT_FROM_GIT"
|
|
|
|
|
|
- job-template:
|
|
name: '{pipeline}-ironic-dsvm-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 ironic git://git.openstack.org/openstack/ironic
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=1
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export TEMPEST_CONCURRENCY=2
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
|
|
export DEVSTACK_GATE_TEMPEST_REGEX='ironic'
|
|
export PROJECTS="openstack/ironic $PROJECTS"
|
|
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
|
|
|
|
# No post_test_hook is needed while tests live in tempest
|
|
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}-ironicclient-dsvm-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 ironic git://git.openstack.org/openstack/ironic
|
|
IRONIC_DEPLOY_DRIVER=fake
|
|
# neutron isn't enabled here
|
|
IRONIC_ENABLED_NETWORK_INTERFACES=noop
|
|
IRONIC_DHCP_PROVIDER=none
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=0
|
|
export DEVSTACK_PROJECT_FROM_GIT=python-ironicclient
|
|
export OVERRIDE_ENABLED_SERVICES=key,mysql,rabbit,ir-api,ir-cond
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
export PROJECTS="openstack/ironic $PROJECTS"
|
|
|
|
function post_test_hook {{
|
|
# Configure and run functional tests
|
|
$BASE/new/python-ironicclient/ironicclient/tests/functional/hooks/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: '{pipeline}-ironic-inspector-dsvm-{ramdisk}-{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_TEMPEST=0
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_IRONIC_INSPECTOR=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export DEVSTACK_GATE_CONFIGDRIVE=1
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
|
|
export PROJECTS="openstack/ironic openstack/ironic-inspector $PROJECTS"
|
|
export DEVSTACK_LOCAL_CONFIG="enable_plugin ironic git://git.openstack.org/openstack/ironic"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
|
|
|
|
if [ "{ramdisk}" != "dib" ] ; then
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_RAMDISK_ELEMENT=ironic-agent"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BUILD_DEPLOY_RAMDISK=False"
|
|
# IPA requires at least 1 GiB of RAM
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1024"$'\n'"IRONIC_VM_COUNT=1"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=True"
|
|
if [ "{ramdisk}" == "ipa-src" ] ; then
|
|
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
|
|
fi
|
|
fi
|
|
|
|
function post_test_hook {{
|
|
source $BASE/new/devstack/openrc admin admin
|
|
cd /opt/stack/new/ironic-inspector
|
|
sudo -E -u stack ./devstack/exercise.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: '{pipeline}-ironic-inspector-dsvm-discovery-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 80
|
|
- timestamps
|
|
|
|
builders:
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- local_conf:
|
|
conf: |
|
|
[[local|localrc]]
|
|
enable_plugin ironic git://git.openstack.org/openstack/ironic
|
|
enable_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector
|
|
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED=False
|
|
IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True
|
|
IRONIC_INSPECTOR_RAMDISK_ELEMENT=ironic-agent
|
|
IRONIC_BUILD_DEPLOY_RAMDISK=False
|
|
# IPA requires at least 1 GiB of RAM
|
|
IRONIC_VM_SPECS_RAM=1024
|
|
IRONIC_VM_COUNT=1
|
|
# enable enroll hook
|
|
IRONIC_INSPECTOR_NODE_NOT_FOUND_HOOK=enroll
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=0
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_IRONIC_INSPECTOR=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export DEVSTACK_GATE_CONFIGDRIVE=1
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
|
|
export PROJECTS="openstack/ironic openstack/ironic-inspector $PROJECTS"
|
|
# discovery_exercise.sh requires iptables and virsh direct access
|
|
export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
|
|
|
|
function post_test_hook {{
|
|
source $BASE/new/devstack/openrc admin admin
|
|
cd /opt/stack/new/ironic-inspector
|
|
sudo -E -u stack ./devstack/discovery_exercise.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: '{pipeline}-python-ironic-inspector-client-dsvm-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 80
|
|
- timestamps
|
|
|
|
builders:
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- local_conf:
|
|
conf: |
|
|
[[local|localrc]]
|
|
enable_plugin heat ironic://git.openstack.org/openstack/ironic
|
|
enable_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector
|
|
IRONIC_AUTOMATED_CLEAN_ENABLED=False
|
|
IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True
|
|
IRONIC_INSPECTOR_RAMDISK_ELEMENT=ironic-agent
|
|
IRONIC_BUILD_DEPLOY_RAMDISK=False
|
|
# IPA requires at least 1 GiB of RAM
|
|
IRONIC_VM_SPECS_RAM=1024
|
|
IRONIC_VM_COUNT=1
|
|
IRONIC_IPXE_ENABLED=True
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=0
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_IRONIC_INSPECTOR=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export DEVSTACK_GATE_CONFIGDRIVE=1
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
# DEVSTACK_PROJECT_FROM_GIT adds to PROJECTS, so no need to add python-ironic-inspector-client below
|
|
export DEVSTACK_PROJECT_FROM_GIT="python-ironic-inspector-client"
|
|
export PROJECTS="openstack/ironic $PROJECTS"
|
|
export PROJECTS="openstack/ironic-inspector $PROJECTS"
|
|
|
|
function post_test_hook {{
|
|
source $BASE/new/devstack/openrc admin admin
|
|
cd /opt/stack/new/ironic-inspector
|
|
sudo -E -u stack ./devstack/exercise.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: '{pipeline}-ironic-staging-drivers-dsvm-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 80
|
|
- timestamps
|
|
|
|
builders:
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- local_conf:
|
|
conf: |
|
|
[[local|localrc]]
|
|
enable_plugin ironic git://git.openstack.org/openstack/ironic
|
|
enable_plugin ironic-staging-drivers git://git.openstack.org/openstack/ironic-staging-drivers
|
|
IRONIC_BUILD_DEPLOY_RAMDISK=False
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
export PROJECTS="openstack/ironic $PROJECTS"
|
|
export PROJECTS="openstack/ironic-staging-drivers $PROJECTS"
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
|
|
# No post_test_hook is needed while tests live in tempest
|
|
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}-tempest-dsvm-ironic-ipa-{image-type}-{boot-mode}-{driver}-{ramdisk-type}{src}-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 75
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: '{ramdisk-type}'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: '{src}'
|
|
deploy_driver: '{driver}'
|
|
image-type: '{image-type}'
|
|
boot-mode: '{boot-mode}'
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-ipa-partition-pxe_ipmitool-tinyipa-python3-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 75
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- ironic-python3
|
|
- local_conf:
|
|
conf: |
|
|
[[local|localrc]]
|
|
disable_service s-account
|
|
disable_service s-container
|
|
disable_service s-object
|
|
disable_service s-proxy
|
|
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_ipmitool
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-ipa-partition-redfish-tinyipa-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 75
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: 'redfish'
|
|
image-type: 'partition'
|
|
boot-mode: 'bios'
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-ipa-partition-redfish-sushy-src-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 75
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-sushy-from-source
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: 'redfish'
|
|
image-type: 'partition'
|
|
boot-mode: 'bios'
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-ipa-resourceclasses-partition-pxe_ipmitool-tinyipa{src}-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 75
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-resource-classes
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: '{src}'
|
|
deploy_driver: 'pxe_ipmitool'
|
|
image-type: 'partition'
|
|
boot-mode: 'bios'
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 2
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-lib-{image-type}-{driver}-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 75
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-lib-from-source
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: 'yes'
|
|
deploy_driver: '{driver}'
|
|
image-type: '{image-type}'
|
|
boot-mode: 'bios'
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-ipa-{image-type}-{driver}-{ramdisk-type}{src}-multinode-{node-release}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: '{ramdisk-type}'
|
|
- ironic-multinode
|
|
- ironic-multitenant
|
|
- ironic-tempest-plugin:
|
|
concurrency: 4
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: '{src}'
|
|
deploy_driver: '{driver}'
|
|
image-type: '{image-type}'
|
|
boot-mode: 'bios'
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 7
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-grenade-dsvm-ironic-multinode-multitenant-{node-release}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-grenade
|
|
- ironic-grenade-multitenant
|
|
- ironic-multinode
|
|
- ironic-multitenant
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-plugin:
|
|
concurrency: 4
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: 'agent_ipmitool'
|
|
image-type: 'wholedisk'
|
|
boot-mode: 'bios'
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 7
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipa-full-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 160
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-full
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_ipmitool
|
|
image-type: partition
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 7
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-{driver}-postgres-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-postgres-enabled
|
|
- ironic-ipxe-disabled
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: '{driver}'
|
|
image-type: partition
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-parallel-{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/ironic $PROJECTS"
|
|
export PROJECTS="openstack/ironic-lib $PROJECTS"
|
|
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
|
|
export PROJECTS="openstack/python-ironicclient $PROJECTS"
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=1
|
|
# NOTE(deva): tempest-lib support was added in Mitaka
|
|
# but this job doesn't run on stable branches, so we can keep it simple here
|
|
export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export DEVSTACK_GATE_CONFIGDRIVE=1
|
|
export TEMPEST_CONCURRENCY=2
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
# Run only baremetal tests
|
|
export DEVSTACK_GATE_TEMPEST_REGEX='ironic'
|
|
|
|
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}-tempest-dsvm-ironic-pxe_ipmitool-pyghmi-src-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'coreos'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-pygmi-from-source
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_ipmitool
|
|
image-type: partition
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-pxe_ipmitool-virtualbmc-src-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-virtualbmc-from-source
|
|
- ironic-pygmi-from-source
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_ipmitool
|
|
image-type: partition
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-pxe_snmp-virtualpdu-src-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-virtualpdu-from-source
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_snmp
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-python-ironicclient-src-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-client-from-source
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_ipmitool
|
|
image-type: partition
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-multitenant-network-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: baremetal_multitenancy
|
|
- ironic-multitenant
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: agent_ipmitool
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 3
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-bfv-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 160
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: baremetal_boot_from_volume
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- ironic-cinder
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: agent_ipmitool
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 3
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-inspector{src}-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: InspectorBasicTest
|
|
- ironic-inspector-enabled:
|
|
inspector-auto-discovery: 0
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: '{src}'
|
|
deploy_driver: agent_ipmitool
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-python-ironic-inspector-client-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: InspectorSmokeTest
|
|
- ironic-inspector-enabled:
|
|
inspector-auto-discovery: 0
|
|
- ironic-inspector-client-from-source
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: agent_ipmitool
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-inspector-discovery-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-regex:
|
|
tempest-regex: InspectorDiscoveryTest
|
|
- ironic-inspector-enabled:
|
|
inspector-auto-discovery: 1
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: agent_ipmitool
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-grenade-dsvm-ironic-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-grenade
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_ipmitool
|
|
image-type: partition
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 7
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-grenade-dsvm-ironic-inspector-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- print-template-name:
|
|
template-name: "{template-name}"
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-grenade
|
|
- ironic-inspector-grenade
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: 'tinyipa'
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- ironic-inspector-enabled
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: pxe_ipmitool
|
|
image-type: partition
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 7
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|
|
|
|
- job-template:
|
|
name: '{pipeline}-ironic-dsvm-standalone-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 180
|
|
- timestamps
|
|
|
|
builders:
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-tempest-plugin:
|
|
concurrency: 4
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic_standalone
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
export PROJECTS="openstack/ironic $PROJECTS"
|
|
export PROJECTS="openstack/ironic-lib $PROJECTS"
|
|
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
|
|
export PROJECTS="openstack/python-ironicclient $PROJECTS"
|
|
export PYTHONUNBUFFERED=true
|
|
export DEVSTACK_GATE_TEMPEST=1
|
|
export DEVSTACK_GATE_IRONIC=1
|
|
export DEVSTACK_GATE_NEUTRON=1
|
|
export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
|
|
export DEVSTACK_GATE_VIRT_DRIVER=ironic
|
|
export DEVSTACK_GATE_IRONIC_DRIVER=agent_ipmitool
|
|
export OVERRIDE_ENABLED_SERVICES="g-api,g-reg,q-agt,q-dhcp,q-l3,q-svc,key,mysql,rabbit,ir-api,ir-cond,s-account,s-container,s-object,s-proxy,tempest"
|
|
|
|
export BRANCH_OVERRIDE={branch-override}
|
|
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
|
|
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
|
|
fi
|
|
|
|
export DEVSTACK_LOCAL_CONFIG="enable_plugin ironic git://git.openstack.org/openstack/ironic"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=6"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER=agent_ipmitool"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_ENABLE_TEMPURLS=True"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_TEMPURL_KEY=secretkey"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,agent_ipmitool,pxe_ipmitool"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
|
|
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_USE_MOD_WSGI=True"
|
|
|
|
# Ensure the ironic-vars-EARLY file exists
|
|
touch ironic-vars-early
|
|
# Pull in the EARLY variables injected by the optional builders
|
|
source ironic-vars-early
|
|
|
|
# Ensure the ironic-EXTRA-vars file exists
|
|
touch ironic-extra-vars
|
|
# Pull in the EXTRA variables injected by the optional builders
|
|
source ironic-extra-vars
|
|
|
|
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
|
|
|
|
# NOTE(pas-ha) explanation for variables choices:
|
|
# - devstack plugin of ironic-staging-drivers will be able to
|
|
# switch over nodes to ansible-deploy-enabled driver only
|
|
# from agent_ipmitool to pxe_ipmitool_ansible driver.
|
|
# - Ansible-deploy driver does not support netboot,
|
|
# so testing wholedisk images only
|
|
# - Partition images with localboot are supported but deploy does not
|
|
# work with default cirros image as those do not have grub(2) installed
|
|
# - Only tinyipa-based ramdisks are supported to be rebuilt for compatibility
|
|
# with ansible-deploy driver
|
|
- job-template:
|
|
name: '{pipeline}-tempest-dsvm-ironic-staging-drivers-ansible-wholedisk-{node}{suffix}'
|
|
node: '{node}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 80
|
|
- timestamps
|
|
|
|
builders:
|
|
- link-logs
|
|
- net-info
|
|
- devstack-checkout
|
|
- ironic-deploy-with-IPA:
|
|
ramdisk-type: tinyipa
|
|
- ironic-staging-drivers-enabled
|
|
- ironic-staging-test-driver:
|
|
staging-driver: pxe_ipmitool_ansible
|
|
- ironic-tempest-regex:
|
|
tempest-regex: ironic
|
|
- ironic-tempest-plugin:
|
|
concurrency: 1
|
|
- devstack-virtual-ironic:
|
|
build-ramdisk: ''
|
|
deploy_driver: agent_ipmitool
|
|
image-type: wholedisk
|
|
boot-mode: bios
|
|
branch-override: '{branch-override}'
|
|
bm-vm-count: 1
|
|
|
|
publishers:
|
|
- devstack-logs
|
|
- console-log
|