10476 Commits

Author SHA1 Message Date
Zuul
39a38ecf4e Merge "Add an option to choose the hash ring algorithm" 2020-07-23 17:31:00 +00:00
Zuul
49301bf46e Merge "Extend PXE boot retry timeout for RAX hosts" 2020-07-23 16:54:38 +00:00
Zuul
17e94197a1 Merge "Convert root path / to use plain JSON" 2020-07-23 15:45:04 +00:00
Zuul
5d872507d4 Merge "Rename Response to PassthruResponse" 2020-07-23 15:45:01 +00:00
Zuul
fbc3c798a1 Merge "Adds boot mode support to iLO management interface" 2020-07-23 09:50:12 +00:00
Zuul
f556e8fdff Merge "Document fast-track and the agent power interface" 2020-07-23 04:49:02 +00:00
Zuul
8418e651c3 Merge "Add agent power interface" 2020-07-23 04:48:55 +00:00
Zuul
0e26dfe839 Merge "Account for power interfaces that cannot power on" 2020-07-23 04:48:48 +00:00
Zuul
8f754180e8 Merge "Remove old driver name from cross-gating job" 2020-07-23 03:14:54 +00:00
Julia Kreger
67e51af6d5 Extend PXE boot retry timeout for RAX hosts
When extending the timeouts for jobs to execute with-in,
we've observed a case where RAX hosts are cutting off at
the time limit of 900 seconds (as being asserted by another
change set). This is both good and bad. We know the timeout
feature works, but the agent was not quite online yet.

As such, we should also auto-extend base retry timeouts
so there is hope for the job to complete.

Change-Id: I8efa3a52188de558a7964d1daafd2225e102e251
2020-07-22 10:41:07 -07:00
Dmitry Tantsur
9189b4bb26 Add an option to choose the hash ring algorithm
MD5 is not available in FIPS mode, we need a way to use something else.

Change-Id: Ie6e09ac66028cbe18717a7ea7a4c23730e3cb642
2020-07-22 18:27:19 +02:00
Zuul
b5ae75a406 Merge "Use native oslo.concurrency execution timeout in ipmitool" 2020-07-22 15:58:19 +00:00
Zuul
1f63525a1f Merge "Iso booting via redfish virtual media" 2020-07-22 04:55:59 +00:00
Zuul
c2b8e3f80e Merge "Stop running test_schedule_to_all_nodes in the multinode job" 2020-07-21 14:45:25 +00:00
Zuul
a1e2fc35b4 Merge "Remove Link type" 2020-07-21 14:45:19 +00:00
Zuul
f85c23fe4c Merge "Remove File type" 2020-07-21 14:45:13 +00:00
Zuul
15211fd886 Merge "Add wsme core types, remove WSME" 2020-07-21 09:05:14 +00:00
Zuul
bb6fad941c Merge "Update number of VM on ironic-base" 2020-07-21 01:02:39 +00:00
Zuul
6ea66bea67 Merge "Set min version of tox to 3.2.1" 2020-07-20 23:03:16 +00:00
Dmitry Tantsur
1cb1df76d9 Stop running test_schedule_to_all_nodes in the multinode job
After the recent changes we're running 5 tests already, some of them
using several VMs. This should cover scheduling to different conductors
well enough, the nova test just adds random failures on top.

This allows reducing the number of test VMs to 3 per testing node
(6 totally), reducing the resource pressure and allowing giving
each VM a bit more RAM.

Also adding missing VM_SPECS_DISK to the subnode configuration.

Change-Id: Idde2891b2f15190f327e4298131a6069c58163c0
2020-07-20 12:35:16 +02:00
Dmitry Tantsur
4911477525 Document fast-track and the agent power interface
To prevent the administrator guide from growing too long, split
away advanced topics (i.e. stuff we don't expect most of admins
to read, use or understand).

Story: #2007771
Task: #40382
Change-Id: Ia3e3178692c96aaebdd4479e865a56fbe63c820a
2020-07-20 09:42:14 +02:00
Dmitry Tantsur
46f8c85752 Add agent power interface
This change adds a new 'agent' power interface that can be used together
with fast-track to deploy nodes without knowing their power credentials.
It relies on the agent staying powered on during the whole pre-deployment
and deployment process.

