From 6e985388d2aa35a06ab9ace6be1bc4279fdb2769 Mon Sep 17 00:00:00 2001 From: Devananda van der Veen Date: Fri, 14 Mar 2014 06:57:54 -0700 Subject: [PATCH] Add experimental virtual-ironic test Add a test to set the necessary ENV flags and prepare the devstack environment to test Ironic with "fake" bare metal VMs, and cause devstack to configure Nova to use the "ironic" virt driver. Create both voting and non-voting jobs for this test, and add them to the appropriate pipelines. Make them all non-voting initially, and we'll switch on the voting ones once things pass a few times. Change-Id: I22abdaaab7fcd9c636f12dd53b7bdf43acbcc9cf --- .../config/devstack-gate.yaml | 49 +++++++++++++++++++ .../jenkins_job_builder/config/projects.yaml | 5 ++ .../openstack_project/files/zuul/layout.yaml | 6 +++ 3 files changed, 60 insertions(+) diff --git a/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml b/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml index 8119dc06a7..92e7ed9f08 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/devstack-gate.yaml @@ -412,6 +412,54 @@ - console-log +- job-template: + name: '{pipeline}-tempest-dsvm-virtual-ironic{branch-designator}' + node: '{node}' + + wrappers: + - timeout: + timeout: 125 + fail: true + - timestamps + + builders: + - link-logs + - devstack-checkout + - shell: | + #!/bin/bash -xe + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TIMEOUT=120 + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_IRONIC=1 + export DEVSTACK_GATE_SMOKE_SERIAL=1 + export BRANCH_OVERRIDE={branch-override} + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + export BM_BUILD_DEPLOY_RAMDISK=True + export BM_DEPLOY_FLAVOR="-a amd64 ubuntu deploy-ironic" + export IRONIC_VM_COUNT=1 + export IRONIC_VM_SPECS_RAM=512 + export IRONIC_VM_SPECS_DISK=10 + export IRONIC_BAREMETAL_BASIC_OPS=True + export VIRT_DRIVER=ironic + + IP=$(ip addr show eth0 | grep 'inet ' | sed 's/inet \([0-9\.]*\)\/.*/\1/' | tr -d ' ') + sudo sed -i "s/#ListenAddress 0.0.0.0/ListenAddress $IP/" /etc/ssh/sshd_config + sudo service ssh restart + + sudo add-apt-repository cloud-archive:havana + sudo apt-get update + + 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-marconi{branch-designator}' node: '{node}' @@ -1073,6 +1121,7 @@ - '{pipeline}-tempest-dsvm-sahara-neutron{branch-designator}' - '{pipeline}-tempest-dsvm-ironic{branch-designator}' - '{pipeline}-tempest-dsvm-ironic-postgres{branch-designator}' + - '{pipeline}-tempest-dsvm-virtual-ironic{branch-designator}' - '{pipeline}-tempest-dsvm-marconi{branch-designator}' - '{pipeline}-tempest-dsvm-all{branch-designator}' - '{pipeline}-tempest-dsvm-coverage{branch-designator}' diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml index ef5bf04e7a..bc695f936a 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml @@ -1738,6 +1738,11 @@ node: 'devstack-precise || devstack-precise-check' branch-designator: '-nv' branch-override: default + - '{pipeline}-tempest-dsvm-virtual-ironic{branch-designator}': + pipeline: check + node: 'devstack-precise || devstack-precise-check' + branch-designator: '-nv' + branch-override: default - project: name: python-ironicclient diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index beee18d845..3b78f6e2fa 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -321,6 +321,8 @@ jobs: voting: false - name: check-tempest-dsvm-ironic-postgres-nv voting: false + - name: ^check-tempest-dsvm-virtual-ironic.*$ + voting: false - name: ^(gate|check)-tempest-dsvm-large-ops$ branch: ^(?!stable/grizzly).*$ - name: ^(gate|check)-tempest-dsvm-neutron-large-ops$ @@ -824,6 +826,7 @@ projects: check: - check-tempest-dsvm-ironic - check-tempest-dsvm-ironic-postgres + - check-tempest-dsvm-virtual-ironic gate: - gate-tempest-dsvm-ironic - gate-tempest-dsvm-ironic-postgres @@ -2132,6 +2135,7 @@ projects: - gate-grenade-dsvm-forward - gate-tempest-dsvm-trove-full - check-tempest-dsvm-marconi + - check-tempest-dsvm-virtual-ironic-nv experimental-tripleo: - check-tripleo-seed-precise - check-tripleo-undercloud-precise @@ -2372,6 +2376,7 @@ projects: experimental: - check-tempest-dsvm-marconi - gate-grenade-dsvm-forward + - check-tempest-dsvm-virtual-ironic-nv - name: openstack-dev/grenade check: @@ -2574,6 +2579,7 @@ projects: - gate-swift-dsvm-functional experimental: - gate-grenade-dsvm-forward + - check-tempest-dsvm-virtual-ironic-nv experimental-tripleo: - check-tripleo-seed-precise - check-tripleo-undercloud-precise