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
Add new option "IRONIC_INSPECTOR_CLEAN_UP_PERIOD" to devstack
plugin, which allow to configure clean up time of node cache.
The periodics.periodic_task decorator application on
main.py:periodic_clean_up and main.py:periodic_update is postponed
until after the inspector.conf file is read.
Change-Id: Ic6563990c789b1d1c3b72088860a4d13a3d57f29
Closes-Bug: #1639286
Add test, which delete pre-created baremetal vms, and discovers it
via 'enroll' not_found_hook with default configuration.
Note, test contains workaround for working on infra, as infra 'tempest'
user doesn't have access to virsh, for running node and whitelisting
firewall rules on existing node, inspector's inspect api is used.
Change-Id: Ib0ec63295a496229b27552cd1bcf7e763c0c3e03
Adds a new plugin to distinguish PCI devices returned by Ironic
Python Agent. Recognized PCI devices are then registered in node
capabilities and later can be used by nova flavors.
Change-Id: I6565b8c4aa76de240a6c4d795635300ff2d0c30b
Partial-Bug: #1580893
A custom, direct screen call is being used to stop inspector
processes. This breaks grenade testing for me as no screen is used in
that environment.
This patch suggests adopting screen_stop instead. See also project
devstack/functions-common:screen_stop
Change-Id: I63d0c7400ecdff4333ffc31b6607d94f8cf20e18
From now on only rely on the IPA inventory and 2 additional fields:
boot_interface and root_device.
Also updated unit tests to use one inventory example.
Also removed duplicating unit tests and checks in test_process.
Also removed devstack support for the old ramdisk.
Change-Id: Ib382328295fc2c1b9143171b1047304febadcaca
Introspection naturally happens in large bulks, after which it's inactive.
Small pool for DHCP addresses means that we'll have conflicts due to how
dnsmasq distributes them by default - using hashing. This option tells dnsmasq
to allocate IP addresses sequentially instead to avoid these conflicts.
See https://bugzilla.redhat.com/show_bug.cgi?id=1301659 for detailed analysis.
The drawback of this option is that long-running clients may switch IP
addresses if their lease expires. This is not a concern for short introspection
process.
This change may obsolete the need in the delay between 2 introspections.
Change-Id: Id277f3d31902bee16d3b048dbde5c34af905f0bc
Change the default introspection ramdisk kernel cmdline:
* Set ipa-debug=1 to enable IPA debug logging
* Set "vga=normal console=tty0 console=ttyS0" to get some actual logs saved
and visible through virsh.
Change-Id: Ib049d99a096ad626d3fcf8094f5e358d5b91ff92
Closes-Bug: #1549836
The source builder in DIB has been broken for a while now, and anyway
we have to use the CoreOS builder to create an IPA+inspector gate:
I5631866edee42d5358f692e4fbcd82f1a6a1d4db.
We can provide DIB as an option again as soon as it's fixed.
Change-Id: I9a53c3bedd4106a4b03647209ea2a49efa4b2a47
There is no reason for it to be the default 1 hour, as working introspection
ends within 2-3 minutes on the virtual environment.
Change-Id: I9b9b868f7c30e15c0f5131d53958db28d287ca7d
Currently, when execute devstack/stack.sh,
agent tarball is downloaded every time even if
it exists already.
This patch set
* checks whether kernel/ramdisk exists
and if there are, doesn't down load them.
* checks whether ironic agent kernel/ramdisk exists
and if there are, copy them.
Change-Id: Ic546ba8fc0cc14dc7cf13433e09db35a0854d115
Closes-Bug: #1533491
This should land as soon as DIB 1.7.2 hits the gate.
This reverts commit 357bbcbb1f471cbeca5e9d8ba6d9731591f1290b.
Change-Id: Id9560c67f2339eb6a812c5c28b428a68b4138a79
Currently our logging in processing is very inconsistent:
some log strings mention node UUID, some - node BMC IP, some nothing.
This change introduces a common prefix for all processing logs
based on as much information as possible.
Only code that actually have some context about the node (either
NodeInfo or introspection data) is updated.
Also logging BMC addresses can be disabled now.
Updates example.conf (a lot of updated comments from oslo).
Change-Id: Ib20f2acdc60bfaceed7a33467557b92857c32798
Add info logging to actually see the resulting file name, make other
logging improvement.
Also set ironic-inspector to always store logs.
Change-Id: I75fe35a9ce564b0fd23fbe6f5027e0b576195bcd
* Update default log levels
* Make iptables logging more compact by removing newlines
* Enable debug logging in devstack plugin by default
Change-Id: I2af558078cb27edb5f162372d52c048f0e659079
Use DevStack function for that. Also create a signing cache dir
for tokens and clean it on teardown of DevStack.
Change-Id: I4890f4a31883afdfd8d5eb00f2457a7c5c211f88
Closes-Bug: #1484014
Seems like we were using this function in a wrong way, now change
Icc0eb3808a2b6583828d8c47f0af4181e7e2c75a broke us.
Depends-On: I19bb8ada9a6f42d375838cc88a376715918c2a3e
Closes-Bug: #1506436
Change-Id: I6fd6d6ebc9a8057eb3ec90f989c709cbac86b572
MySQL can't use TEXT fields for primary keys. This change switches all them
to VARCHAR(255). This change should not be breaking for SQLite, as it
does not distinguish between these two data types.
README is updated with up-to-date information about the connection option.
Change-Id: I0153855c1827b55067a7c04310bfad7eb71f35fe
Closes-Bug: #1501746
This patch adds a new command ironic-inspector-dbsync which can be used
to sync the ironic inspector database using alembic migrations. It adds
a migration to match the current required db schema.
Change-Id: I21188b3f5003c8ab43d82903473e2a6ef7f755a0
Closes-Bug: #1495620
This patch set adds support for rootwrap in order to execute iptables.
Co-Authored-By: Dmitry Tantsur <dtantsur@redhat.com>
Change-Id: I7c424c17222f119730b8c5ac0daafd9906282e4d
Closes-bug: #1495844
This adds the ability to store all of the data collected
during introspection. The configuration option
"[processing] store_data" (defaults to 'none'), determines
this behavior. Initially, only 'none' and 'swift' are
supported. If 'swift' is used, the data is stored in Swift
with the object name of "inspector_data-<UUID>".
Adds an endpoint /v1/introspection/<UUID>/data which
retrieves the data according to the method in
"[processing] store_data". Returns 404 if this option
is disabled.
There is a further option to store the location of the data
in the Ironic Node.extra column. For 'swift', this will be
the name of the swift object. The option,
"[processing] store_data_location" determines the key
name in the Node.extra column. (defaults to not storing
the location).
Change-Id: Ibc38064f7ea56f85b9f5a77ef6f62a50f0381ff4
Implements: blueprint store-introspection-data
Currently, Ironic-inspector uses SQLite as database.
We should migrate to oslo.db.
In this patch, make database connect operations to oslo_db.
Change-Id: Ibd0f787b570bc101eab9fbd0b59d8a775a95e2e0
Implements: blueprint migrate-to-oslodb
* Put nodes in a proper provision state
* Use Ironic API instead of Inspector one for starting introspection
* Insert sleeps between sending nodes on introspection
* Add check on provision state
* Update devstack/plugin.sh to default to network not overlapping
with devstack-gate default one
Closes-Bug: #1470346
Change-Id: Ib7c8fd32cca792c82030e2235166f05d6a40d747