cloud-init will use fall-back config when network metadata
is *not* present. This works fine if the first NIC on the node is
connected to a network with DHCP. But, when the first NIC is not
used for provisioning, cloud-init will only write a fallback config
for the first NIC. This causes the provisioned node to be unavailable.
Extend instance configuration to include network metadata so that
cloud-init can configure node networking.
Story: 2009238
Task: 43378
Change-Id: I70f1a972a6d5a0398cd348f00308957386d66067
This change switches from a mix of metalsmith and SDK exceptions
to consistently using metalsmith exceptions.
Change-Id: I43339686a42644877dbe40d1116db1585a8a0800
After the switch to openstacksdk we no longer have a sufficient check
on node's availability or maintenance. This patch restores it.
Change-Id: I2c85cf0adb02061b3dd85f19dd10c8a5af1118da
Currently show_instance returns an Instance even if the requested node
is not actually an instance (e.g. just an available node). This change
corrects it. Make list_instances consistent with it.
Also make the states a proper enum to avoid consumers from using invalid
values (I did it several times when working on this patch).
Change-Id: If9aad0d7f4d10a7119d1f0bccc1cc32a918a72e3
Remove ValidationFilter, make it a part of reservation to avoid calling
it too many times. Fix AttributeError on failing the custom predicate.
Remove double validation in the reserver, we do another validation later
on anyway.
BREAKING: changes the exception classes.
Change-Id: Ibc3815989917ab777298a05810fd8f3e64debc8f
Story: #2003584
Task: #26178
Check that
1. Maintenance is off
2. Not reserved by something else
If the node is not reserved, reserve it now.
Change-Id: Iad754c6f4eea461f2859dc46892f2a705ebb6733
Moved public access to exceptions from metalsmith itself to
metalsmith.exceptions to avoid clutterning the former.
Updated tox.ini to use upper-constraints.
Change-Id: I136e036749171dc6d36d644e79c6fcfeef6242af