Riccardo Pittau abf2e577aa Migrate database charset from UTF8MB3 to UTF8MB4
UTF8MB3 (3-byte UTF-8) character encoding is deprecated in MySQL and
its support will be removed in future versions. This change migrates
Ironic's database schema to use UTF8MB4 (4-byte UTF-8) which provides
full Unicode support including supplementary characters.

This is a breaking change that requires MySQL 8.0+ or MariaDB 10.3+,
which use DYNAMIC row format by default and support the required
index key prefix lengths for UTF8MB4 columns.

Changes include:
- Update models.py to use utf8mb4 charset for new tables
- Add Alembic migration to convert existing tables to UTF8MB4
- Update ironic-status upgrade check to verify UTF8MB4 encoding
- Update documentation with new database requirements
- Update test setup to use utf8mb4
- Add test to verify the migration

Assisted-By: Claude 4.5 Opus High
Change-Id: Icbcf5f061c8dad239425448204733aa0d78a741f
Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
Closes-Bug: 2130359
2026-01-29 17:59:38 +01:00
2025-12-24 14:45:12 +00:00
2024-02-02 23:17:12 +09:00
2019-04-19 19:40:53 +00:00
2020-04-13 07:29:37 -07:00
2026-01-19 13:44:54 +01:00
2013-05-02 14:55:43 -04:00
2026-01-23 08:20:11 +01:00

Ironic

image

Overview

Ironic consists of an API and plug-ins for managing and provisioning physical machines in a security-aware and fault-tolerant manner. It can be used with nova as a hypervisor driver, or standalone service.

By default, it will use PXE and IPMI/Redfish to interact with bare metal machines. Some drivers, like the Redfish drivers, also support advanced features like leveraging HTTPBoot or Virtual Media based boot operations depending on the configuration by the user. Ironic also supports vendor-specific plug-ins which may implement additional functionality, however many vendors have chosen to focus on their Redfish implementations instead of customized drivers.

Numerous ways exist to leverage Ironic to deploy a bare metal node, above and beyond asking Nova for a "bare metal" instance, or for asking Ironic to manually deploy a specific machine. Bifrost and Metal3 are related projects which seek to simplify the use and interaction of Ironic.

Ironic is distributed under the terms of the Apache License, Version 2.0. The full terms and conditions of this license are detailed in the LICENSE file.

Project resources

Project status, bugs, and requests for feature enhancements (RFEs) are tracked in Launchpad: https://launchpad.net/ironic

For information on how to contribute to ironic, see https://docs.openstack.org/ironic/latest/contributor

S
Description
A service for managing and provisioning Bare Metal servers.
Readme
370 MiB
2 Watchers 0 Forks
Languages
Python 97.8%
Shell 2%
JavaScript 0.1%