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
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
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