[release-announce] ironic 21.2.0 (antelope)
no-reply at openstack.org
no-reply at openstack.org
Thu Dec 15 16:23:33 UTC 2022
We contentedly announce the release of:
ironic 21.2.0: OpenStack Bare Metal Provisioning
This release is part of the antelope release series.
The source is available from:
https://opendev.org/openstack/ironic
Download the package from:
https://tarballs.openstack.org/ironic/
Please report issues through:
https://storyboard.openstack.org/#!/project/943
For more details, please see below.
21.2.0
^^^^^^
Upgrade Notes
*************
* Adds an upgrade status check for the Allocation table engine and
character set encoding on MySQL. This is a result of a missing
encoding definition on the table schema when originally created.
This issue will be remedied, in part, in a later version of Ironic,
but the upgrade status check will provide advance operator
visibility.
* This upgrade updates the default character set to utilized in the
database tables when using MySQL/MariaDB. Previously, the default
for Ironic was "UTF8", however we now explicitly set "UTF8MB3" which
is short for "3 byte UTF8" encoding. The exception to this is the
"allocations" table, which would just rely upon the database
default. This was done as Ironic's database schema is incompatible
with MySQL/MariaDB's "UTF8MB4", or "4 byte UTF8" character encoding
and storage constraints.
* Upgrading will change the default chracter encoding of all tables.
For most tables, this should be an effective noop, but may result in
transitory table locks. For the "allocations" table, it will need to
be re-written, during which the database engine will have locked the
table from being used. Operators are advised to perform test
upgrades and set expectation and upgrade plans accordingly.
* Adds "sha256", "sha384" and "sha512" as supported SNMPv3
authentication protocols to iRMC driver.
* Operators who are upgrading should be aware that a bug was
discovered with the automatic selection of "boot_interface" for
users of the "irmc" hardware types. This was an inconsistency,
resulting in "irmc-pxe" being selected instead of "ipxe" if these
boot interfaces were enabled. Depending on the local configuration,
this may, or may not have happened and will remain static on
preexisting baremetal nodes. Some users may have been relying upon
this incorrect behavior by having mis-alligned defaults by trying to
use the "irmc-pxe" interface for "ipxe". Users wishing to continue
this usage as it was previously will need to explicitly set a
"boot_interface" value to either "pxe" or "irmc-pxe", depending on
the local configuration. Most operators have leveraged the default
examples, and thus did not explicitly encounter this condition.
Operators explicitly wishing to use "pxe" boot interfaces with the
"ipxe" templates and defaults set to override the defaults for
"ironic.conf" will need to either continue to leverage default
override configurations in their "ironic.conf" file.
* Ironic has started the process of upgrading the code base to
support SQLAlchemy 2.0 in anticipation of it's release. This results
in the minimum version of SQLAlchemy becoming 1.4.0 as it contains
migration features for the move to SQLAlchemy 2.0.
Bug Fixes
*********
* Fixes an missing MySQL/MariaDB character set configuration and
default table type encoding for the "allocations" database table.
Previously, If Ironic's database was attempted to be populated on a
machine which was using 4 byte character encoding, such as
MySQL/MariaDB on Debian based systems, then the database schema
creation would fail.
* Fixes an issue where unexpected exceptions coming from the process
to start cleaning would not trigger the cleaning_error_handler which
performs the needful internal resets to permit cleaning to be
retried again in the future. Now any error which is encountered
during the launch of cleaning will trigger the error handler.
* Fixes the URL based anaconda deployment for parsing the given
"image_source" url.
* Fixes URL based anaconda deploy to work in pxe boot. It also
enables grub based pxe anaconda deploy which is required for "ilo"
hardware type.
* Modify iRMC driver to use ironic.conf [deploy] default_boot_mode
to determine default boot_mode.
* Fixes the default boot interface order for the "irmc" hardware
type where previously it would prefer "irmc-pxe" over "ipxe". This
created inconsistencies for operators using multiple hardware types,
where both interfaces were enabled in the deployment.
Changes in ironic 21.1.0..21.2.0
--------------------------------
d7c95306d Ironic doesn't use metering; don't start it in CI
aca8ebc06 Catch any exception for Cleaning
7c47ad04f [grenade] Explicitly enable Neutron ML2/OVS services in the CI job
342f4b37d Fix unit tests for Python 3.11
b70b4180f Follow-up to Redfish Interop Profile
4073d1983 Get inventory from Inspector
d691ee05e Add ports statistics to tools/benchmark scripts
26a6b4ed0 [doc] Add documentation on SMART test after disk burn-in
59b0dc459 Implements node inventory: database
fdcf3ad9e Create 'redfish' driver Redfish Interop Profile
071cf9b2d Align iRMC driver with Ironic's default boot_mode
2200f931d Change boot_interface order of iRMC driver
9e9b24821 Imported Translations from Zanata
cab51a9fc Fix the invalid glance client test
5d5ae5953 Replace more instances of model_query
cec04bb04 Do not disable autocommit until we fully migrate
ad0b8e4dc Cross test sushy with python 3.10
a1fe6cb41 Fix double mock call in glance_service test
b93fb2e5c Imported Translations from Zanata
c0287d0fd Phase 3 - SQLAlchemy 2.0 Compatability
ceec89094 Use project scoped token for cinder, glance services
b87b63db7 Trival: Remove minor troubleshooting accidently committed
c2df29e52 Phase 2 - SQLAlchemy 2.0 Compatability
49e085583 Phase 1 - SQLAlchemy 2.0 Compatability
1435a15ce Fix allocations default table type
9344eb22d Add upgrade check warning for allocations db
d26e0d2b7 Bump min version of testtools
cbaa871b2 Imported Translations from Zanata
eb046d341 Remove reference to 'all-plugin' tox environment
0215d3cd7 Fixes anaconda deploy for PXE boot
3b1504f4a Imported Translations from Zanata
ca54c4df2 Fix the anaconda deploy for the ISO mounted
233c64083 Add support auth protocols for iRMC
fdfbe6b68 Add missing space to log message
35b896ae2 Imported Translations from Zanata
bb6662f1e Update release versions for zed
1499023c4 Switch to 2023.1 Python3 unit tests and generic template name
2e4f287b7 Update master for stable/zed
2a05500c7 Update release versions for yoga
Diffstat (except docs and test files)
-------------------------------------
devstack/lib/ironic | 11 +-
.../install/include/common-prerequisites.inc | 10 +-
ironic/cmd/status.py | 41 +-
ironic/common/exception.py | 4 +
ironic/common/glance_service/image_service.py | 3 +-
ironic/common/images.py | 26 +-
ironic/common/pxe_utils.py | 3 +
ironic/common/release_mappings.py | 1 +
ironic/common/utils.py | 15 +
ironic/conductor/base_manager.py | 17 +-
ironic/conductor/cleaning.py | 5 +-
ironic/conductor/manager.py | 7 +-
ironic/conf/glance.py | 1 +
ironic/conf/irmc.py | 15 +-
ironic/db/api.py | 30 +
ironic/db/sqlalchemy/__init__.py | 2 +-
.../0ac0f39bc5aa_add_node_inventory_table.py | 46 +
.../versions/2581ebaf0cb2_initial_migration.py | 16 +-
.../versions/2aac7e0872f6_add_deploy_templates.py | 8 +-
.../alembic/versions/48d6c242bb9b_add_node_tags.py | 4 +-
...10e_added_port_group_table_and_altered_ports.py | 4 +-
.../versions/82c315d60161_add_bios_settings.py | 4 +-
.../9ef41f07cb58_add_node_history_table.py | 4 +-
.../b4130a7fc904_create_nodetraits_table.py | 4 +-
.../versions/dd67b91a1981_add_allocations_table.py | 5 +-
ironic/db/sqlalchemy/api.py | 1026 ++++++++++++--------
ironic/db/sqlalchemy/models.py | 52 +-
ironic/drivers/irmc.py | 4 +-
ironic/drivers/modules/boot_mode_utils.py | 2 +-
ironic/drivers/modules/inspector.py | 12 +-
ironic/drivers/modules/irmc/common.py | 7 +-
ironic/drivers/modules/irmc/inspect.py | 9 +-
ironic/drivers/modules/irmc/management.py | 4 +-
ironic/drivers/modules/irmc/power.py | 7 +-
ironic/drivers/modules/pxe_grub_config.template | 5 +
ironic/objects/__init__.py | 1 +
ironic/objects/node_inventory.py | 104 ++
.../unit/drivers/modules/irmc/test_inspect.py | 25 +-
.../unit/drivers/modules/irmc/test_management.py | 20 +-
.../OpenStackIronicProfile.v1_0_0.json | 221 +++++
...d-allocations-table-check-38f1c9eef189b411.yaml | 8 +
.../allocations-charset-5384d1ea00964bdd.yaml | 23 +
...h-all-cleaning-exceptions-1317a534a1c9db56.yaml | 8 +
.../notes/fix_anaconda-70f4268edc255ff4.yaml | 5 +
.../notes/fix_anaconda_pxe-6c75d42872424fec.yaml | 6 +
...c-add-snmp-auth-protocols-3ff7597cea7ef9dd.yaml | 5 +
...-ironic-default-boot-mode-dde6f65ea084c9e6.yaml | 5 +
...ange-boot-interface-order-e76f5018da116a90.yaml | 26 +
...prepare-for-sqlalchemy-20-e817f340f261b1a2.yaml | 7 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 205 +++-
releasenotes/source/yoga.rst | 6 +-
releasenotes/source/zed.rst | 6 +
requirements.txt | 2 +-
test-requirements.txt | 2 +-
.../benchmark/do_not_run_create_benchmark_data.py | 63 +-
tools/benchmark/generate-statistics.py | 112 +++
tox.ini | 2 +
zuul.d/ironic-jobs.yaml | 20 +-
zuul.d/project.yaml | 4 +-
83 files changed, 2359 insertions(+), 744 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index ae8e14f39..8a57727ec 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9 +9 @@ pbr>=3.1.1 # Apache-2.0
-SQLAlchemy>=1.2.19 # MIT
+SQLAlchemy>=1.4.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index bd29d9394..0c4bdb0ca 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14 +14 @@ psycopg2>=2.8.5 # LGPL/ZPL
-testtools>=2.2.0 # MIT
+testtools>=2.5.0 # MIT
More information about the Release-announce
mailing list