It's very confusing that we use username/password everywhere, except
for [json_rpc]. Just use the standard options.
Also the version if keystoneauth is bumpted to one that supports
http_basic.
Change-Id: Icc834c3f8febd45c2548314ee00b85a7f9cebd2c
The CPU overhead of nested virtualization on rax hosts simply
is too much for Ironic's CI to justify using full size IPA images.
The failure rate is simply too high. As a result, lets use TinyIPA
images when we are not building a ramdisk to reduce that failure rate.
Change-Id: Ifa81397519833201b737cff89f61178c8835e3ca
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
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
This patches update the devstack to automatically
set the new tempest configuration `boot_mode`,
it will use the value from IRONIC_BOOT_MODE variable.
Increase the number of VM's in ironic-tempest-ipa-partition-pxe_ipmitool
and ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa
to 2 since it runs cleanning and now we run two tempest tests.
Depends-On: https://review.opendev.org/735960
Change-Id: Ic6faf73430e56e2b1ff19a72b1b03f8ef34eff5f
I did something stupid when started driving forth the split of ipxe
from the pxe interface: I didn't think about the need to actually
separate bootloaders. In part, because the use case was a mixed
Power8/Power9 and x86 cluster. Mainly because the Power hardware
does not honor or care about the bootfile name provided over DHCP.
The firmware knows how to read the PXELINUX boot file format
and the machines are able to boot from there.
Where this all goes sideways is when:
* Enabled boot interfaces are set to ipxe,pxe
* No default boot interface is set
* Node is created without a default for x86 hardware.
* Node uses ipxe boot_interface, and creates files under /httpboot
* bootfile transmitted via DHCP is pxelinux.0.
Fun right?
The simple workaround for the power user is to just define the iPXE
loader, or maybe use UEFI. But that is neither here nor there, this
is still a bug and a possible use case is GRUB2 via PXE and iPXE.
Not that would really work via ipxe, but hopefully people get the
idea.
The solution kind of seems clear, duplicate configuration and
fallback if not defined.
Story: #2007003
Task: #40282
Change-Id: I4419254c23095929e52a0fda11789f2f5167dc6b
The ovmf pacakge in bionic doesn't really work in our CI.
As a workaround we use the old package from xenial, but we can't keep
using it also in Ubuntu Focal.
This patch aims to convert the uefi jobs to use Ubuntu Focal as
base operating system and use the native ovmf package.
Story: 2007785
Task: 40025
Change-Id: I653e5da2672b14eae88c6cab923b8617432f1dc1
Recent changes to the CI made the python binary magically disappear
in Ubuntu Focal based nodes.
Since we currently support only python3 and the python3 binary is
(hopefully) always present in all current distributions, let's
switch the last python binary call to python3.
Change-Id: Ifeca377c3ada3372406ff90bd72d81f90e9bde21
Adds an ability to generate network boot templates even for nodes that
use local boot via the new ``[pxe]enable_netboot_fallback`` option.
This is required to work around the situation when switching boot devices
does not work reliably.
Depends-On: https://review.opendev.org/#/c/736191/
Change-Id: Id80f2d88f9c92ff102340309a526a9b3992c6038
Story: #2007610
Task: #39600
This change achieves functional test coverage for using http_basic
auth for json-rpc requests.
Since json-rpc is aimed at standalone environments, using http_basic
instead of keystone auth for internal requests is a more realistic
test scenario.
For now, ironic-standalone-redfish is left with the inherited keystone
auth strategy.
Change-Id: I993741684eaa8f237ffb20535da7167bc589e72c
Story: 2007656
Task: 39827
configure_auth_token_middleware is deprecated, we should use
configure_keystone_authtoken_middleware instead.
Change-Id: Ic24f1e04681f9645f5f11558cc772efa42a6e073
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.
Change-Id: I7f627fa0bb4850f4839b75df611fa5ab241f1219
Sometimes sushy-tools hits worker timeout in gunicorn when handing
a virtual media ISO, causing a request to be aborted and deployment
to fail. Increase the timeout from 30 to 90 seconds and add some
concurrency to ensure that more than one deployment can run.
Change-Id: I9e951aaaa13981602151bff3f2eebfa338113f6c
Runs the BaremetalSingleTenant tempest test, which provisions
two nodes, with slaac addressing, all provisioning traffic e.g.
iPXE, ironic api traffic and iscsi happens over IPv6 on the
provisioning network. Nodes are then deployed onto a IPv6
tenant network, where tempest verifies connections between them
with ssh (again over IPv6).
Co-authored-by: Derek Higgins <derekh@redhat.com>
Depends-On: https://review.opendev.org/722663
Change-Id: Id928df1cbd1131427ab6a911856f48f18e67f7cf
Now that I6ccd646f1c22a99bed0bebf6e363d2190241b667 is merged, devstack
defaults to 0.5.1, and we no longer need our special logic.
Change-Id: I13d3a4ab7dc330b22d886d85eae94b296e6cac4a
Since IRONIC_RAMDISK_TYPE is default to dib, we should have a
default value for IRONIC_VM_SPECS_RAM that is compatible.
Increasing to 3072 since is the default value we are using in our jobs.
Change-Id: I7b3dab51fa332bbd27a439fd38ebec74d94eb839
Fixing configure-vm script and vm.xml with this patch because for
latest OS like centos8 - older python version and older qemu machine
type is causing issue.
* For configure-vm.py - Replacing python with python3 in environment
path as python3 is the default in many latest OS.
* For vm.xml - Replacing Machine type from pc-1.0 to pc.
- pc-1.0 is old and unsupported machine type for Centos8
- Moving machine type from pc-1.0 to pc will help as pc have alias to
supported qemu machine type
Related-Bug: #1875681
Change-Id: Icd7e98ceb8859f730a32981a150f2730bde9836b
It's supposed to include the patch we need, and using the final
release allows us to benefit from caching of images by the infra.
Change-Id: Iabef3fa7e3af7fb6fd19973d6a44908d5a3ce93b
The default value of "netboot" was introduced to this configuration
variable as part of commit 93f947c852409af2c56a499428b09ff69ab345a1
in Ocata release.
This patch changes the default value of configuration parameter
'[deploy]/default_boot_option' and devstack variable
'IRONIC_DEFAULT_BOOT_OPTION' to 'local'.
Change-Id: I9bf56a7088281bbe20b8b6c2e47c6ab6559bfea4
Story: #1619339
Task: #10505
On non-Ubuntu systems, when gunicorn is pip-installed on Py3,
command name remains `gunicorn` rather than `gunicorn3`.
Change-Id: I5b8cb974d900bd3bdf7ec08adb3e6586494a26a2
We limit the use of tinyipa to the most intensive jobs:
standalone
grenade
multinode
Also leaving ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa
running for now as there could be an issue with the
ironic-python-agent
Story: 2007356
Task: 38908
Change-Id: Ieb1ea1dbeeb68b15e9281d154358336006b62214
The agent needs to be able to understand
if the agent token is supported and is a
mandatory feature of the ironic deployment
as that can alter some of the behavior of
the agent itself.
Also adds documentation on the subject for
administrators.
Story: 2007025
Task: 37821
Change-Id: Ic635e0ed6d378d6a34a4a82e66ca647eee33bc26
Centos 7 pip seems to install the rootwrap filters to /usr/local
despite its data path resolving to /usr.
Change-Id: If2496e9c143400dcce017a79cf179768951eb137
The file is included in the ironic-lib module and there is no
difference (beside some comments) in the files.
For packagers, this solves the problem that ironic-lib and ironic are
currently not installable together given that both packages contain
the same file.
Story: 2006604
Task: 36772
Depends-On: https://review.opendev.org/684771
Change-Id: I2d800d4c2616ccd9d9f12a2fe59e259def15dc6b
Remove the dynamically registered ipxe_enabled option and say goodbye.
Further extracts common bits to the PXEBaseMixin, tuning tests here and
there.
Story: 2007003
Task: 37779
Change-Id: I7c1b2a984d45bd63b4e95b62ce02960924c2ce17
It seems, however variables are getting set with grenade
in native zuulv3 jobs, the environment variables are no
longer comparing as they once did in standard bash jobs.
What worked previously, was [ "$VAR" == 'value' ], however
when comparing the newer grenade node jobs we see things like
[[ subnode != \s\u\b\n\o\d\e ]] returning true when single
quotes are used.
Comparison in the logs to where double quotes were used for
functionally the same comparision, revealed proper processing
and execution as expected.
As such, changing our single quotes to double quotes where
applicable.
For the record, I also quickly checked codesearch and it looks
like we were the only project to use single quotes for this
comparison.
Change-Id: I2db2e870e2c5f32aa061af025ee7ce12c4f7c049