700 Commits

Author SHA1 Message Date
Zuul
3670be1283 Merge "Deprecate http_basic_username and http_basic_password in [json_rpc]" 2020-07-28 19:14:00 +00:00
Dmitry Tantsur
74e9e1d82a Deprecate http_basic_username and http_basic_password in [json_rpc]
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
2020-07-24 11:51:41 +02:00
Julia Kreger
6dfc409133 Force RAX hosts to run tinyipa
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
2020-07-23 16:33:34 +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
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
Zuul
3c1ab6136f Merge "add tempest boot_mode config" 2020-07-09 10:07:07 +00:00
Iury Gregory Melo Ferreira
ddbc4a6a09 add tempest boot_mode config
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
2020-07-08 21:55:02 +02:00
Zuul
19866e3ddb Merge "Provide a path to set explicit ipxe bootloaders" 2020-07-08 12:08:48 +00:00
Julia Kreger
5f7d84f483 Provide a path to set explicit ipxe bootloaders
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
2020-07-07 12:38:33 -07:00
Riccardo Pittau
daca490226 Follow up of fix uefi jobs with ovmf native ubuntu package
Following up on comments from https://review.opendev.org/716889

Change-Id: I805a65478f469b1b4e25c1bf2397f034f61d6ec7
2020-07-07 12:04:56 +02:00
Riccardo Pittau
aac89c2149 Fix uefi jobs with native ubuntu ovmf package
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
2020-07-02 17:10:36 +00:00
Zuul
542442d4db Merge "Explicitly use python3 for ironic_lib_prefix" 2020-07-02 16:30:44 +00:00
Zuul
ab358e0b10 Merge "ironic-standalone, use http basic auth for json-rpc" 2020-07-02 12:12:30 +00:00
Riccardo Pittau
f1a4725fdd Explicitly use python3 for ironic_lib_prefix
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
2020-07-01 06:56:00 +00:00
Dmitry Tantsur
d0d772d720 devstack: get rid of python3_enabled
This function is currently broken and we don't support Python 2 anyway.

Change-Id: I0ffec5fbbe6b6120fc6526637e22341f97bd2737
2020-06-30 18:09:48 +02:00
Zuul
57b619bf80 Merge "Use configure_keystone_authtoken_middleware" 2020-06-30 10:28:04 +00:00
Riccardo Pittau
0fa90f658b Use virtio bus with uefi
The virtio bus should perform better now that is working also
with uefi.

Change-Id: Id6cc41ab18abe6e6efb60b78a59152d27f5afb33
2020-06-29 10:16:05 +02:00
Zuul
27459cf8c5 Merge "Networking boot fallback for local boot" 2020-06-23 20:15:41 +00:00
Dmitry Tantsur
65480f6b9a Networking boot fallback for local boot
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
2020-06-19 11:13:32 +02:00
Steve Baker
da49cf69de ironic-standalone, use http basic auth for json-rpc
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
2020-06-19 13:36:45 +12:00
Riccardo Pittau
29d711ad24 Use configure_keystone_authtoken_middleware
configure_auth_token_middleware is deprecated, we should use
configure_keystone_authtoken_middleware instead.

Change-Id: Ic24f1e04681f9645f5f11558cc772efa42a6e073
2020-06-18 15:52:28 +02:00
Zuul
4512c8ba8b Merge "devstack: Use uwsgi binary from path; temporary disable grenade" 2020-06-15 16:55:25 +00:00
Dr. Jens Harbott
88b24354a0 devstack: Use uwsgi binary from path; temporary disable grenade
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
2020-06-15 14:39:03 +02:00
Dmitry Tantsur
7a455a3ff3 devstack: increase concurrency and worker timeout for sushy-tools
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
2020-06-06 12:09:44 +02:00
Zuul
a06d5850c5 Merge "Add IPv6 ci Job" 2020-05-29 03:48:26 +00:00
Zuul
f5d908a3fc Merge "CI: use the default devstack cirros version" 2020-05-28 21:06:53 +00:00
Zuul
863c90db53 Merge "Change IRONIC_VM_SPECS_RAM default" 2020-05-28 12:52:05 +00:00
Julia Kreger
17decbcb9b Add IPv6 ci Job
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
2020-05-28 11:41:25 +01:00
Dmitry Tantsur
82f1e0c928 CI: use the default devstack cirros version
Now that I6ccd646f1c22a99bed0bebf6e363d2190241b667 is merged, devstack
defaults to 0.5.1, and we no longer need our special logic.