Story: #2007771
Task: #39995
Change-Id: I3d7157c1c4464b650adebbd7f894ee33d0f8f25b
2020-07-20 09:42:05 +02:00
Dmitry Tantsur
e804f6c56b Account for power interfaces that cannot power on
The future agent power interface will only be capable of rebooting, so:
1) Adjust agent_base to be able to use reboot instead power off+on
2) Adjust power sync to avoid trying to force power state for such nodes

Change-Id: Ia95a68729f684a06c722539816eadea5ebb80d1a
Story: #2007771
Task: #40381
2020-07-20 09:41:41 +02:00
Steve Baker
1e28a056b0 Convert root path / to use plain JSON
This change replaces the Version and Root types with simple functions
that return data as a dict.

A new @expose decorator is defined in ironic.api.method which
currently only needs to format exceptions. In the future it may also
do input validation.

Change-Id: I4e3b84fb652a74463b44c3ae6c75cdac4d2ab6db
Story: 1651346
Task: 10551
2020-07-20 14:09:53 +12:00
Steve Baker
0ac4017325 Rename Response to PassthruResponse
The Reponse type is only used to wrap passthru responses, so this
change renames it to PassthruResponse and changes how it is used to
make it more clear what is happening.

The 'return_type' and 'error' fields are removed as they are not used
by passthru. Now that no Unset usage is required, future removal of
core WSME logic won't affect PassthruResponse.

If the passthru response has 'attach' set then the return
value will be an io.BytesIO object which is handled by the expose
decorator. This is preferable to having utils.vendor_passthru have the
side-effect of setting the pecan Response.app_iter - now all the
response handling is done in the expose decorator.

Change-Id: Ibcf7860c4a67f0ec8747e5710d8c1ef7281573d1
2020-07-20 14:09:53 +12:00
Steve Baker
b1328fa996 Remove Link type
This type is only used for output response formatting, not for input
validation, so it can be replaced with a basic dict equivalent without
disruption.

This results in fields in WSME types which shouldn't be handled by
WSME because they are already in a dict format. This is handled by
relaxing the validation in the (ex-WSME) types so that a None type
means that WSME shouldn't serialize that attribute. This will allow
old style type serialization to be mixed with plain dicts during the
transition period.

Story: 1651346
Task: 10551

Change-Id: Ifae9bd005fb7cf951b069ade0c92b8d61e095e0f
2020-07-20 08:58:32 +12:00
Steve Baker
5e12d502fe Remove File type
The only use of the File type is for wrapping passthru responses in a
io.BytesIO, so this change does this wrapping directly and removes the
File type.

Change-Id: I6759bc304839bd89a50fc3bf9e26b1cd20537a0a
Story: 1651346
Task: 10551
2020-07-20 08:58:32 +12:00
Zuul
d867488e90 Merge "Auto extend the timeout for RAX hosts" 2020-07-19 16:47:23 +00:00
Zuul
c269b36304 Merge "Replace oslo_utils.netutils type compares with ipaddress" 2020-07-19 16:05:48 +00:00
Zuul
f5828077bc Merge "Allow disabling retries in AgentClient.get_command_statuses" 2020-07-19 16:05:42 +00:00
Iury Gregory Melo Ferreira
dc87a189cb Update number of VM on ironic-base
Since we merged the change to have partition and wholedisk
testing on basic_ops most of the jobs started requiring 2 VMs
to run the tempest tets.

Let's increase on the ironic-base so all jobs will be default to 2.

Removing IRONIC_VM_COUNT=2 from jobs that uses ironic-base as parent.

Change-Id: I13da6275c04ffc6237a7f2edf25c03b4ddee936a
2020-07-18 10:57:21 +02:00
Zuul
c9a0bce01b Merge "Follow-up on blocking port deletions" 2020-07-18 04:22:06 +00:00
Zuul
674ed29347 Merge "Add missing agent RAID compatibility for ilo5 and idrac" 2020-07-18 03:51:00 +00:00
Zuul
521d796037 Merge "Explicitly set jobs to ML2/OVS" 2020-07-18 03:35:08 +00:00
Zuul
0238034827 Merge "Ironic to use DevStack's neutron"-legacy" module" 2020-07-18 03:17:03 +00:00
Julia Kreger
b1dd9147d2 Replace oslo_utils.netutils type compares with ipaddress
We used netutils earlier on to have a backportable change
however the longer term goal was to replace the change with
using the python native ipaddress module directly.

