Adds explicit handling of scope enforcement setting by putting
the appropriate settings in place, and handling the appropriate
configuration to communicate back with ironic based upon supplied
environment variables.
Change-Id: Ia27b26990e52b5b4ffb49b2fee3bdcca41dd75a9
Since pymemcache 3.4.0, localhost will first translate to ipv6 ([::1])
if possible instead of ipv4 (127.0.0.1). Since memcached is running in
the ipv4 interface, we need to point tooz to the right endpoint.
Depends-On: https://review.opendev.org/c/openstack/requirements/+/772684
Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
Change-Id: Iddf558cd598e41ffead11e164ce2fb1720d15f34
Adds the ironic-inspector-status command as well with the
requried upgrade check.
Mostly based upon https://review.opendev.org/#/c/763262/
which is based upon https://review.opendev.org/#/c/748059/
Note: Also had to update the version of eventlet because
existing minimum requirement was seemingly incompatible with
prior versions and would prevent lower constraints testing
to proceed due to issues with ``os`` being patched by eventlet.
Change-Id: I1f479f834f1d79e9eeb591c58a52b6ab80c24534
The previous uwsgi invocation assumed that the uwsgi binary is in the
same directory as the project binaries are installed into (probably
/usr/bin). That may not be correct -- for example if using a packaged
uwsgi on Fedora the binary will live in /usr/sbin/uwsgi (not /usr/bin
where the project files from pip are).
Switch the invocation to just find it in the path.
Additionally, grenade is disabled, otherwise we cannot land this change
without fixing stable branches first.
Depends-On: https://review.opendev.org/#/c/731159/
Change-Id: I66d0554dc6d0ec6ef019b5310cd887a5415c2e03
Inspection can sometimes take longer based on multiple factors.
This patch adds a variable to control the node inspection timeout.
Change-Id: Iefac618d73ccba3b58baefdc6b993758622b8811
Discovery can take longer based on which image we use for testing.
This patch adds a variable to control the discovery timeout.
Change-Id: I5654d4bf5131ab4c900f9dfd77358c5f8100b38a
The pymemcache package is needed by ironic-inspector-api process
when running in non-standalone mode.
Since devstack doesn't install test-requirements anymore, we need
to force installation in the devstack plugin before the inspector
processes start.
Change-Id: Iff0de5eb99db4a3dcb0d5ff09b908484f9532492
Swaps the URLs so we can eventually feel safe in removing
the CoreOS IPA images from tarballs.openstack.org.
Change-Id: I99425ab20d34019b327ac8887b382cfea74f779c
The devstack plugin is updated to skip configuring PXE environment
if managed mode is requested, so that only ironic's PXE environment
is usable.
Change-Id: Ib7b83210a02b727d94dfa15bde43e7fee2e51531
Story: #1528920
Task: #37254
Allow ironic-inspector devstack to specify processing_hooks
in configuration, so as to be able to support non-default
hooks such as 'extra_hardware'.
Change-Id: I16c50d45eab2415854105117641bc7d9aca4dd22
Move ironic-inspector API under apache+uwsgi for the non-standalone job.
Story: 2001842
Task: 30376
Change-Id: I27291003b18beda0a9ddb79d38f615df9e8499ac
The job uses memcached for coordination backend, etcd3gw still has issue
on retrieving members.
Story: 2001842
Task: 30376
Change-Id: I76c359d6835e435968cbfb1a3f4318e73f0203ec
This change adds an option to publish the endpoint via mDNS on start
up and clean it up on tear down.
Story: #2005393
Task: #30384
Change-Id: Ia9407cb065979aac6761d3e4122d3884e45b559d
Ironic-inspector database is a default config for
our devstack deploy. Sometimes we won't to use Swift,
and directly use database for store data.
This patch adds a variable for introspection
store_data.
Depends-On: https://review.opendev.org/#/c/658238/
Change-Id: I6a8888b778f517bee49705ee74463ae39b2b9163
Otherwise updating a driver requires listing all interfaces with their
new values. This patch is designed to be backportable, so it has
a fall-back to the previous behavior if the required API version and/or
ironicclient versions are not available.
Story: #2005148
Task: #29854
Depends-On: https://review.openstack.org/#/c/643264/
Change-Id: I115b92b9d7bcdbb1c03f0d259dbba6efd2baec2a
In testing discovery or more advanced workflows in CI
that incorporate with inspector, it is generally useful
to enable the post processing power setting to be updated.
Change-Id: Iece696e91edd78f42bde21738442d0b27ea3dafa
This patch is part of work splitting inspector api and worker.
The rpc server is wrapped into oslo.service, and launched from
api process.
Now api and worker belongs to separate thread, functional tests
use the fake messaging driver, while devstack jobs use rabbitmq.
Change-Id: Ie03d16f9d115c3561723463dea6a57d2a763bcc6
Story: #2001842
Task: #23109
The fake classic driver will be removed this release.
Depends-On: Ia0e95cbc1bb4dbd32793705b876ab8b474b753ad
Change-Id: I85f2a2a3ed1ca689c639c60e86853c821e808105
In some cases we would like to add additional
params to kernel command line during inspection.
For instance to collect lldp info by adding
ipa-collect-lldp=1 to kernel command line.
Define IRONIC_INSPECTOR_EXTRA_KERNEL_CMDLINE in local.conf
when installing ironic-inspector with devstack
Change-Id: I935d03983ff9f92162b00363bae767262e73aa82
It is now required due to https://review.openstack.org/550811
Depends-On: I705ec9d03d33623bd908e1a48f428062041b5d89
Change-Id: Ic1818f4f03de396550e99afc47da2be0212b47fa
Now we have docs, lets point people there rather than attempting to
maintain a copy in tree.
Also update the devstack plugin to build ironic.conf from scratch rather
than from the sample.
Change-Id: Id65a4f803832fefe467d59147c39d2dea604ed3c
The granade job is left intact, as it requires IRONIC_ENABLED_INSPECT_INTERFACES
devstack configuration, which was introduced in Queens.
Change-Id: I0742a0c06a7ecf6ca03673f18f37fdb7ee003aa2
Depends-On: Ib0297f8936bba9449a02fb1a878981ab55687ef9
Inspector sets API urls for ironic and swift from the config.
The better way would be to discovery them from the keystone
catalog.
Supporting this requires to register keystoneauth adapter
options to all config sections for service clients auth.
swiftclient still does not support adapter session client, so
pass all options from adapter explicitly.
New options were added 'service_type`, `service_name`, `region_name`
`endpoint_override`, `interfaces`.
Related-Bug: #1699547
Change-Id: I2e7ec02fdeeea21ef43136ddeabc98d499a8ba7f
Co-Authored-By: Anton Arefiev <aarefiev@mirantis.com>
plugin.sh now recognizes additional dnsmasq pxe filter configuration
options:
IRONIC_INSPECTOR_DHCP_HOSTSDIR
IRONIC_INSPECTOR_DNSMASQ_START_COMMAND
IRONIC_INSPECTOR_DNSMASQ_STOP_COMMAND
and configures both the inspector and dnsmasq accordingly.
The playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml now
executes with dnsmasq pxe filter driver.
The inspector_iniset function was updated to be able to set option values
consisting of multiple words.
Change-Id: Ib0879e0045e28ae778d2de6c1b5cd23f5fafda17
The [firewall] group was deprecated but our devstack still uses it. This
patch replaces the IRONIC_INSPECTOR_MANAGE_FIREWALL=True/False variable
with an IRONIC_INSPECTOR_DHCP_FILTER variable with a default of 'iptables'
and sets the [pxe_filter]driver config value. The
IRONIC_INSPECTOR_INTERFACE is now set in the [iptables] config section.
Change-Id: Icf6fe6c6a98ab815edefe3c0e1ec3ce9a064bf2e
This patch adds py35 gate for ironic-inspector and
also adds support for inspection in python3 environment
by rolling out configuration of swift in inspector.
Change-Id: I83429a1ba79208245f6c6e1f8b4eb8a16f014868
Ensure that brbm-inspector is connected to brbm only when
IRONIC_IS_HARDWARE=False and IRONIC_BAREMETAL_BASIC_OPS=True.
Otherwise bridge brbm does not exist and stack.sh exits with
error.
Change-Id: I8c255a0140ec6b33f801d13ca10a2bb19e7469f6
Closes-Bug: #1670595
* Use absolute path for dnsmasq, as systemd rejects relative and implicit paths
* Provide "root" user to run_process instead of an explicit sudo
* Use the generic devstack function to setup logging
Change-Id: I4511a60ccb7c374393bdf78a03507ab958bbb9e7
We don't create brbm-inspector veth interface in case hardware env,
so setting MTU on non-existing interface fails.
Change-Id: I126277f655b7dc33f43e4c0e4e1730da2013efd2
Closes-Bug: #1680246
This patch pick correct MTU for veth pair created by inspector to avoid
errors when packets are dropped.
Change-Id: Ie1036ca75c9561393f4efc2478d0a2c9cba9e089
devstack/plugin.sh hardwires brbm as the VM bridge.
Referencing ironic plugin VM variable makes more sense.
Change-Id: I89fe2050bc4fd166fc8e0b649daa195091364ba2
Closes-Bug: 1641019
Part of ironic-inspector devstack plugins cleanup proceedure is to try
to delete the ironic-inspector network interface if it isn't the ovs
bridge. This means that if you configure devstack to point at a real
network interface it'll try to delete it and fail breaking devstack.
Change-Id: I4f18edcf86278cce787a5f33f3d9f2444d738f2c