11970 Commits

Author SHA1 Message Date
Harald Jensås
4cf0147e86 Exclude current conductor from offline_conductors
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
2022-04-28 10:28:26 +02:00
Zuul
cf8124deae Merge "[iRMC] Change the way to get irmc-info in raid" 2022-04-27 13:22:29 +00:00
Zuul
ec5f24bcdf Merge "Grenade: Turn up interfaces for vxlan" 2022-04-27 00:46:43 +00:00
Julia Kreger
fe3021fc37 Grenade: Turn up interfaces for vxlan
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
2022-04-26 10:43:27 -07:00
Peter Rudenko
93dc442935 Fixes log formatiing string.
Closes-Bug: 1970091

Signed-off-by: Peter Rudenko <petro.rudenko@gmail.com>
Change-Id: Ibfc494874dedf418cf0eb2df95492bd0e3cda46d
2022-04-24 13:24:52 +03:00
Zhou Hao
916b6d02c1 [iRMC] Change the way to get irmc-info in raid
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
2022-04-24 14:04:15 +08:00
Zuul
8e57495d10 Merge "fix typo: container-format is bare" 2022-04-19 06:39:22 +00:00
Dmitry Tantsur
57a21b1577 Add a note about duplicate parameters with %default%
Change-Id: Ifb3a592b1d701f050a21325731048fe8fee05038
2022-04-14 14:10:01 +02:00
Dmitry Tantsur
5feb39844a Allow reusing defaults in per-node kernel_append_params
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
2022-04-11 18:54:42 +02:00
Ruby Loo
da4d6fda0f fix typo: container-format is bare
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
2022-04-08 21:32:47 +00:00
Zuul
688f8cb7e8 Merge "Start API after conductor is started in the combined executable" 2022-04-04 23:07:35 +00:00
Julia Kreger
9df7e67e69 Grenade: Change to use bios because we have funky networking
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
2022-04-04 14:13:58 +02:00
Dmitry Tantsur
c5ef4b9203 Start API after conductor is started in the combined executable
Change-Id: Icaffb5d346001d62e5c9522708dd44f01faeb3a6
2022-03-24 18:07:51 +01:00
Arne Wiebalck
4d1bced623 [doc] Document dynamic network burn-in
Add documentation on how to configure and use the dynamic pair
matching for network burn-in.

Change-Id: I09fcdcae5f0ec0c9a2a6ba38028bf2b1d51ab75a
2022-03-24 15:10:30 +01:00
30b0c56d23 Add Python3 zed unit tests
This is an automatically generated patch to ensure unit testing
is in place for all the of the tested runtimes for zed.

See also the PTI in governance [1].

[1]: https://governance.openstack.org/tc/reference/project-testing-interface.html

Change-Id: I7ac9a2c84d60ca722e2343a5ca21d8c8b2b1ba71
2022-03-24 07:49:59 +00:00
f60ec1969b Update master for stable/yoga
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
2022-03-24 07:49:57 +00:00
Iury Gregory Melo Ferreira
872ede25a0 Fix 20.1 prelude releasenote
Change-Id: I899e78da376c06d9f9d5bad95cdb0b494a3ca494
20.1.0
2022-03-23 14:42:14 -03:00
Iury Gregory Melo Ferreira
aefc623c99 Prepare Yoga release with 20.1
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
2022-03-22 21:41:34 -03:00
Dmitry Tantsur
f446be697b Link from deploy interface docs to anaconda docs and move it to advanced
This is an advanced feature, so keep it with other advanced features,
but do link from the deploy interface listing.

Change-Id: If8a3cd4c8eca670be89d5cc1ce4a8bb788e546da
2022-03-22 16:57:45 +01:00
Jeffrey Zhang
dfd4002131 [trivial]Remove is_pxe_enabled function doc about ipxe_enabled option
ipxe_enabled option is already removed by
34d34b3a9d346c76d5cd9b126273f9b9e04c44e8

Change-Id: Ib96978aab60c60057dd9bc77e83ced0c95231917
2022-03-20 20:07:01 +08:00
Zuul
03af6448ab Merge "Use pycdlib to extract deploy iso" 2022-03-18 20:55:49 +00:00
Zuul
e5a1997df8 Merge "Create API documentation from docstrings" 2022-03-17 15:35:42 +00:00
Mahnoor Asghar
3e631a5931 Create API documentation from docstrings
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
2022-03-17 01:22:44 +05:00
Jacob Anders
687694c83c Improve efficiency of storage cleaning in mixed media envs -
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
2022-03-16 21:08:36 +10:00
Riccardo Pittau
7d1d2da0d1 Use pycdlib to extract deploy iso
Use pycdlib to extract the content of the deploy iso to get efiboot
and grub config.

Story: 2009704
Task: 44033

