This patch fixes the issue if IRONIC_BUILD_DEPLOY_RAMDISK
is set to false and IRONIC_DEPLOY_ISO is passed then it
will not throw the error.
Change-Id: Ic95f6e75d51db5cb60098bb131698cf44e772366
Story: 2007002
Task: 37777
Adds a job to boot a node over Redfish virtual media in legacy
BIOS boot mode. For sake of unification, similar PXE job has been
renamed.
Apparently, libvirt-based Redfish BMC emulation requires node
power-cycle for libvirt domain configuration changes to take
effect.
Change-Id: I2c7fc26b082db6eeae1abcd67362884a9c72c109
When configuring VMs in devstack booting in UEFI mode, make sure
that each libvirt domain has its own UEFI NVRAM store. Otherwise
funny things can happen ultimately leading to EFI shell popping
up crying for help.
Change-Id: I03eddde04211ceb6f0bd9438fafab34c515c4fa9
the syslinux tools are in the syslinux package on
rhel7 and friends, but in rhel8 have moved to
syslinux-nonlinux
Change-Id: Iea74c2be6fbd738f35f178fa189384dd37579277
Apparently, now days system boot chain is tempted to display
fancy things on the console. While enjoyable, in non-text mode
libvirt guest console can't make it to the log file.
This change tries to ensure pure text mode kernel console in
PXE and Redfish booting by disabling any graphics in the VM
and in guest kernel.
Note that it's not only kernel that can control display mode,
but EFI boot loader as well.
For getting on VM's text console in devstack one could use
`virsh console --devname serial1 node-0` or just add `<graphics>`
section to `virsh edit node-0` XML.
Change-Id: I14f78bcef4173eeaf659ee589ca938e2698e3505
Correcting the variable name for virtual bmc instances during
devstack unstack ironic cleanup phase.
Change-Id: Ie35a45e0806f9da07d121900831c6a61e33d23e5
When devstack boots a node over virtual media in BIOS boot mode,
`isolinux.bin` boot loader needs to be present for grilling hybrid
ISO images.
This patch makes devstack pulling necessary packages and configure
ironic accordingly.
Change-Id: I2f4e582aa05fc54610a4c43695124219714368c2
This feature is time-consuming and prone to race conditions. This
changes switches it off by default, leaving it on in two jobs:
the one running on Nova and the standalone one.
Change-Id: I7c50cb12065da05dad4ece0918883748ee4617e0
Extracted the logic to setup the ironic-python-agent-builder
to a separate function that is called before building ithe ramdisk,
this is to avoid errors when deploying locally see [1]
[1] http://paste.openstack.org/show/783890/
Change-Id: I8ce4ac2f1b59fc682feea3a183c7d0e3d075f30d
On restacking devstack, if EFIBOOT image file already exists on the
file system, ironic devstack plugin would not re-upload it to Glance
failing further ISO image build for Redfish virtual media boot.
This change makes Glance upload unconditional.
Also in this patch: fixed UEFI firmware configuration in Redfish
emulator configuration file produced by devstack plugin.
Change-Id: Idf1d2ccc54e1bf60a1df249d0e3fb08fbb98a51c
This patch fixes an exception that occurs when deploying devstack with
the DIB ramdisk.
Change-Id: Ia4499291b6dff1e8c8b6cd1ac544a1e3787ccf83
Story: #2006645
Task: #36881
Also updates the devstack plugin to support pre-built DIB images
and removes the explicit mention of dhcp-all-interfaces element,
which is already a dependency of ironic-python-agent-ramdisk.
Change-Id: I564016528e80c738d6004c47f8df502a7748b311
We seem to be hitting occasional failures to DHCP in time, although
DHCP itself seems working. Try increasing timeout from 30 to 60.
Also enable tracing when building the image, so that this sort of
issues is a bit easier to debug without unpacking the image.
Change-Id: If3f00ba39daf72739802c46c5c6c64cfbb6ab0ae
PXE is inherently unreliable and sometimes times out without an
obvious reason. It happens particularly often in resource constrained
environments, such as the CI. This change allows an operator to
set a timeout, after which the boot is retried again.
The _add_node_filters call had to be refactored to avoid hitting
the complexity limit.
Change-Id: I34a11f52e8e98e5b64f2d21f7190468a9e4b030d
Story: #2005167
Task: #29901
Make the apache log directory configurable, based upon which
operating system this is running on. This is needed as ironic
devstack is broken on Red Hat-related operating systems as a
result.
Change-Id: I22e04d886219755a38b1e895c2c6f9d756535cab
Story: 2006577
Task: 36689
Moves the volume pool from / to /opt for the standalone and multinode
jobs, since on smaller nodes /opt is mounted from a larger ephemeral disk.
Change-Id: Idb4e235fd40ecd9829c3ad8a9dd1224f1c29a12e
The cisco hardware types and interfaces were removed in
Ie12eaf7572ce4d66f6a68025b7fe2d294185ce28. This removes the
last few references to them, and adds a release note about
their removal.
Change-Id: I6d11dda0132d999b2dbf6bbd47cac55336e1d079
Story: 2005033
Task: 29522
Allow ipa kernel/disk images to be specified via file:// designator
so they can be locally hosted in addition to being available over
http.
Change-Id: If3e32f30a7df27113721e15bff9ecaae16bfe8d4
Minor timing changes in an attempt to:
a) Make the logs less noisy
b) Wait a little bit longer for placement
records to be updated.
Change-Id: I4f64a2f5ab2d1696f244f083d5dc387c75cc1175
Changes the value of IRONIC_DIB_RAMDISK_OPTIONS to
'centos7 dhcp-all-interfaces' from 'ubuntu' to resolve
the issue in passing the ironic-python-agent-buildimage-dib
test.
Based on the comments of https://review.opendev.org/#/c/676239/
Change-Id: I92f44370cbd10c192c26cceb1589990f74985e92
Task: 36375
Story: 2005114
The ironic command has bene long deprecated and
we are finally removing it from python-ironicclient.
In order to remove it, we need to remove this reference
to the ironic.bash_completion file which is no longer
present nor necessary.
Change-Id: If2cae16ce7c24258ee720a6b8ac6e9bcdd2589aa
Attempting to devstack on bionic failed with:
Failed to restart libvirt-bin.service: Unit libvirt-bin.service not found.
devstack/lib/ironic was trying to figure out whether our libvirtd
service is called libvirtd or libvirt-bin based on:
- Are we on ubuntu?
- Does /etc/init.d/libvirtd not exist?
if is_ubuntu && [ ! -f /etc/init.d/libvirtd ]; then
libvirt_service_name="libvirt-bin"
But on this bionic, for whatever reason, my libvirtd is at
/usr/sbin/libvirtd.
However, `type libvirtd` succeeds in either case.
So this commit broadens the second part of that check accordingly.
Note, FWIW, that devstack's lib/nova_plugins/functions-libvirt checks
this way:
# Only Xenial is left with libvirt-bin. Everywhere else is libvirtd
if is_ubuntu && [ ${DISTRO} == "xenial" ]; then
LIBVIRT_DAEMON=libvirt-bin
else
LIBVIRT_DAEMON=libvirtd
fi
Change-Id: I94a86a96d5732db60c12399fcaf666f960461e3e
Currently we use writeback caching for disks
on our test vms, however that honors syncs and
IO could become blocked/locked if the sync has
not completed with the double virtualization that
occurs in CI.
In theory, we don't need to worry about the
buffer cache behavior for our test VMs.
Overall, it appears that there is a performance
gain of about 10-15% with making this change because
we're not honoring syncs to not lock-up IO.
Change-Id: Ib09dd7fd41c6b1cbc0e2b707bfc9e4ff8dfa6fad