46 Commits

Author SHA1 Message Date
Derek Higgins
9a01311944 Switch ironic-tempest-dsvm-ironic-inspector too zuulv3
Change-Id: I666407340eae5396069697ef026b66c43dc54ec9
2018-08-10 13:02:37 +01:00
Derek Higgins
e1ab512274 Switch ironic-tempest-dsvm-bfv too zuulv3
Change-Id: I6a70780f77a4c6a806b81deea600ac4b551a1bd2
2018-08-10 13:02:37 +01:00
Derek Higgins
253ce25ef2 Switch ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3
Switch ironic-tempest-dsvm-ipa-partition-pxe_ipmitool-tinyipa-python3
to zuulv3 native.

Also ensure phygmi and virtualbmc are always installed with python2
as pyghmi is still not compatible with python3.

Depends-On: I413ea7ec5db3316f985c38900aa46b8cdfd5d138
Change-Id: I11ad26c354bcbc2a0ed8e2bc78c9403dbcf85326
2018-07-31 09:20:35 +01:00
Derek Higgins
90f7a89016 Switch ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
Switch ironic-tempest-dsvm-ipa-partition-uefi-pxe_ipmitool-tinyipa
to zuulv3 native

Change-Id: I5235edb4e0e98d255fa4787493c96ffcf7c8b33a
2018-07-26 10:35:41 +01:00
Derek Higgins
7ea0ff45bd Switch ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_snmp-tinyipa
Switch ironic-tempest-dsvm-ipa-wholedisk-bios-pxe_snmp-tinyipa
to zuulv3 native.

Change-Id: I0daef9b62cedc5de50d5b51d6ae79046160750d1
2018-07-26 10:35:30 +01:00
Derek Higgins
d11700c3e9 Switch ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa
Switch ironic-tempest-dsvm-ipa-wholedisk-bios-agent_ipmitool-tinyipa to zuulv3 native

Change-Id: I343c05727dbd1fd06f3a2c2beb1b7d6fe8d218bf
2018-07-26 10:35:20 +01:00
Derek Higgins
0b87e6140b Switch ironic-tempest-dsvm-pxe_ipmitool-postgres
Switch ironic-tempest-dsvm-pxe_ipmitool-postgres to zuulv3 native

Change-Id: I618f11871258b9052eea725325656a05b2cb7478
2018-07-26 10:35:01 +01:00
Dao Cong Tien
dd4a4d4111 Update CI jobs for rescue mode
Sets rescue interface to 'agent' for testing rescue mode in most jobs.
The rescue mode is tested in test_baremetal_server_ops.

Also adds support for the new config option in ironic tempest plugin
default_rescue_interface.

Story: #1526449
Depends-On: I6b62724711ddbe17b59dad30283e544272d9c1f3
Change-Id: Ica26aa96978d22a681d69e7e1e4acd72182a4981
2018-07-12 16:13:02 -07:00
Derek Higgins
b61ebd4015 Switch ironic-tempest-dsvm-ipa-partition-redfish-tinyipa
Switch ironic-tempest-dsvm-ipa-partition-redfish-tinyipa
to zuulv3 native

Change-Id: I3f993e7e872b4b57556413c94502ce7df235b0e2
2018-06-29 15:56:38 +01:00
Derek Higgins
f8163fab38 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
2018-06-29 15:56:35 +01:00
Dmitry Tantsur
1a07137118 Remove the ipmitool classic drivers
This change removes pxe_ipmitool and agent_ipmitool. Some tests
and documentation bits are removed, since we no longer have any
classic drivers to provide examples.

The Inspector.create_if_enabled method is no longer used and was
removed. The [inspector]enabled option will be deprecated in
a follow-up.

IRONIC_ENABLED_DRIVERS is removed from devstack to prevent
devstack-gate from injecting the removed drivers into it.
A temporary migration from queens is updated to disable all
classic drivers. It will be removed when the enabled_drivers
option is completely removed.

Change-Id: Iab247e3b3336f90446ef0687edb340cf8282a925
2018-06-27 13:08:42 +02:00
Zuul
f55a39989d Merge "Consolidate the setting of ironic-extra-vars" 2018-06-13 11:13:54 +00:00
Zuul
0fdd8c3195 Merge "Remove dulicate uses for zuul-cloner" 2018-06-13 10:59:02 +00:00
Zuul
30a9872cf6 Merge "Remove the "fake" and "fake_soft_power" classic drivers" 2018-06-09 00:53:27 +00:00
Derek Higgins
500ca21046 Consolidate the setting of ironic-extra-vars
Only use a single shell task to set ironic-extra-vars in each playbook. In
the old project config directory these sections had names like
"ironic-deploy-with-IPA", "ironic-ipxe-disabled" ... but the names have been
lost so keeping them seperate make no sense.

