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
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
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- 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
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
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
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
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
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
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
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