Change-Id: I62cdf2a09bc4233056799b64b7fdb87ad21b5bbd
2022-03-14 12:30:50 +01:00
Zuul
01dd06a176 Merge "Fix rebuilds using anaconda deploy interface" 2022-03-12 04:06:41 +00:00
Zuul
1d1cfbc1af Merge "Support img_type Glance property" 2022-03-11 17:31:19 +00:00
Zuul
910448b8b3 Merge "Anaconda deploy handles configdrive correctly" 2022-03-11 12:37:58 +00:00
Zuul
81f17f8a35 Merge "Shorten error messages in commonly used modules" 2022-03-11 07:41:34 +00:00
Zuul
e3221673ee Merge "Ignore fake nodes in the power sync loop" 2022-03-09 15:50:41 +00:00
Zuul
cdf05bd0d7 Merge "Recommend various installers in the install guide" 2022-03-08 10:57:31 +00:00
Julia Kreger
e02ab89410 Suppress Bandit B509 in snmp.py
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
2022-03-07 11:53:57 -08:00
Ruby Loo
ab68c9d88b Fix rebuilds using anaconda deploy interface
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
2022-03-04 15:31:43 +00:00
Ruby Loo
09d8a94d5a Anaconda deploy handles configdrive correctly
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
2022-03-03 15:28:09 +00:00
Zuul
4e6a3d52ed Merge "More fixes for anaconda deploy interface" 2022-03-03 12:39:40 +00:00
Zuul
8eec87bbe4 Merge "Minor updates to rbac doc" 2022-03-03 00:23:17 +00:00
Ruby Loo
1f79728317 Minor updates to rbac doc
Change-Id: I4366c56efe62cf71ea720555fc1436b5afa82272
2022-03-02 23:43:35 +00:00
Zuul
4d1652e1fb Merge "Fix Redfish RAID for non-immediate controllers" 2022-03-02 23:24:44 +00:00
Zuul
c7d88d64cb Merge "Fix prepare ramdisk for 'wait' states" 2022-03-02 23:04:26 +00:00
Zuul
172da53cf3 Merge "Add idrac-wsman clean steps to not require ramdisk" 2022-03-02 23:04:22 +00:00
Zuul
dcc4dc0e4b Merge "Update minimum requirements for ilo drivers" 2022-03-02 23:04:18 +00:00
Zuul
c3aa141a9f Merge "Fix failure of create_vfat_image function" 2022-03-02 22:59:58 +00:00
Riccardo Pittau
e11cfdb849 Update minimum requirements for ilo drivers
The proliantutils version needed is updated to 2.13.0
When running tests with older versions we get the error:
AttributeError: None does not have the attribute 'IloClient'

Change-Id: I6ab0672679c9d929c1e7c43a5966e6ad1e5353c0
Co-Authored-By: Thomas Goirand <thomas@goirand.fr>
2022-03-02 16:00:53 +01:00
Zuul
2907f983ca Merge "Troubleshooting guide: node locked error" 2022-03-02 08:34:38 +00:00
Zuul
47f76422bf Merge "[Trivial] Fix formatting in troubleshooting docs" 2022-03-02 08:33:01 +00:00
Vanou Ishii
e5e8e3cd54 Fix failure of create_vfat_image function
This commit fixes incorrect code in commit
c3805b2bea404cf6b831a3262e2602db72324616

There are 2 problems:
1) typo in FAT filesystem label
2) failure of running mcopy

1) typo in FAT filesystem label

   Above mentioned commit misspells VFAT label as ``ir-vfd-de``
   but it should have been ``ir-vfd-dev``

2) failure of running mcopy

   Till this commit, create_vfat_image function fails because it
   executes ``mcopy -s <tmp_dir>/*`` but it doesn't expand
   ``<tmp_dir>/*`` to list of file paths under ``<tmp_dir>``.

   This commit modifies create_vfat_image function to explicitly
   pass all file paths to mcopy.

Change-Id: I81617fcf1978f19db8d3ce4ca19341ccd51761bf
Story: 2009807
Task: 44366
2022-03-02 10:11:24 +09:00
Zuul
d704234a69 Merge "Add known issue for iDRAC Swift firmware update" 2022-03-01 15:10:28 +00:00
Zuul
e5bb7ec682 Merge "Add more sources to redfish firmware upgrade" 2022-03-01 15:10:19 +00:00
Dmitry Tantsur
004e1e8897 Troubleshooting guide: node locked error
Change-Id: I225203816b030aac840922d817c9952a75cb7dc2
2022-03-01 11:44:39 +01:00
Dmitry Tantsur
4b4f3f38c5 [Trivial] Fix formatting in troubleshooting docs
Change-Id: I611f57f116abc5c392f907cdebc7e795f650d958
2022-03-01 10:22:50 +01:00