Change-Id: I06176a1cb4a213670b04c5a0e7d8d4a1f3ee94e7
2018-06-07 11:32:29 +01:00
Derek Higgins
a64e119d1f Remove dulicate uses for zuul-cloner
No need to have this code duplicated in each job.

Change-Id: I5dae53962c0ab6ff1e4fa8c6d800abd12b293940
2018-06-07 10:23:02 +01:00
Dmitry Tantsur
d95197628c Remove the "fake" and "fake_soft_power" classic drivers
The grenade configuration is updated to disable the fake driver.

Change-Id: Ica2b466a1a22ca2e5d1362377692cc39ef53ce2c
2018-06-06 16:15:49 +02:00
Dmitry Tantsur
2e7b2bad5b Stop using pxe_ipmitool in grenade
Change-Id: I1673d0adf1128ef65aac7c89fa9b321449156217
2018-06-05 15:37:22 +02:00
Zuul
e44f0dd69b Merge "[devstack] Switch ironic to uWSGI" 2018-05-16 22:36:02 +00:00
Dmitry Tantsur
ee04f565f1 Move API (functional) tests to separate jobs
It becomes increasingly harder to maintain functional tests using the fake
hardware type and integration tests in the same jobs. This change creates
two new jobs (for Python 2 and Python 3) and makes API tests run only in them.

Change-Id: I3570323b22d8d4f19635f26733b3ae92bd0c661d
2018-04-27 18:12:14 +02:00
Vasyl Saienko
b27396db66 [devstack] Switch ironic to uWSGI
This patch switches ironic API to run under uwsgi,
and drops support for running ironic API under mod_wsgi
from ironic's devstack plugin.

It also effectively moves all jobs except grenade ones to
run ironic-api under UWSGI as we start to honor the devstack's
ENABLE_HTTPD_MOD_WSGI_SERVICES variable (which is True by default).

The new variable in devstack plugin to toggle deployment with uwsgi
is IRONIC_USE_WSGI, which defaults to (now confusingly named)
IRONIC_USE_MOD_WSGI for backward compatibility.

Related-Bug: #1719260
Co-Authored-By: anascko <ovoshchana@mirantis.com>

Change-Id: I9ef3aa48db6efe8e2216af785cc13fdb7f754a02
2018-04-17 19:22:12 +03:00
Zuul
34e9d7d630 Merge "Gate: run ironic tests in the regular multinode job" 2018-03-28 16:46:07 +00:00
Dmitry Tantsur
5f03daf21f Gate: run ironic tests in the regular multinode job
We don't specify any regex for this job, so it runs some tests.
They only include test_network_basic_ops, which does not check that
multitenancy is in effect. We have a test for it in ironic-tempest-plugin,
but it does not run anywhere. There is a neutron test for the same,
but it's not a smoke test and it has been skipped for quite some time.

This change switches this job to the run the following tests:
* all ironic tests (that are not skipped for any reason)
* multinode tests from Nova

Unfortunately, this patch uncovers that we don't run any tests for
network attach/detach in practice. The devstack plugin has to be updated
first to support more than one port per node. A TODO is left in the playbook.

Change-Id: I46d94c29f858977604c0a3430257eca2bee977e3
2018-03-28 12:19:12 +02:00
Zuul
c70bc0bd2e Merge "Stop running standalone tests for classic drivers" 2018-03-21 09:35:54 +00:00
Dmitry Tantsur
261df514f7 Gate: stop setting IRONIC_ENABLED_INSPECT_INTEFACES=inspector
First, this is already handled by the ironic-inspector devstack plugin.
Second, this list does not include the fake implementation, and since
we enabled fake-hardware, the conductor no longer starts.

Change-Id: I705ec9d03d33623bd908e1a48f428062041b5d89
2018-03-16 17:08:58 +01:00
Zuul
6da5caa593 Merge "Use node traits during upgrade" 2018-03-13 16:35:26 +00:00
Mark Goddard
cef19cbf0a Use node traits during upgrade
Now that the queens branch has support for node traits in the devstack
plugin [1], we can apply node traits when testing upgrades from queens
or later.

