* Fixes the IPv6 job by utilizing HOST_IPV6 instead of
SERVICE_IPV6, as Devstack now automatically wraps
SERVICE_IPV6 with brackets as if it is for a URL.
* Locks ipv6 job to bios mode. Ubuntu Focal OVMF/EDK2 does not
support IPv6 PXE boot by default.
* Split from Devstack in terms of IP usage, since full explicit
V6 usage is not a thing anymore. 4+6 is the default in devstack
and regardless of what we set on the job we see both now used.
So we delineate apart our usage for our own sanity.
* Reduce VM Interface count for IPv6 in an attempt to eliminate
in-kernel routing confusion by two interfaces on the same physical
network.
* Set IPv6 mode to dhcpv6-stateless due to fun issues in dhcp clients.
When we move to UEFI, this will need to be changed to stateful as
stateless is not supported in general by OVMF/E2DK.
Once the job has run in normal non-voting for a while, and we
ensure that it seems to be stable, we can make it voting again.
Change-Id: Ia833bfb64c6c3cc8e48cbe34ed200536652a8adf
I guess some prints slipped past cleanup and review for the node
history work. Removes the two print statements as they are not
needed.
Change-Id: Ica506864ad443ad035a68ae8ffbe63cf68e5ccec
In some cases the current conductor may have failed to updated
the heartbeat timestamp due to failure of resource starvation.
When this occurs the dbapi get_offline_conductors method will
include the current conductor in its return value.
In this scenario the conductor may end up forcefully remove
node reservations or allocations from itself, triggering takeover
which fail on-going operations.
This change adds a wrapper to exclude the current conductor.
The wrapper will log a warning to raise the issue.
Related-Bug: #1970484
Stroy: 2010016
Task: 45204
Change-Id: I6a8f38934b475f792433be6f0882540b82ca26c1
So... We can't do this in a single patch, and we *actually*
need to merge the vxlan fix before the subnode will ever pickup
the configuration
From the logs, I can observe the vxlan tunnel connects between
the nodes. Awesome.
Where things break is in the local setup of the local bridges
used to wire everything together.
setup_vxlan_network:3274 : sudo ovs-vsctl add-port sub1brbm phy-brbm-infra
ovs-vsctl: Error detected while setting up 'phy-brbm-infra':
could not open network device phy-brbm-infra (No such device).
See ovs-vswitchd log for details.
Basically, with the same change on a separate patch, we're able to
observe the controller node work perfectly. It is the subnode
connectivity which is just broken.
So, activate the bridge interfaces seems ideal. This likely broke
at some point due to behavior changes in OpenVSwitch.
Change-Id: I11dbba1957d67187d859a1ef60563c0301da9812
When using the node managed by the `irmc` hardware type,
if the port number of the bmc address is manually specified,
the following error will occur when configuring raid:
```
%d format: a number is required, not str
```
Change raid to call parse_driver_info to get irmc_info,
so that irmc-port can be converted to int type to avoid this error.
Story: #2010009
Task: #45151
Signed-off-by: Zhou Hao <zhouhao@fujitsu.com>
Change-Id: I35e0aa2a5e612e6e45c9489153dbb3ff3e500a66
It may be convenient to use [pxe/redfish/...]kernel_append_params as
the universal defaults, while using {driver,instance}_info to only
append values. This change allows that by replacing %default% with
the value of the applicable configuration option.
An example use case: CoreOS requires an additional artifact (root
filesystem URL) when PXE booting.
While here, fix the PXE/iPXE interface documentation.
Change-Id: I829291ab5cc19ec2ca43bc45815d012697f0b408
When adding an image to glance for use with anaconda deploy
interface, the tarball being added should be in the 'bare'
container-format, not 'compressed'.
Change-Id: Iaf976a4c9e04b9a19acd7e2701fb422009b02d0e
Grenade, for some confusing reason, creates a separate network,
and uses that for upgrade testing as opposed to the original network
the VMs were bound to. If Julia's memory is correct, this was for
multinode upgrade testing.
Anyway, When in UEFI mode, it appears that the TFTP packets
don't get tracked nor cross the boundrary. We likley need to
explicitly address this, but first, lets get the job working as
it was and can then update it.
Also, update requirements because markupsafe removed soft_unicode
method taht was deprecated since a while. Jinja2 started using the
new soft_str method since version 3.0.0
Change-Id: Iaebe966569962b0d3d43774d57b570469479f159
Add file to the reno documentation build to show release notes for
stable/yoga.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.
Sem-Ver: feature
Change-Id: I371614afe321758536d7840207c34329f9cba1c5
This is a pre-release commit for the Yoga release following our docs [1]
* No API additions during this cycle (no need to update
doc/source/contributor/webapi-version-history.rst)
* Add prelude releasenote
* Fix highlight in one releasenote
[1] https://docs.openstack.org/ironic/latest/contributor/releasing.html
Change-Id: If26019c5abc0643051f4b11186d7eb819f9c407b
This is an advanced feature, so keep it with other advanced features,
but do link from the deploy interface listing.
Change-Id: If8a3cd4c8eca670be89d5cc1ce4a8bb788e546da
Create a new Sphinx extension called 'web_api_docstring' to process
docstrings from the API classes, in order to generate API
documentation.
Story: 2009785
Task: 44291
Change-Id: Ia6b2b3741e2b1cbd29531c21795df4f0f0dc70ca
documentation
Change https://review.opendev.org/c/openstack/ironic-python-agent/+/818712
improved efficiency of storage cleaning in hybrid NVMe + HDD
environments by adding `erase_devices_express` clean step. This is a
follow up change adding the documentation for this feature.
Story: 2009264
Task: 43498
Change-Id: I33ba925460cc31cc69e58f3e3ff31a0731aee1dc
Use pycdlib to extract the content of the deploy iso to get efiboot
and grub config.
Story: 2009704
Task: 44033
Change-Id: I62cdf2a09bc4233056799b64b7fdb87ad21b5bbd
Bandit's B509 (SNMPv3 no authentication/privacy) check is
triggered by our line wrapping, as the check looks at the
number of arguments, and triggers if it only parses 3 arguments.
In Ironic's case, we pass five arguments. Presumably, this is due
to the line wrapping. Ultimately this bandit check is very new
having only been added with in the last few months.
Change-Id: Idaee72a53a1f33bcab940c6ebe1e7c113a1cb1ce
The anaconda deploy interface was saving internal information in
the node's instance_info, in the user-facing 'stage2' and
'ks_template' fields. This broke rebuilds using a different image
with different stage2 or template specified in the image properties.
This has been fixed by saving the information in the node's
driver_internal_info instead.
Addresses comments/nits from
https://review.opendev.org/c/openstack/ironic/+/827924.
Change-Id: Id9428518d21290fb38a0f7471a2cb69a6cb3ffb2
The anaconda deploy interface wasn't handling configdrive
correctly. This fixes:
- the code was incorrectly treating the config drive as a dict,
whereas it could also be in iso6600 format,
gzipped and base64-encoded. It is handled properly now.
- kickstart commands that deal with the config drive were added
to the end of the kickstart file. Which means that they are
executed after an ironic API request is sent to ironic to
indicate that the node has been provisioned and is ready
to be rebooted. Which means that there is a possible race
condition wrt these commands being completed before the node
is powered off. This has been fixed by putting the API request
at the end of the kickstart file. Also, a sync was added to
ensure that all modifications are written to disk.
- extra newlines ('\n') were incorrectly added to the user data content.
This broke the content-type decoding and cloud-init was unable to
proces them. The extra newlines have been removed.
Change-Id: If00342a1bfa3e87b2094061b0e2b0b69de3a8a4f