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
This commit takes example local.conf from docs.openstack.org/ironic
and adds settings needed to run ironic-inpector.
Change-Id: Id1f4f1140526e27a1072181973a9ff695560c97b
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
The devstack example configuration is synchronized with
https://docs.openstack.org/ironic/latest/contributor/dev-quickstart.html
Also remove setting IRONIC_VM_LOGS_DIR from the example local.conf,
as it does not work, at least not on CentOS.
Change-Id: Ife51165742a8b762e84d5ac7ad807480669bfedb
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
We now run services under systemd, and this check is not necessary in
this case. Follow-up to commit ee538d1e7c1a92cb8412713e03cdfbcdacad7fab
to grenade.
Change-Id: I6371b7a244c1aebfba5cb46a595a7bf43a4ee454
Depends-On: I0d6d3e9e60785bb9b6a10c8c7a07867a5b2a5e6e
We now enable plugin and services in project-config.
Drop those duplications from devstack/upgrade/settings.
Reference commit: 0204bd9ef4a09c791983bc1334fd32d09615ab63
Change-Id: Ie24f97eb3dfc8355845e864aebbd5184e900da30
Closes-Bug: #1672448
To support multi-node grenade jobs we need to move enabling of the
ironic-inspector devstack plugin out of the ironic-inspector grenade
settings file devstack/upgrade/settings. But if we add enabling of the
ironic-inspector devstack plugin to project-config it will cause the gate
to break as the plugin will be enabled twice.
This patch is similar to the change done in ironic for the same purpose.
This checks to see if the ironic-inspector devstack plugin has already been
enabled:
* If it has already been enabled it will not enable it again.
* If it has not yet been enabled it will enable it.
This will allow us to update project-config to enable the ironic-inspector
devstack plugin and not break the gate.
After all the changes have landed we will propose a follow-up patch to
remove all this additonal logic and the enabling of the ironic-inspector
devstack plugin.
Change-Id: Id1a5de9a8aefe751b63c1a6a9f2c942fe4c957b1
Closes-Bug: #1672448
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
Current documentation to deploy ironic-inspector with DevStack needs
an update similar to the ironic project.
This patch modifies/updates a section "DevStack Support". Also, it
updates the example.local.conf to a configuration that can be used
as-is to deploy ironic-inspector with DevStack.
Change-Id: I0a4a5198246e3ca69d2bd050dd31c6b468094fcf
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
We already have too many options to my taste, and this does not seem too useful:
we anyway don't log BMC address if it's empty.
I think we should provide consistent logging experience.
Change-Id: I8ae8856bdc1ff26065c626837df9edc3016737e4
In a scenario we want to deploy DevStack with ironic inspector for real
hardware and use OVS_PHYSICAL_BRIDGE for IRONIC_INSPECTOR_INTERFACE as
well we dont need to issue interface delete.
Change-Id: I45271ddc34b5e9d542b6a1499d698503717f5f03
Ironic kernel/ramdisk path variables are local, so checking whether
kernel/ramdisk are downloaded by Ironic or not always fails.
As result Inspector always forced to download inspection kernel/ramdisk
even when it could use Ironic one.
Depends-On: Idf5f61eb922480af2220d6e12c7668b0c756d813
Change-Id: Ie16595bef2bbee7b2ca29b2f4582b4a94a683315
In a scenario when using DevStack and ironic-inspector for real hardware
we dont need to following lines to run in "prepare_environment" function.
Change-Id: I1c1d09364db87f922b047c7fb1c50c047f1377fb
Tempest plugin is enabled in infra configuration with appropriate
branch, so just remove tempest enable.
Change-Id: I2d598e8843d9fe1d344613705c3df10198c0f963
Grenade should only upgrade, and shouldn't setup new services,
remove setup code for case inspector is missing during upgrade.
Also ironic doesn't support this anymore, related code was removed
Id7159aac8c8a343e3d20561cedc4722d87d3e776.
Change-Id: I867215574af7135103876d8004241761a5e2c683