[1] https://review.openstack.org/551938

Change-Id: I99b9487d849ecd5241657d6ca91c2e9f9f7dfcf8
Related-Bug: #1722194
Related-Bug: #1750027
2018-03-12 16:20:36 +00:00
John L. Villalovos
b6c521c797 zuul: Remove duplicated TEMPEST_PLUGIN entry
We don't need to have two TEMPEST_PLUGINS entry of the same value of
/opt/stack/new/ironic-tempest-plugin. One is enough.

Change-Id: I9527b0da0dae1552a320e5257d6f36f9d9446906
2018-03-12 12:17:59 +00:00
Mark Goddard
c8ae2457c7 Register traits on nodes in devstack
This change adds support for assiging traits to nodes in the ironic
devstack plugin.  The set of traits added is configured by
IRONIC_DEFAULT_TRAITS, which defaults to a single trait - CUSTOM_GOLD

Using nodes with traits during testing ensures that we are exercising
node traits code paths in the Ironic CI.

Node traits are not used for upgrade testing, as the queens devstack
plugin does not currently register traits. Once this change is
backported to queens, we can enable traits during upgrade testing.

Change-Id: I18b9dbf8a5b16e36e0cc14f290b12ffdd634364a
Related-Bug: #1722194
Related-Bug: #1750027
2018-02-23 18:59:11 +00:00
Zuul
03cd5ab5b6 Merge "Clean up CI playbooks" 2018-02-22 21:14:25 +00:00
Julia Kreger
93f376f345 Disable .pyc files for grenade multinode
Ironic's grenade multinode suffers from some of unique issues.

* Nova can never be upgraded as there is a static pin that increments
  higher. As such, newer nova can never run with older ironic.
* As Nova cannot be upgraded, it is left running throughout the test
  sequence.

The above two conditions result in possible breaking package upgrades
as the python environments are shared between the old and new
installations.

In order to better isolate the running processes, as would be in
most actual production environments, we need to minimize underlying
inter-reactions due to python library upgrades.

Credit goes to Jim Rollenhagen for coming up with this idea, once the
massive conundrum was fully explained. Thanks Jim!

Partial-Bug: #1744139
Change-Id: Ifdd119d9cdde2ead6c3e36862cc77da67d10f7d1
2018-02-20 03:09:45 +00:00
Dmitry Tantsur
06426493a0 Stop running standalone tests for classic drivers
They are pending removal this cycle anyway. Removing them will free
up CI resources for more standalone tests in the near future.

Depends-On: I90f8b42113d6621c7af644fdb4c76d5f3dde318e
Change-Id: Icdcc4f0ddd336cc44dbfabc2b1a3c21b3c270803
2018-02-13 17:18:26 +01:00
Dmitry Tantsur
5233ef0f96 Clean up CI playbooks
The job scripts are purged of shell conditions that are never true
and variables that no longer have effect.

The resourceclasses job is removed completely, as all jobs now run
with resource classes.

Change-Id: I66a5e4f5f7214bcf9aeab8ee8d46a323610ff333
2018-02-12 14:07:00 +01:00
Sam Betts
3625bda6f8 Revert grenade jobs to classic drivers
This reverts the grenade job driver changes from commit
fa850c80cbc701f1252dabcd3f514bca0148f54d. Local config settings in the
grenade jobs are used for the previous version (old) devstack plugin in
the grenade run. So the local config defined here must match how we want
the old devstack setup, not the current (new) devstack.

Change-Id: I3d5aa1da6879a0c624b5196632886da32e12d7d7
2018-02-07 16:26:41 +00:00
Sam Betts
dcc5546b49 Use zuul.override_checkout instead of custom branch_override var
To override the branch correctly in both zuulv3's playbook loading we
have to use override_checkout in the job. This variable already gives us
the information we need to set the override branch, so use that instead
of the custom branch_override variable so we don't have to define it
twice in the job.

Change-Id: Iec7be918f75e3400197748385b287fb945d761ac
2018-02-05 11:07:55 +00:00
Zuul
d6c5927c38 Merge "Switch the CI to hardware types" 2018-01-31 04:30:36 +00:00
Julia Kreger
904f44522b Be more sane about cleaning
Seems that by default we now run cleaning
on all jobs. However, this is extremely wasteful
and time consuming. Also, if a cloud is IO resource
constrained, it can result in jobs failing erroneously
due to unpredictable IO performance, particularly with
the multinode jobs.

