Switch ironic-tempest-...-tinyipa-multinode to zuulv3

And rename to ironic-tempest-dsvm-ipa-wholedisk-direct-tinyipa-multinode

Change-Id: I6ab7bfa0343e0c8df5814d26e62864f3c66cf7b1
This commit is contained in:
Derek Higgins 2018-09-25 10:31:30 +01:00
parent 8bf0d866ae
commit c67b46e350
6 changed files with 166 additions and 124 deletions

View File

@ -2528,12 +2528,12 @@ function get_ironic_node_prefix {
}
function setup_vxlan_network {
sudo ovs-vsctl add-port $IRONIC_VM_NETWORK_BRIDGE phy-brbm-vxlan
sudo ovs-vsctl add-port br_ironic_vxlan phy-vxlan-brbm
sudo ovs-vsctl set interface phy-brbm-vxlan type=patch
sudo ovs-vsctl set interface phy-vxlan-brbm type=patch
sudo ovs-vsctl set interface phy-vxlan-brbm options:peer=phy-brbm-vxlan
sudo ovs-vsctl set interface phy-brbm-vxlan options:peer=phy-vxlan-brbm
sudo ovs-vsctl add-port $IRONIC_VM_NETWORK_BRIDGE phy-brbm-infra
sudo ovs-vsctl add-port br-infra phy-infra-brbm
sudo ovs-vsctl set interface phy-brbm-infra type=patch
sudo ovs-vsctl set interface phy-infra-brbm type=patch
sudo ovs-vsctl set interface phy-infra-brbm options:peer=phy-brbm-infra
sudo ovs-vsctl set interface phy-brbm-infra options:peer=phy-infra-brbm
}
# Restore xtrace + pipefail

View File

@ -0,0 +1,13 @@
- hosts: all
name: Copy ssh keys from too ~stack
tasks:
- shell:
cmd: |
set -e
set -x
sudo mkdir -p ~stack/.ssh
sudo cp ~root/.ssh/id_rsa.pub ~root/.ssh/id_rsa ~stack/.ssh
sudo chmod 700 ~stack/.ssh
sudo chown -R stack ~stack
executable: /bin/bash

View File

@ -1,109 +0,0 @@
- hosts: primary
name: Autoconverted job legacy-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
from old job gate-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode-ubuntu-xenial-nv
tasks:
- shell:
cmd: |
cat << 'EOF' >> ironic-extra-vars
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
export DEVSTACK_GATE_TOPOLOGY="multinode"
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"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
EOF
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- 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
# Run all ironic tests and the multinode smoke test from nova.
# TODO(dtantsur): add test_attach_interfaces from nova when our
# devstack plugin creates more than one port per node.
export DEVSTACK_GATE_TEMPEST_REGEX="(ironic_tempest_plugin.tests.scenario|test_schedule_to_all_nodes)"
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 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=ipmi
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEFAULT_DEPLOY_INTERFACE=direct"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEFAULT_RESCUE_INTERFACE=agent"
export BRANCH_OVERRIDE="{{ zuul.override_checkout | default('default') }}"
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
if [[ "$ZUUL_BRANCH" != "stable/ocata" && "$BRANCH_OVERRIDE" != "stable/ocata" ]]; then
export DEVSTACK_GATE_TLSPROXY=1
fi
# direct deploy requires Swift temporary URLs
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_ENABLE_TEMPURLS=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_TEMPURL_KEY=secretkey"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=7"
# 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
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'

View File