For the cases where we can change IP version type compares,
we change them with this change.

Note: other uses of netutils still exist, and we should
eventually see if we can phase them out, however the remaining
uses are around MAC address validations.

Change-Id: I44336423194eed99f026c44b6390030a94ed0522
2020-07-17 17:05:54 -07:00
Julia Kreger
3750ba62df Auto extend the timeout for RAX hosts
Rax hosts uses qemu software emulated VMs without leveraging the
magic with-in the processors to help ensure speedy execution.

As such, they can be substantially slower in some operations, such
decompressing ramdisks. This adds an unpredictable element into our
CI and causes job failures when they should ahve succeeded, which
causes more rechecks, which consumes more resources... and the cycle
continues.

So instead, we'll extend the timeout a little, to hopefully give the
job time to complete without causing failures.

Change-Id: I0cd08e527763f0626fd1e43cc3b87163a4b0d018
2020-07-17 16:16:59 -07:00
Dmitry Tantsur
3b6163afd2 Allow disabling retries in AgentClient.get_command_statuses
For the agent power interface it will be required to check if the agent
is running without making too many retries.

Change-Id: I63b5348ecfd55e9ac889fb12b0212d76785edaca
Story: #2007771
Task: #40380
2020-07-17 17:30:06 +02:00
Zuul
c871622ff5 Merge "Add json and param parsing to args" 2020-07-17 14:47:04 +00:00
Zuul
2876fd1790 Merge "Decompose the core deploy step on iscsi and ansible deploy" 2020-07-17 14:46:55 +00:00
Jakub Libosvar
02d3efbd7e Explicitly set jobs to ML2/OVS
Devstack is changing the Neutron default to OVN backend. This patch is
to make sure Ironic gate will not get broken by this change as currently
OVN doesn't support baremetal nodes.

Change-Id: I0745e07d32e3455fad2a2249c31f279fd1d38b5b
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
2020-07-17 14:44:29 +02:00
Zuul
96f3904dbc Merge "Change non-tinyipa jobs to use multiple cores" 2020-07-16 22:22:24 +00:00
Zuul
203bf50ae9 Merge "Stop wiping driver_internal_info on node.driver updates" 2020-07-16 21:06:51 +00:00
Zuul
8b67330c45 Merge "Do not validate driver on changing non-driver fields" 2020-07-16 20:50:46 +00:00
Julia Kreger
ba0dc574bc Follow-up on blocking port deletions
A recent comment on https://review.opendev.org/#/c/665835
pointed out that we should likely make some changes and a fix
a missing check for the introspection_vif_port_id which was
likely introduced after this functionality was originally
written.

Also adds some documentation on the subject since we lack
docs even pointing out how to delete a port. :\

Change-Id: I0ba8a3741eefa80eb56e25a1b339f8433b3fc0dc
2020-07-16 12:47:07 -07:00
Julia Kreger
53f751dcfd Remove old driver name from cross-gating job
Alaises the old name of the cross gating job to the new name
so we can change jobs in other projects without breaking the world.

Change-Id: I9e17f48f83444b5e2cab63a2041e77e860ce6df5
2020-07-16 12:44:42 -07:00
Zuul
1062567531 Merge "Wipe agent token during reboot or power off" 2020-07-16 17:27:03 +00:00
Zuul
44533d7b49 Merge "Implement get_deploy_steps for AgentRAID" 2020-07-16 17:27:00 +00:00
Zuul
4d9407f99b Merge "Fixes to skip validation of in-band deploy steps before agent boot" 2020-07-16 15:20:38 +00:00
Zuul
59e27224d9 Merge "Add get_node_network_data to Neutron NetworkInterface" 2020-07-16 15:18:19 +00:00