As such, slightly extend the wait timeout before we
fail for nodes not being ready, and flag multinode
jobs not to run cleaning.

Change-Id: I12011743fa197caef08a3d6d1297d662dfa7640a
2018-01-24 12:57:05 -08:00
Dmitry Tantsur
fa850c80cb Switch the CI to hardware types
Note that the job names are not changed to reduce the diff of this
patch. They will be renamed in later changes.

For the direct deploy, copy Swift temporary URL configuration from
devstack-gate (it hardcoded agent_* there).

Also clean up no-op conditions on drivers left from the times when
the job definitions were parametrized.

Change-Id: Ib0297f8936bba9449a02fb1a878981ab55687ef9
Partial-Bug: #1690185
2018-01-24 15:56:36 +01:00
Pavlo Shchelokovskyy
fbcc4df961 Setup ansible interface in devstack
- enable ansible deploy interface
- install Ansible version from driver-requirements.txt
- generate private SSH key to use by Ansible (if absent)
- add the public ssh key to the tinyipa image during (re)build

By default nodes are not enrolled with it, as they will be assigned this
driver/interface in standalone tests.
For local development, nodes can be enrolled by setting

  IRONIC_DEFAULT_DEPLOY_INTERFACE=ansible

in local.conf and enabling 'ansible' deploy interface in the
IRONIC_ENABLED_DEPLOY_INTERFACES variable.

Change-Id: I12c1727c3ded13c381852334cb54e5e976154e98
2018-01-15 11:34:24 +00:00
John L. Villalovos
844cd0436a zuul: Update TLSPROXY based on branch
We can not use DEVSTACK_GATE_TLSPROXY=1 when building stable/ocata.
Update it to not set it if we have BRANCH_OVERRIDE or the ZUUL_BRANCH
set to stable/ocata.

This will allow us to build stable/ocata from the
openstack/ironic-tempest-plugin gate jobs.

Change-Id: Id487b997a9d83c5daf2f9284a4e80e1f90fe6ce2
2017-12-22 09:06:59 -08:00
John L. Villalovos
8490f75607 zuul: Add ability to specify a 'branch_override' value
To be able to run a job on a different branch add the ability to
specify a 'branch_override' value. We will use this in the
openstack/ironic-tempest-plugin testing to be able to check changes
against our stable branches.

Change-Id: I939ab8c410b39658b4209a41a91c3339802d134b
2017-12-20 14:28:39 -08:00
John L. Villalovos
27e44605a4 zuul: Remove some redundancy by consolidating the 'post.yaml' files
All the 'post.yaml' files are identical. Put them in the two parent
jobs so we only have two copies instead of ~14 copies.

Change-Id: Ic8e519d597ec8423ad1040b4f4671fae0662f2db
2017-12-20 14:12:53 -08:00
John L. Villalovos
cf8b62e86b Use the tempest plugin from openstack/ironic-tempest-plugin
Follow-on patch will delete the
openstack/ironic/ironic_tempest_plugin/ directory. But this will need
to be done after this patch has been backported to the stable
branches, otherwise the stable branches will break.

Change-Id: I31bb088679ea122efaa91d362e613edb74c14254
2017-12-14 15:40:02 +00:00
Vasyl Saienko
9dbef539b7 Fix image type for partition-pxe_ipmitool-tinyipa-python3 job
partition-pxe_ipmitool-tinyipa-python3 was always launched on wholedisk image
while according to name it should be partition.
This patch fixes it.

Change-Id: Ic52d5943cc951f48dc678ad36a2e09fd916a3cad
2017-11-15 17:12:48 +02:00
John L. Villalovos
20d5141cd4 project.yaml: Remove 'branches:' & jobs that don't run on master
Remove jobs which are not running on master based on their 'branches:'
specification.

Remove the 'branches:' specification on all jobs.

Also remove the jobs from zuul.d/legacy-ironic-jobs.yaml and
corresponding files in playbooks/legacy/

Change-Id: I8e068fa30feb98c32a8caa6b106a02cf3280b195
2017-11-06 23:28:59 +00:00
Sam Betts
4b37c29b5e Move ironic legacy jobs into the ironic tree
This patch moves the legacy ironic CI jobs into the ironic tree instead
of storing them in openstack-infra/openstack-zuul-jobs to give us
control as we migrate the legacy jobs to the new ansible roles.

Change-Id: Ib728fadbdab2eb9f1ba5112297a32dbdbfd1d5fd
2017-10-18 16:52:46 +01:00