@ -313,3 +313,148 @@
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: False
IRONIC_VM_EPHEMERAL_DISK: 1
USE_PYTHON3: True
- job:
name: ironic-tempest-dsvm-ipa-wholedisk-direct-tinyipa-multinode
description: ironic-tempest-dsvm-ipa-wholedisk-direct-tinyipa-multinode
parent: tempest-multinode-full
pre-run: playbooks/ci-workarounds/set-stack-key.yaml
timeout: 10800
required-projects:
- openstack/ironic
- openstack/ironic-python-agent
- openstack/ironic-tempest-plugin
- openstack/pyghmi
- openstack/virtualbmc
- openstack/networking-generic-switch
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^driver-requirements.txt$
- ^install-guide/.*$
- ^ironic/locale/.*$
- ^ironic/tests/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
vars:
tox_envlist: all
tempest_concurrency: 4
tempest_test_regex: "(ironic_tempest_plugin.tests.scenario|test_schedule_to_all_nodes)"
devstack_localrc:
BUILD_TIMEOUT: 1200
DEFAULT_INSTANCE_TYPE: baremetal
ENABLE_TENANT_TUNNELS: False
ENABLE_TENANT_VLANS: True
FORCE_CONFIG_DRIVE: True
GENERIC_SWITCH_KEY_FILE: /opt/stack/.ssh/id_rsa
HOST_TOPOLOGY: multinode
HOST_TOPOLOGY_ROLE: primary
INSTALL_TEMPEST: False # Don't install a tempest package globaly
IRONIC_AUTOMATED_CLEAN_ENABLED: False
HOST_TOPOLOGY_SUBNODES: "{{ hostvars['compute1']['nodepool']['public_ipv4'] }}"
IRONIC_BAREMETAL_BASIC_OPS: True
IRONIC_BUILD_DEPLOY_RAMDISK: False
IRONIC_CALLBACK_TIMEOUT: 600
IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
IRONIC_DEPLOY_DRIVER: ipmi
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
IRONIC_INSPECTOR_BUILD_RAMDISK: False
IRONIC_NETWORK_INTERFACE: neutron
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
IRONIC_PROVISION_SUBNET_GATEWAY: 10.0.5.1
IRONIC_PROVISION_SUBNET_PREFIX: 10.0.5.0/24
IRONIC_RAMDISK_TYPE: tinyipa
IRONIC_TEMPEST_BUILD_TIMEOUT: 600
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
IRONIC_USE_LINK_LOCAL: True
IRONIC_VM_COUNT: 7
IRONIC_VM_EPHEMERAL_DISK: 0
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
IRONIC_VM_SPECS_RAM: 384
OS_TEST_TIMEOUT: 2400
OVERRIDE_PUBLIC_BRIDGE_MTU: 1400
OVS_PHYSICAL_BRIDGE: brbm
PHYSICAL_NETWORK: mynetwork
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vlan
Q_PLUGIN: ml2
Q_USE_PROVIDERNET_FOR_PUBLIC: False
SWIFT_ENABLE_TEMPURLS: True
SWIFT_TEMPURL_KEY: secretkey
TEMPEST_PLUGINS: "'{{ ansible_user_dir }}/src/git.openstack.org/openstack/ironic-tempest-plugin'"
TENANT_VLAN_RANGE: 100:150
VIRT_DRIVER: ironic
devstack_plugins:
ironic: git://git.openstack.org/openstack/ironic
networking-generic-switch: git://git.openstack.org/openstack/networking-generic-switch
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: True
s-container: True
s-object: True
s-proxy: True
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: True
q-dhcp: True
q-l3: True
q-meta: True
q-metering: True
q-svc: True
rabbit: True
group-vars:
subnode:
devstack_localrc:
ENABLE_TENANT_TUNNELS: False
ENABLE_TENANT_VLANS: True
HOST_TOPOLOGY: multinode
HOST_TOPOLOGY_ROLE: subnode
IRONIC_AUTOMATED_CLEAN_ENABLED: False
IRONIC_BAREMETAL_BASIC_OPS: True
IRONIC_DEPLOY_DRIVER: ipmi
IRONIC_ENABLED_NETWORK_INTERFACES: flat,neutron
IRONIC_NETWORK_INTERFACE: neutron
IRONIC_PROVISION_NETWORK_NAME: ironic-provision
IRONIC_RAMDISK_TYPE: tinyipa
IRONIC_USE_LINK_LOCAL: True
IRONIC_VM_COUNT: 7
IRONIC_VM_EPHEMERAL_DISK: 0
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
IRONIC_VM_NETWORK_BRIDGE: sub1brbm
IRONIC_VM_SPECS_RAM: 384
OVS_PHYSICAL_BRIDGE: sub1brbm
PHYSICAL_NETWORK: mynetwork
Q_ML2_TENANT_NETWORK_TYPE: vlan
VIRT_DRIVER: ironic
devstack_services:
c-api: False
c-bak: False
c-sch: False
c-vol: False
cinder: False
q-agt: True
n-cpu: True

View File

@ -58,13 +58,6 @@
pre-run: playbooks/legacy/ironic-dsvm-base-multinode/pre.yaml
post-run: playbooks/legacy/ironic-dsvm-base-multinode/post.yaml
- job:
name: ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
parent: legacy-ironic-dsvm-base-multinode
run: playbooks/legacy/tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode/run.yaml
timeout: 10800
nodeset: legacy-ubuntu-xenial-2-node
# TODO(TheJulia): When we migrate to a non-legacy job, we will need to set the BUILD_TIMEOUT
# and the DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT to 1200 seconds to prevent
# needless CI job timeouts as the scale of the job is greater than a normal test jobs.

View File

@ -19,7 +19,7 @@
- ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3
- ironic-tempest-dsvm-ipa-partition-redfish-tinyipa
- ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
- ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
- ironic-tempest-dsvm-ipa-wholedisk-direct-tinyipa-multinode
- ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa
- ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa-indirect
- ironic-tempest-dsvm-ipa-partition-bios-agent_ipmitool-tinyipa-indirect
@ -42,7 +42,7 @@
- ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3
- ironic-tempest-dsvm-ipa-partition-redfish-tinyipa
- ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
- ironic-tempest-dsvm-ipa-wholedisk-agent_ipmitool-tinyipa-multinode
- ironic-tempest-dsvm-ipa-wholedisk-direct-tinyipa-multinode
- ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa
- ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa-indirect
- ironic-tempest-dsvm-ipa-partition-bios-agent_ipmitool-tinyipa-indirect