We no longer have to do it, now that we can remove statuses for removed nodes.
Change-Id: Iacc546d265270983c6a360a92073acde9d9b36c7
Closes-Bug: #1695858
This experimental feature was deprecated in the Ocata release,
as it was found unstable, untested and dangerous.
API version is bumped to 1.12 to indicate this change to users.
Change-Id: I1aad6ddfd03946edc19ae510accd6c8daf5fc268
Closes-Bug: #1654318
The reason we're running rollback may be because some keys are not present.
We don't want to fail due to that, see bug 1686942 for an example.
Change-Id: Iac242df9987f1ce0c7a6db4f70440fa8f2aabc46
Closes-Bug: #1686942
While reviewing the API--Worker split spec we discussed the issues
following from selecting oslo.messaging as the queue implementation.
Because of the at-most-once semantics of oslo.messaging it may well happen
that a task will end up hanging indefinitelly in an active state.
This change allows the node_cache.clean_up() function to pick-up these
"tasks" and "terminate" them by setting the error state.
Change-Id: I696f14d486f10d84aaae5675446138ebdd047ecd
Depends-On: Iaeb99ab1954a1d5303c9bd10b81f7f8d6aa7e731
When using the Inspector rules API to query existing introspection
rules, inspector does not return 'invert' or 'multiple' attributes of
conditions associated with the rules.
Change-Id: I08606cea676ecf57bbb3b73077c4832240fbe0d2
Closes-Bug: #1670372
This is follow up to I66cf0374a2ba4ab4692110daafd4a3d2d20d56d6
Adds missing space, update error message.
Also drop internal info from related release note.
Change-Id: I7a15fecab102fd07e432fd766f714c95c0906e64
Exception along the `starting` inspection code may causes
`no defined transition` error as there is no transition for
`starting` state on timeout event.
Also it could happen if small timeout configured, so there
is not enough time for starting -> waiting transition,
e.g. new greenthread spawn is blocked due to missing of
available slots.
Closes-Bug: #1662494
Change-Id: I66cf0374a2ba4ab4692110daafd4a3d2d20d56d6
This adds the node state when the GET /v1/introspection/<node uuid or
name> API is performed.
Change-Id: I81c6834933f789cb644a854313aacaf49a4856a7
Closes-Bug: #1665664
Set it to True for the PXE-booting port, to False for all the others.
Create an extended functional tests covering various operations with ports.
Change-Id: I435a5c04884b6c4da70cb7260b305fbde23eebc0
Closes-Bug: #1667472
Currently port logic is placed inconsistently: port creation is in core processing,
while port deletion is in validate_interfaces before_update. This changes moves
port creation there as well. This should only affect deployments that tamper with
validation_interfaces hook, as previously port creation was run just before running
before_update hooks.
This allows deployments to replace port creation logic by replacing the
validate_interfaces hook.
Change-Id: Idd8f748fdf31fc694bd7b554837e509024716c18
Partial-Bug: #1667472
This change uses the processed lldp stored by the lldp_basic plugin
to populate the local_link_connection port_id and switch_id.
If processed lldp data cannot be found, the raw lldp data is processed by
this plugin as currently implemented. This patch changes the
processing to use the construct lib as implemented in the common
definitions in lldp_tlvs.py to parse the LLDP TLVs.
A minor change is also made to pass node_info into warning log messages.
Change-Id: Iae3fa41736898df2c73350d8dc61ed24f2963e32
Eventlet doesn't patch subprocess module, see bug [1]. As result
trying to catch subprocess.CalledProcessError exception wouldn't
work. So use subprocess module from eventlet.
[1] https://github.com/eventlet/eventlet/issues/357
Closes-Bug: #1675744
Change-Id: I4a744cef35e9f58c532d979ce61c912cfdfccd97
The reapply API/Action(openstack baremetal introspection reprocess UUID)
doesn't update the started_at time when Ironic Inspector begins processing
the node.
This adds the started_at time when the reapply API/Action is performed.
Change-Id: Ic79db4ba9305841fb662afcb56f556ad4a57a500
Closes-Bug: #1625180
Ironic provision state 'inspectfail' was renamed to 'inspect failed',
but Inspector continues to rely on old name when performing node
provision state validation.
Change-Id: I21763261bfe2015f9ea8984eef62c5b5cb513d2b
Closes-Bug: #1668326
Liberty will never be released again, so I'm changing the 2.2.x to 2.2.7
(the last liberty release of inspector), as a requested followup to the
previous patch.
Change-Id: Id30efb6bab1304e98ea26dfb892805b42e20c4aa
This patch modifies current attributes matching from a single
name-value->node hit to a best-match score.
Also using an UUID as the attributes table primary key to allow exposing
attributes in API later (bug 1525231).
Change-Id: I205e31652b21b9e030b9530149e533b29c52a387
Closes-Bug: 1651719
Partial-Bug: 1525231
InfiniBand is computer-networking communications standard
used in high-performance computing, features very high
throughput and very low latency.
This patch allow ironic-inspector to add the client_id
to ironic port extra. The client_id option allow pxe boot
from InfiniBand interface.
Closes-Bug: #1532534
Depends-On: Ifad453977e5d3be64b34e544f269835a72b4d73f
Change-Id: I479d54c29bcacb6bd5c1ab20033ae6e428b0e744
This adds a plugin to process the raw LLDP TLVs stored in Swift for
the Basic Mgmt, 802.1, and 802.3 data sets and store the parsed data
back in Swift. It implements the TLV processing as described in the
specification:
http://specs.openstack.org/openstack/ironic-inspector-specs/specs/lldp-reporting.html
Change-Id: I854826787ff045ffb2807970deaba8b77cbe277d
Closes-Bug: 1647515
Related-Bug: 1626253
Mostly removes old authentication options and support for [discoverd].
Also update example.conf to the latest version.
Change-Id: Ided8705c4345a1170c211d926d916cec2173ccb9
There is a demand to use introspection on diskless nodes to figure out
what is possible to figure out.
We might need more changes to properly support diskless nodes, this
change is just to allow people to play with it.
The property ``local_gb == 0`` for a diskless node.
Change-Id: I21b2f2c069fdbf767367ec3d1fbf77bab6292b25
Partial-Bug: #1554243
With switch to virtualbmc we can no longer distinguish between virtual
and bare metal nodes. To stay on a safer side, introspection_delay now
affects all drivers.
I'm also aware of similar DHCP problems on bare metal.
Also renamed unit tests for clarity.
Change-Id: I7d69cd899ec4d893b21cc49d59834dd3c83e0fe2
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
Db column started_at and finished_at are defined as float type, but
float time doesn't fit into default db Float size. This change migrates
columns type to DateTime.
Closes-Bug: 1658975
Change-Id: I13bbb3c9a3e6e8bc744473437a378453ebc81318
Nodes old status clean-up has a top-level DB transaction that conflicts
with the node.fsm_event(timeout), eventually causing a deadlock.
Bumping the node.fsm_event(timeout) out from the top-level DB
transaction fixes the issue.
Also remove redundant attributes and options db records clean up and an
unneeded db flush on commit.
Closes-Bug: 1658065
Change-Id: I21a2fd051d0ee05ffa66464d75c912a0968612d6
This feature is dangerous, barely maintained and not covered by any CI.
As it was hidden behind a configuration option, we can remove it without
breaking our API contract too much. This change deprecates the option,
and create an API version with this feature already de-activated.
Change-Id: I9e05c36b8c1194f4eeeb80c1f811e808854974c4
Partial-Bug: #1654318