This change moves our devstack plugin away from using the old
scheduling properties: memory_mb, local_gb and cpus. Nova will
stop using them for scheduling in Queens.
The cpu_arch property is left intact, as it's still useful.
The Placement API is polled to determine when nodes are fully exposed
to nova instead of polling the hypervisor stats. cURL + jq are used,
as the Placement OSC plugin is not ready yet.
Change-Id: I497a992bd86e8a359f333d6936621d1136d68061
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
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
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
* 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
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
This is needed to fix the CI broken by glance switching to running
under wsgi, and thus breaking our assumption that glance is accessible
by host:port only.
The options glance_host, glance_port and glance_protocol were
deprecated. Standalone deployments should use glance_api_servers
instead.
Also removes two unused utility functions.
Change-Id: I54dc04ab084aeb7208c9dd9940c6434c029bf41c
Partial-Bug: #1699542
This patch adds an IRONIC_DEFAULT_BOOT_OPTION variable to our devstack
plugin (defaulting to 'netboot').
This will allow for easier setup of a DevStack environment to test local
boot with partition images.
Change-Id: I97986e4627c6c5a014cc1507f655ea824f8ea7c8
This patch configures tempest trigger compute_feature_enabled/interface_attach
to run interface attach/detach tests when network interface is neutron,
and node have more than 1 NIC.
Change-Id: Ic49b6e6d04f06661ad30a7939ba8aa0684cc110e
Depends-On: I48c4706b3eb6e0a5105e463236870921d55dbd93
remove support for specifying client auth in keystone_authtoken config section.
This was deprecated about a year ago and now can safely be removed.
Also, fill the [cinder] section with auth options in devstack.
Change-Id: I0c45d12d80eff45e643af29cded178644071c9fe
This commit adds new parameters 'IRONIC_ENABLED_BOOT_INTERFACES',
'IRONIC_ENABLED_DEPLOY_INTERFACES', 'IRONIC_ENABLED_POWER_INTERFACES',
'IRONIC_ENABLED_CONSOLE_INTERFACES', 'IRONIC_ENABLED_INSPECT_INTERFACES',
'IRONIC_ENABLED_RAID_INTERFACES', 'IRONIC_ENABLED_VENDOR_INTERFACES',
'IRONIC_ENABLED_NETWORK_INTERFACES, 'IRONIC_ENABLED_STORAGE_INTERFACES'
and 'IRONIC_ENABLED_MANAGEMENT_INTERFACES' for running CI with hardware
types.
Change-Id: Ic99e551fab87cb5cea2177f5d8c82703fc2df080
In real world hardware node will have more than 1 NIC, this patch
increase default NIC count to 2 which will allow to test more
realistic scenarios.
Change-Id: I01a45127643e415382ff0897c6b2fb363c7a96fd
It also removes a comma (",") from an error message.
Depends-On: Ie77b220f630babd325e8d31cdc60ddea680c81a1
Change-Id: I3dc1b4df602912516ffdcef0f8bfd0d0750d7698
This patch is extending DevStack to support deploying nodes with the new
`redfish` hardware type.
Closes-Bug: #1526477
Change-Id: I260c3033b3eed996bc4d258f29bb36828d32a950
Ironic upgrade process has pre-requirement that ironic-conductors
should be upgraded before ironic-api. Grenade is launched on primary
node, where we have ir-api and ir-cond runnning. Do not start ir-api
on primary node after upgrade to avoid situation when we have new ir-api
(primary) and old ir-cond (subnode) as it is not allowed by upgrade
procedure. Instead redirect all requests destinied to ir-api on primary
node to subnode.
Depends-On: I026121121059768aa74389add7eee6e63fdb214d
Change-Id: I9e496353a1d3d6547e4881f96fb187e488cff83f
Devstack currently plugs the simulated baremetal VMs into OVS using the
libvirt bridge driver, this caused a problem because libvirt unplugs the
VM from the network when it is turned off. To fix this an extra bridge
was added between the VM and OVS to allow the OVS port to persist even
when the VM was turned off. This patch replaces how the devstack
simulated baremetal VMs are plugged into OVS with a manually created tap
interface, this removes the need for an extra bridge, because manually
created tap interfaces aren't unplugged when the VM is turned off.
Allow to connect several interfaces to a node by setting
IRONIC_VM_INTERFACE_COUNT devstack variable.
Change-Id: I7d0249efc55edb4f3a69aaa5b101dd80df2a563f
Co-Authored-By: Vasyl Saienko <vsaienko@mirantis.com>
This makes our logging setup compatible with USE_SYSTEMD, see gerrit
change I6af6d1857effaf662a9d72bd394864934eacbe70 for details.
Change-Id: I929bebde0ba50a6b9d5e6e0ab7e077b2c02a7849
Currently, VirtualPDU uses 'libvirtd' group, which errors since this
group is not used anymore on ubuntu because we now use the same group
that debian uses 'libvirt'.
This commit change the used group to 'libvirt'. This is the right group
and it's allowed to do changes on virsh.
I would rather use LIBVIRT_GROUP however a bug in the selection logic
sets it to 'libvirtd' group as soon as it exists, even if both exists.
Change-Id: Iddb61356b8a92184ca60a078ea9d929e5b51e629