as we move toward deprecating classic drivers,
we need a way to specify which particular combination
of interfaces of a hw type to assign to nodes being enrolled
and run test against.
This patch adds a number of IRONIC_DEFAULT_<>_INTERFACE
variables to devstack plugin (all empty by default)
and if set, sets their value as "[DEFAULT]default_<>_interface"
config option.
Change-Id: I9fc22125ddd3c70ff37185d025df1dfa3217a782
This patch replace tap interfaces by veth pairs which
ensures that port is always present in ovs even when VM
is powered off.
Closes-Bug: #1722158
Change-Id: I04ff6a97bebf15636a794b51f748c62eda627d36
Comment some of the variables related to multi-tenant networking. To
make it clear what turns on multi-tenant networking testing.
Change-Id: I6126dd385c6a341e18b825c00d4afe9194d32b35
Run ironic-dbsync online_data_migrations on single node grenade
right after usual dbsync.
Do not set pin_relase_version for single node grenade as we
do cold upgrade and it is not required.
Related-Bug: 1526283
Related-Bug: 1502887
Change-Id: I2e331252aeb66376c2d6cc3c16b6de0aefca5434
This reverts part of commit 30bc3c0933a1072e5e4c48b4614f5f387ffd8327.
On master, when upgrading from pike to queens in grenade, we already
create all the nodes with a resource class being set, so no need to
update it. We still pass the parameters to verify and verify_noapi as
that's what grenade does.
Change-Id: Ic7c3218fe95ef9f73d358216831158a1ec025fba
Currently ironic explicitly or implicitly sets the API urls
for most services in the config.
This is quite fragile and we should move to discovery from
the keystone catalog eventually.
To support this, this patch registers `keystoneauth1.adapter.Adapter`
options to all config sections for service clients auth.
Among others it exports `interfaces` option that we set to
['internal', 'public'] by default.
Other exported options are `service_type`, `service_name`, `region_name`
and `endpoint_override`.
The latter will eventually be used by all clients to specify a specific
endpoint to use (for example in noauth mode).
Effectively this patch starts to move all clients code to load client
configuration from config for all of auth, session and adapter.
The first to move is [service_catalog] section, with [conductor]api_url
option being deprecated in favor of [service_catalog]endpoint_override.
A sane default of 'service_type' = 'baremetal' is set for this config
section as well.
More patches moving other clients to consume these new options and
deprecate some other options will follow.
Change-Id: I1283ef3b4d736ac089df0cc74a5850a93b24b6ab
Partial-Bug: #1699547
Related-Bug: #1699542
this will allow any other devstack plugin that depends on ironic to
easier extend the list for a particular enabled interface type
current explicit defaults are copied from current ironic.conf.sample
Change-Id: I1e22a8dc4bb57e1b1e1002baab38ba2f3ba8f230
This is done to trigger a bit of code from commit
c3118b91db4b97a689c9a2f25a9554a0ccb29252 to nova for active nodes.
Change-Id: I1ac1b8501cbed901941e7c89fc55c5b9bea0cb4f
As we do not upgrade nova on multinode grenade, there is no need to
restart it. This way we avoid breaking n-cpu service, as new
dependencies are installed and they may not work with old code.
Change-Id: Id0c13704654d43a663458b9c099a1a0477c746a6
Nova do not wait for cleaning is completed when deleting instance
as result after destroy phase ironic may still perform cleaning.
This patch ensures all nodes are available again after base smoke tests
finished and hypervisor stats are updated.
We still need to wait for resources after destroy phase which will be
done in separate patch as changes to grenade workflow are needed.
Change-Id: Ib6c5a0543533893664cb3e895286d0e226e364d2
Scheduling based on properties is disabled completely.
Properties are still populated for nodes, we need to figure out
an appropriate wait loop without them first.
Depends-On: I2fd1e4a95f000da19864e75299afa51527697101
Change-Id: I58601cb8301e23560ea666d4ea088ce51af37ee6
Instead, use the common_settings file to source all the variables
we need at the early stages of devstack setup and during the upgrade
itself. This also fixes an issue with the networking-generic-switch
upgrade script, which is run from the old release instead of the new
one.
It depends on a patch from an older release, as grenade is setup
using settings from an older release, we need common_setting to be
populated there.
Change-Id: I0d6d3e9e60785bb9b6a10c8c7a07867a5b2a5e6e
Depends-On: I34fb68c150b753824bd2687a1f522ac87771a5e3
We now run services under systemd, and this check is not necessary in
this case. Follow-up to commit ee538d1e7c1a92cb8412713e03cdfbcdacad7fab
to grenade.
Change-Id: I84ca621f0200838c04e267101848dc7ca16a5cfe
This patch updates the old links existing in ironic code as comments.
Change-Id: I75f68b042448cc01d55fdcfec86b42ecacd8fdd3
Co-Authored-By: Chason Chan <chen.xing@99cloud.net>
* Use only OSC commands instead of a mix of both CLI
* Switch to "latest" API version, as we're anyway going to use it by default
* Always set resource_class to something, as it's required since Pike
As a side effect, it enabled cleaning before nodes become available.
Change-Id: I36bf8d8204b0287a862a354760071ab3bdafbabc
SSH drivers are being unsupported for about a year now. All current
stable branches of ironic are officially supporting IPMI-capable HW
simulation via virtualbmc.
All ironic-related gate jobs have already been switched
to not use or enable those drivers.
This patch finally removes SSH-based power and managemtnt driver interfaces
and all classic drivers using those from ironic code and documentation.
Related exceptions and `ssh_connect` function, together with dependency
on `paramiko` package are removed as well.
Change-Id: Ieda7249b9cd78e3be1eff37804996295fc8d3969
Closes-Bug: #1570301
Depends-On: I9b60c9fa24652e9e64e787cd4e5b0152f51e7a28
The reschedule, that happens in multinode jobs quite often, does not
work with multicell setup. Don't use multicell setup for our Ironic
jobs.
Increase the http timeout for clients in order to work around neutron
issue.
Change-Id: I2bbdac5cd431e72517cb1c72bb925660ec8e868b
Multi-node grenade jobs will fail if we upgrade nova as the minimum
required API for nova to communicate with ironic was upgraded.
Our goal for multi-node grenade is to test rolling upgrades. The
scenario we envision for rolling upgrades to be done is:
1) Upgrade ironic-conductor services one by one. This means old
ironic-api services communicating with new and old
ironic-conductor services. This is what the multi-node grenade job
tests.
2) Upgrade ironic-api services.
3) Upgrade nova
In this upgrade procedure we should not be running updated nova with
old ironic-api services. This patch fixes that.
Closes-Bug: #1706418
Change-Id: I85c607ae7d031e4cabcb505915aca7e88df166aa
Added a condition to not to use deploy iso when boot interface
'ilo-virtual-media' is not enabled.
Change-Id: I97e20f4723967ee14de0d41d6b99149f12f4d2f1
The IPMI commands fail for virtualbmc. This is a workaround
fix to enforce virtualbmc to be installed in python2 as
pyghmi is not ready for python3.5 yet.
Related-Bug: 1696736
Change-Id: Ie4ca923ef0b8363d2f016ebc5be4b2512d3b9a1a
* pass ipa-insecure=1 to the ramdisk
DevStack is moving to having TLS by default with self-signed certificates.
As embedding these certificates in the image will require rebuilding it
on every run, let's just not verify them in devstack.
* enable running ironic-api behind tls-proxy
Change-Id: Id1c3c44e044c2741f7f3f2ce5510a11ebb2344d9
Closes-Bug: #1694842
Co-Authored-By: Ramamani Yeleswarapu <ramamani.yeleswarapu@intel.com>
Enable being able to set the interfaces for a node that is in the
provision state 'available'.
Change-Id: I428dd5905e6ab90c2c0b7867ba487482171b9496
Closes-Bug: #1704913