Change-Id: I13d3a4ab7dc330b22d886d85eae94b296e6cac4a
2020-05-27 10:49:47 +02:00
Mark McClain
c717f0e494 change devstack ipa-builder default to BRANCHLESS_TARGET_BRANCH
Change-Id: I7bc6eb9bdf14fe4b26b4fbdb8c2e36540abe0cf5
2020-05-26 12:59:12 -04:00
Iury Gregory Melo Ferreira
d13c6026e8 Change IRONIC_VM_SPECS_RAM default
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
2020-05-25 15:02:25 +02:00
Zuul
a96d30b3b3 Merge "Fix configure-vm.py and xml file for centos8" 2020-05-01 14:53:51 +00:00
Sandeep Yadav
1673d7b1ce Fix configure-vm.py and xml file for centos8
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
2020-04-28 12:17:43 -04:00
Dmitry Tantsur
0e401f3afe CI: migrate UEFI jobs to Cirros 0.5.1
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
2020-04-24 11:17:53 +02:00
Julia Kreger
6a73f7fdd0 Change [deploy]/default_boot_option to local
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
2020-04-15 11:46:03 -07:00
Aeva Black
9f75bbd938 Add my new address to .mailmap
This commit updates the mailmap file and changes my alias
in a few places within old comments.

Change-Id: Ica0e184109d794b8e129d567b5606d7fe84ff384
2020-04-13 07:29:37 -07:00
Ilya Etingof
c428a51ddc Fix gunicorn name on Py3@CentOS7 in devstack
On non-Ubuntu systems, when gunicorn is pip-installed on Py3,
command name remains `gunicorn` rather than `gunicorn3`.

Change-Id: I5b8cb974d900bd3bdf7ec08adb3e6586494a26a2
2020-04-07 18:57:22 +02:00
Zuul
20fdad0884 Merge "Default IRONIC_RAMDISK_TYPE to dib" 2020-03-31 12:34:37 +00:00
Zuul
05ea0d1842 Merge "Signal agent token is required" 2020-03-28 08:54:27 +00:00
Riccardo Pittau
bc654814f8 Default IRONIC_RAMDISK_TYPE to dib
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
2020-03-26 09:45:00 +01:00
Julia Kreger
deca07de3c Signal agent token is required
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
2020-03-20 17:26:51 +00:00
michaeltchapman
bee537a4a3 Support centos 7 rootwrap data directory
Centos 7 pip seems to install the rootwrap filters to /usr/local
despite its data path resolving to /usr.

Change-Id: If2496e9c143400dcce017a79cf179768951eb137
2020-03-19 11:11:06 +11:00
Zuul
9dcfa6c388 Merge "Drop rootwrap.d/ironic-lib.filters file" 2020-03-17 12:59:01 +00:00
Thomas Bechtold
bfb41571b2 Drop rootwrap.d/ironic-lib.filters file
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
2020-03-16 23:05:36 +01:00
Kaifeng Wang
34d34b3a9d Finalize removal of ipxe_enabled option
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
2020-02-21 14:25:01 +08:00
Zuul
ab8212b23e Merge "Fix bash comparisons for grenade multinode switch" 2020-02-12 13:23:28 +00:00
Dmitry Tantsur
25db126071 Actually use ironic-python-agent from source in source builds
Currently the DIB element unconditionally clones it.

Change-Id: I096940d6e0801200276f952ae5afc05402f9e473
2020-02-10 15:48:35 +01:00
Julia Kreger
b44eb6f34b Fix bash comparisons for grenade multinode switch
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
2020-02-04 14:09:44 -08:00
Riccardo Pittau
90b747ac66 Fix typo in setup-network.sh script
Removing a $ sign that shouldn't be there and can cause trouble.

Change-Id: I59a046c06334a3366d0c7070114446efa832df23
2020-01-29 12:05:52 +01:00
Zuul
a37898d704 Merge "devstack: install bindep for diskimage-builder" 2020-01-09 16:44:30 +00:00