Switch ironic-dsvm-standalone to zuulv3 native

Move ironic-dsvm-standalone away from using the legacy
format converted fromt the project-config repository.

Also enables 3 more tempest jobs(BaremetalAgentIpmitool*)
that were being skipped as agent_ipmitool wasn't configured.

Change-Id: Ic01bf1849620c6d095f130e445c92888548d00c5
This commit is contained in:
Derek Higgins 2018-06-07 14:51:16 +01:00
parent 1171226dba
commit f8163fab38
4 changed files with 127 additions and 102 deletions

View File

@ -9,4 +9,4 @@ source $DEST/ironic/devstack/common_settings
local_mtu=$(ip link show | sed -ne 's/.*mtu \([0-9]\+\).*/\1/p' | sort -n | head -1)
# 50 bytes is overhead for vxlan (which is greater than GRE
# allowing us to use either overlay option with this MTU.
PUBLIC_BRIDGE_MTU=$((local_mtu - 50))
PUBLIC_BRIDGE_MTU=${OVERRIDE_PUBLIC_BRIDGE_MTU:-$((local_mtu - 50))}

View File

@ -1,77 +0,0 @@
- hosts: all
name: Autoconverted job legacy-ironic-dsvm-standalone from old job gate-ironic-dsvm-standalone-ubuntu-xenial
tasks:
- shell:
cmd: |
cat << 'EOF' >> ironic-vars-early
# use tempest plugin
export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-tempest-plugin'"
export TEMPEST_CONCURRENCY=4
EOF
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
cat << 'EOF' >> ironic-extra-vars
export DEVSTACK_GATE_TEMPEST_REGEX="ironic_standalone"
EOF
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
export PROJECTS="openstack/ironic $PROJECTS"
export PROJECTS="openstack/ironic-lib $PROJECTS"
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
export PROJECTS="openstack/ironic-tempest-plugin $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=ipmi
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="{{ zuul.override_checkout | default('default') }}"
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=ipmi"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEFAULT_DEPLOY_INTERFACE=direct"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_ENABLE_TEMPURLS=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_TEMPURL_KEY=secretkey"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
# NOTE(pas-ha) ansible deploy is new in Queens,
# and this job does not exist in Newton/Ocata.
# Do not enable ansible deploy for Pike so that stable/pike job on
# branch-less ironic-tempest-plugin passes using zuul.override_checkout.
if [[ "$ZUUL_BRANCH" != "stable/pike" && "$BRANCH_OVERRIDE" != "stable/pike" ]]; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DEPLOY_INTERFACES=iscsi,direct,ansible"
fi
# 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
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'

126
zuul.d/ironic-jobs.yaml Normal file
View File

@ -0,0 +1,126 @@
- job:
name: ironic-base
description: Base job for devstack/tempest based ironic jobs.
parent: devstack-tempest
timeout: 10800
required-projects:
- openstack/ironic
- openstack/ironic-python-agent
- openstack/ironic-tempest-plugin
- openstack/pyghmi
- openstack/virtualbmc
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^install-guide/.*$
- ^ironic/locale/.*$
- ^ironic/tests/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
vars:
tox_envlist: all
tempest_test_regex: ironic_tempest_plugin.tests.scenario
tempest_concurrency: 1
devstack_localrc:
DEFAULT_INSTANCE_TYPE: baremetal
FORCE_CONFIG_DRIVE: True
INSTALL_TEMPEST: False # Don't install a tempest package globaly
OVERRIDE_PUBLIC_BRIDGE_MTU: 1400
TEMPEST_PLUGINS: "'{{ ansible_user_dir }}/src/git.openstack.org/openstack/ironic-tempest-plugin'"
VIRT_DRIVER: ironic
IRONIC_BAREMETAL_BASIC_OPS: True
IRONIC_BUILD_DEPLOY_RAMDISK: False
IRONIC_CALLBACK_TIMEOUT: 600
IRONIC_DEPLOY_DRIVER: ipmi
IRONIC_INSPECTOR_BUILD_RAMDISK: False
IRONIC_RAMDISK_TYPE: tinyipa
IRONIC_TEMPEST_BUILD_TIMEOUT: 600
IRONIC_VM_COUNT: 1
IRONIC_VM_EPHEMERAL_DISK: 1
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
IRONIC_VM_SPECS_RAM: 384
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
SWIFT_ENABLE_TEMPURLS: True
SWIFT_TEMPURL_KEY: secretkey
devstack_plugins:
ironic: git://git.openstack.org/openstack/ironic
zuul_copy_output:
'{{ devstack_base_dir }}/ironic-bm-logs': 'logs'
devstack_services:
c-api: False
c-bak: False
c-sch: False
c-vol: False
cinder: False
s-account: False
s-container: False
s-object: False
s-proxy: False
dstat: True
g-api: True
g-reg: True
key: True
mysql: True
n-api: True
n-api-meta: True
n-cauth: True
n-cond: True
n-cpu: True
n-novnc: True
n-obj: True
n-sch: True
placement-api: True
q-agt: False
q-dhcp: False
q-l3: False
q-meta: False
q-metering: False
q-svc: False
neutron-api: True
neutron-agent: True
neutron-dhcp: True
neutron-l3: True
neutron-metadata-agent: True
neutron-metering: True
rabbit: True
- job:
name: ironic-dsvm-standalone
description: Test ironic standalone
parent: ironic-base
irrelevant-files:
- ^test-requirements.txt$
vars:
tempest_test_regex: ironic_standalone
tempest_concurrency: 4
devstack_localrc:
FORCE_CONFIG_DRIVE: False
IRONIC_AUTOMATED_CLEAN_ENABLED: False
IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
IRONIC_ENABLED_DEPLOY_INTERFACES: "iscsi,direct,ansible"
IRONIC_VM_COUNT: 6
devstack_services:
n-api: False
n-api-meta: False
n-cauth: False
n-cond: False
n-cpu: False
n-novnc: False
n-obj: False
n-sch: False
nova: False
placement-api: False
s-account: True
s-container: True
s-object: True
s-proxy: True

View File

@ -104,30 +104,6 @@
run: playbooks/legacy/tempest-dsvm-ironic-bfv/run.yaml
timeout: 9600
- job:
name: ironic-dsvm-standalone
parent: legacy-ironic-dsvm-base
run: playbooks/legacy/ironic-dsvm-standalone/run.yaml
timeout: 10800
irrelevant-files:
- ^test-requirements.txt$
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^install-guide/.*$
- ^ironic/locale/.*$
- ^ironic/tests/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
required-projects:
- openstack-infra/devstack-gate
- openstack/ironic
- openstack/ironic-lib
- openstack/ironic-python-agent
- openstack/python-ironicclient
- job:
name: ironic-tempest-dsvm-ironic-inspector
parent: legacy-ironic-dsvm-base