summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api-ref/source/baremetal-api-v1-indicators.inc4
-rw-r--r--devstack/lib/ironic4
-rwxr-xr-xdevstack/tools/ironic/scripts/cirros-partition.sh2
-rw-r--r--doc/source/admin/drivers/redfish.rst2
-rw-r--r--doc/source/admin/interfaces/boot.rst16
-rw-r--r--doc/source/install/include/kernel-boot-parameters.inc4
-rw-r--r--ironic/common/hash_ring.py4
-rw-r--r--ironic/conf/ilo.py2
-rw-r--r--ironic/conf/pxe.py2
-rw-r--r--ironic/conf/redfish.py2
-rw-r--r--ironic/db/sqlalchemy/__init__.py4
-rw-r--r--ironic/drivers/modules/redfish/management.py11
-rw-r--r--ironic/tests/unit/common/test_hash_ring.py2
-rw-r--r--ironic/tests/unit/drivers/modules/network/test_common.py10
-rw-r--r--ironic/tests/unit/drivers/modules/redfish/test_management.py10
-rw-r--r--ironic/tests/unit/drivers/modules/test_image_utils.py8
-rw-r--r--ironic/tests/unit/drivers/modules/test_ipxe.py2
-rw-r--r--releasenotes/notes/handle-missing-ethernetinterfaces-attr-7e52f7259fe66762.yaml9
-rw-r--r--releasenotes/notes/remove-nomodset-7a352a9519c1045b.yaml22
-rw-r--r--releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po52
-rw-r--r--releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po159
-rw-r--r--zuul.d/project.yaml9
22 files changed, 146 insertions, 194 deletions
diff --git a/api-ref/source/baremetal-api-v1-indicators.inc b/api-ref/source/baremetal-api-v1-indicators.inc
index 0c4b11885..181951982 100644
--- a/api-ref/source/baremetal-api-v1-indicators.inc
+++ b/api-ref/source/baremetal-api-v1-indicators.inc
@@ -90,7 +90,7 @@ Response Parameters
Get Indicator State
===================
-.. rest_method:: GET /v1/nodes/{node_ident}/management/indicators/{component}/{ind_ident}
+.. rest_method:: GET /v1/nodes/{node_ident}/management/indicators/{ind_ident}@{component}
.. versionadded:: 1.63
@@ -127,7 +127,7 @@ Response Parameters
Set Indicator State
===================
-.. rest_method:: PUT /v1/nodes/{node_ident}/management/indicators/{component}/{ind_ident}
+.. rest_method:: PUT /v1/nodes/{node_ident}/management/indicators/{ind_ident}@{component}
.. versionadded:: 1.63
diff --git a/devstack/lib/ironic b/devstack/lib/ironic
index 51b2e2ba8..d82e1882d 100644
--- a/devstack/lib/ironic
+++ b/devstack/lib/ironic
@@ -1793,7 +1793,7 @@ function configure_ironic_conductor {
-subj '/O=OpenStack/OU=DevStack Servers'
fi
- local pxe_params="nofb nomodeset console=${IRONIC_TTY_DEV}"
+ local pxe_params="nofb console=${IRONIC_TTY_DEV}"
pxe_params+=" systemd.journald.forward_to_console=yes"
if is_service_enabled tls-proxy; then
pxe_params+=" ipa-insecure=1"
@@ -1805,7 +1805,7 @@ function configure_ironic_conductor {
iniset $IRONIC_CONF_FILE pxe kernel_append_params "$pxe_params"
fi
- local kernel_append_params="nofb nomodeset console=${IRONIC_TTY_DEV}"
+ local kernel_append_params="nofb console=${IRONIC_TTY_DEV}"
kernel_append_params+=" systemd.journald.forward_to_console=yes"
# NOTE(dtantsur): avoid setting ipa-insecure for redfish, we have a way to
diff --git a/devstack/tools/ironic/scripts/cirros-partition.sh b/devstack/tools/ironic/scripts/cirros-partition.sh
index facf9b030..38e1764c4 100755
--- a/devstack/tools/ironic/scripts/cirros-partition.sh
+++ b/devstack/tools/ironic/scripts/cirros-partition.sh
@@ -18,7 +18,7 @@ IRONIC_TTY_DEV=${IRONIC_TTY_DEV:-ttyS0,115200}
# rdroot : boot from the ramdisk present on the root partition instead of
# mounting the root partition.
# dslist : disable Nova metadata support, it takes a long time on boot.
-KARGS=${KARGS:-nofb nomodeset vga=normal console=${IRONIC_TTY_DEV} rdroot dslist=configdrive}
+KARGS=${KARGS:-nofb vga=normal console=${IRONIC_TTY_DEV} rdroot dslist=configdrive}
workdir=$(mktemp -d)
root_mp=$workdir/root
diff --git a/doc/source/admin/drivers/redfish.rst b/doc/source/admin/drivers/redfish.rst
index b82d24ec8..6628f48df 100644
--- a/doc/source/admin/drivers/redfish.rst
+++ b/doc/source/admin/drivers/redfish.rst
@@ -214,7 +214,7 @@ user-specified kernel command line parameters.
.. code-block:: bash
baremetal node set node-0 \
- --driver-info kernel_append_params="nofb nomodeset vga=normal"
+ --driver-info kernel_append_params="nofb vga=normal"
.. note::
The ``driver_info`` field is supported starting with the Xena release.
diff --git a/doc/source/admin/interfaces/boot.rst b/doc/source/admin/interfaces/boot.rst
index b9f0bda3e..a4b4cf2a3 100644
--- a/doc/source/admin/interfaces/boot.rst
+++ b/doc/source/admin/interfaces/boot.rst
@@ -49,7 +49,7 @@ configuration option:
.. code-block:: ini
[pxe]
- kernel_append_params = nofb nomodeset vga=normal
+ kernel_append_params = nofb vga=normal
.. note::
The option was called ``pxe_append_params`` before the Xena cycle.
@@ -59,9 +59,9 @@ Per-node and per-instance overrides are also possible, for example:
.. code-block:: bash
baremetal node set node-0 \
- --driver-info kernel_append_params="nofb nomodeset vga=normal"
+ --driver-info kernel_append_params="nofb vga=normal"
baremetal node set node-0 \
- --instance-info kernel_append_params="nofb nomodeset vga=normal"
+ --instance-info kernel_append_params="nofb vga=normal"
Starting with the Zed cycle, you can combine the parameters from the
configuration and from the node using the special ``%default%`` syntax:
@@ -74,13 +74,21 @@ configuration and from the node using the special ``%default%`` syntax:
Together with the configuration above, the following parameters will be
appended to the kernel command line::
- nofb nomodeset vga=normal console=ttyS0,115200n8
+ nofb vga=normal console=ttyS0,115200n8
.. note::
Ironic does not do any de-duplication of the resulting kernel parameters.
Both kernel itself and dracut seem to give priority to the last instance
of the same parameter.
+.. warning::
+ Previously our documentation listed the Linux kernel parameter
+ ``nomodeset`` as an option. This option is intended for troubleshooting,
+ and can greatly degrade performance with Matrox/Aspeed BMC Graphics
+ controllers which is very commonly used on physical servers. The
+ performance degredation can greatly reduce IO capacity upon every
+ console graphics update being written to the screen.
+
Common options
--------------
diff --git a/doc/source/install/include/kernel-boot-parameters.inc b/doc/source/install/include/kernel-boot-parameters.inc
index f0da59d60..82b4ecc91 100644
--- a/doc/source/install/include/kernel-boot-parameters.inc
+++ b/doc/source/install/include/kernel-boot-parameters.inc
@@ -91,7 +91,7 @@ respectively.
[pxe]
# Additional append parameters for baremetal PXE boot.
- kernel_append_params = nofb nomodeset vga=normal console=ttyS0,115200n8
+ kernel_append_params = nofb vga=normal console=ttyS0,115200n8
* For node web console configuration is similar with the addition of ``ttyX``
@@ -100,7 +100,7 @@ respectively.
[pxe]
# Additional append parameters for baremetal PXE boot.
- kernel_append_params = nofb nomodeset vga=normal console=tty0 console=ttyS0,115200n8
+ kernel_append_params = nofb vga=normal console=tty0 console=ttyS0,115200n8
For detailed information on how to add consoles see the reference documents
`kernel params`_ and `serial console`_.
diff --git a/ironic/common/hash_ring.py b/ironic/common/hash_ring.py
index 1f1107008..8986d5bd2 100644
--- a/ironic/common/hash_ring.py
+++ b/ironic/common/hash_ring.py
@@ -40,7 +40,7 @@ class HashRingManager(object):
@property
def ring(self):
interval = CONF.hash_ring_reset_interval
- limit = time.time() - interval
+ limit = time.monotonic() - interval
if not self.cache:
return self._load_hash_rings()
@@ -56,7 +56,7 @@ class HashRingManager(object):
if hash_rings is None or updated_at < limit:
LOG.debug('Rebuilding cached hash rings')
hash_rings = self._load_hash_rings()
- self.__class__._hash_rings = hash_rings, time.time()
+ self.__class__._hash_rings = hash_rings, time.monotonic()
LOG.debug('Finished rebuilding hash rings, available drivers '
'are %s', ', '.join(hash_rings))
return hash_rings
diff --git a/ironic/conf/ilo.py b/ironic/conf/ilo.py
index 197378ce7..6d1c52dd2 100644
--- a/ironic/conf/ilo.py
+++ b/ironic/conf/ilo.py
@@ -112,7 +112,7 @@ opts = [
'This setting must be set to the octal number '
'representation, meaning starting with ``0o``.')),
cfg.StrOpt('kernel_append_params',
- default='nofb nomodeset vga=normal',
+ default='nofb vga=normal',
mutable=True,
help=_('Additional kernel parameters to pass down to the '
'instance kernel. These parameters can be consumed by '
diff --git a/ironic/conf/pxe.py b/ironic/conf/pxe.py
index d96712824..e4c912192 100644
--- a/ironic/conf/pxe.py
+++ b/ironic/conf/pxe.py
@@ -24,7 +24,7 @@ from ironic.common.i18n import _
opts = [
cfg.StrOpt('kernel_append_params',
deprecated_name='pxe_append_params',
- default='nofb nomodeset vga=normal',
+ default='nofb vga=normal',
mutable=True,
help=_('Additional append parameters for baremetal PXE boot.')),
cfg.StrOpt('default_ephemeral_format',
diff --git a/ironic/conf/redfish.py b/ironic/conf/redfish.py
index 3cc9fe015..68aa96141 100644
--- a/ironic/conf/redfish.py
+++ b/ironic/conf/redfish.py
@@ -64,7 +64,7 @@ opts = [
'auto-expire. Applies only when `use_swift` is '
'enabled.')),
cfg.StrOpt('kernel_append_params',
- default='nofb nomodeset vga=normal',
+ default='nofb vga=normal',
mutable=True,
help=_('Additional kernel parameters to pass down to the '
'instance kernel. These parameters can be consumed by '
diff --git a/ironic/db/sqlalchemy/__init__.py b/ironic/db/sqlalchemy/__init__.py
index c656ed227..f92a0b600 100644
--- a/ironic/db/sqlalchemy/__init__.py
+++ b/ironic/db/sqlalchemy/__init__.py
@@ -17,10 +17,8 @@ from sqlalchemy import event
CONF = cfg.CONF
-# FIXME(stephenfin): we need to remove reliance on autocommit semantics ASAP
-# since it's not compatible with SQLAlchemy 2.0
# NOTE(dtantsur): we want sqlite as close to a real database as possible.
-enginefacade.configure(sqlite_fk=True, __autocommit=True)
+enginefacade.configure(sqlite_fk=True)
# NOTE(TheJulia): Setup a listener to trigger the sqlite write-ahead
diff --git a/ironic/drivers/modules/redfish/management.py b/ironic/drivers/modules/redfish/management.py
index a669d09bc..8bd7058a5 100644
--- a/ironic/drivers/modules/redfish/management.py
+++ b/ironic/drivers/modules/redfish/management.py
@@ -1197,9 +1197,18 @@ class RedfishManagement(base.ManagementInterface):
:raises: RedfishError on an error from the Sushy library
:returns: A list of MAC addresses for the node
"""
+ system = redfish_utils.get_system(task.node)
try:
- system = redfish_utils.get_system(task.node)
return list(redfish_utils.get_enabled_macs(task, system))
+ # NOTE(janders) we should handle MissingAttributeError separately
+ # from other SushyErrors - some servers (e.g. some Cisco UCSB and UCSX
+ # blades) are missing EthernetInterfaces attribute yet could be
+ # provisioned successfully if MAC information is provided manually AND
+ # this exception is caught and handled accordingly.
+ except sushy.exceptions.MissingAttributeError as exc:
+ LOG.warning('Cannot get MAC addresses for node %(node)s: %(exc)s',
+ {'node': task.node.uuid, 'exc': exc})
+ # if the exception is not a MissingAttributeError, raise it
except sushy.exceptions.SushyError as exc:
msg = (_('Failed to get network interface information on node '
'%(node)s: %(exc)s')
diff --git a/ironic/tests/unit/common/test_hash_ring.py b/ironic/tests/unit/common/test_hash_ring.py
index 9ecf34562..a84b9ffcf 100644
--- a/ironic/tests/unit/common/test_hash_ring.py
+++ b/ironic/tests/unit/common/test_hash_ring.py
@@ -129,7 +129,7 @@ class HashRingManagerTestCase(db_base.DbTestCase):
self.ring_manager.__class__._hash_rings = (
self.ring_manager.__class__._hash_rings[0],
- time.time() - 31
+ time.monotonic() - 31
)
ring = self.ring_manager.get_ring('hardware-type', '')
self.assertEqual(2, len(ring))
diff --git a/ironic/tests/unit/drivers/modules/network/test_common.py b/ironic/tests/unit/drivers/modules/network/test_common.py
index 7b907ad22..e58fcaa20 100644
--- a/ironic/tests/unit/drivers/modules/network/test_common.py
+++ b/ironic/tests/unit/drivers/modules/network/test_common.py
@@ -1065,10 +1065,14 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase):
expected_dhcp_opts = [{'opt_name': '61', 'opt_value': 'fake2'}]
self.port.extra = expected_extra
self.port.internal_info = expected_ii
+ what_changed_mock = mock.Mock()
+ what_changed_mock.return_value = ['extra', 'internal_info']
+ self.port.obj_what_changed = what_changed_mock
with task_manager.acquire(self.context, self.node.id) as task:
self.interface.port_changed(task, self.port)
dhcp_update_mock.assert_called_once_with(
mock.ANY, 'fake-id', expected_dhcp_opts, context=task.context)
+ self.assertEqual(2, what_changed_mock.call_count)
@mock.patch('ironic.dhcp.neutron.NeutronDHCPApi.update_port_dhcp_opts',
autospec=True)
@@ -1087,14 +1091,16 @@ class TestNeutronVifPortIDMixin(db_base.DbTestCase):
def test_port_changed_client_id_fail(self, dhcp_update_mock):
self.port.internal_info = {'tenant_vif_port_id': 'fake-id'}
self.port.extra = {'client-id': 'fake3'}
- # NOTE(TheJulia): Does not save, because it attempts to figure
- # out what has changed as part of the test.
+ what_changed_mock = mock.Mock()
+ what_changed_mock.return_value = ['extra']
+ self.port.obj_what_changed = what_changed_mock
dhcp_update_mock.side_effect = (
exception.FailedToUpdateDHCPOptOnPort(port_id=self.port.uuid))
with task_manager.acquire(self.context, self.node.id) as task:
self.assertRaises(exception.FailedToUpdateDHCPOptOnPort,
self.interface.port_changed,
task, self.port)
+ self.assertEqual(2, what_changed_mock.call_count)
@mock.patch('ironic.dhcp.neutron.NeutronDHCPApi.update_port_dhcp_opts',
autospec=True)
diff --git a/ironic/tests/unit/drivers/modules/redfish/test_management.py b/ironic/tests/unit/drivers/modules/redfish/test_management.py
index f8c82949a..1d752d909 100644
--- a/ironic/tests/unit/drivers/modules/redfish/test_management.py
+++ b/ironic/tests/unit/drivers/modules/redfish/test_management.py
@@ -1598,3 +1598,13 @@ class RedfishManagementTestCase(db_base.DbTestCase):
shared=True) as task:
self.assertEqual([],
task.driver.management.get_mac_addresses(task))
+
+ @mock.patch.object(redfish_utils, 'get_enabled_macs', autospec=True)
+ @mock.patch.object(redfish_utils, 'get_system', autospec=True)
+ def test_get_mac_addresses_missing_attr(self, mock_get_system,
+ mock_get_enabled_macs):
+ redfish_utils.get_enabled_macs.side_effect = (sushy.exceptions.
+ MissingAttributeError)
+ with task_manager.acquire(self.context, self.node.uuid,
+ shared=True) as task:
+ self.assertIsNone(task.driver.management.get_mac_addresses(task))
diff --git a/ironic/tests/unit/drivers/modules/test_image_utils.py b/ironic/tests/unit/drivers/modules/test_image_utils.py
index b6c572125..fbb6318fe 100644
--- a/ironic/tests/unit/drivers/modules/test_image_utils.py
+++ b/ironic/tests/unit/drivers/modules/test_image_utils.py
@@ -583,7 +583,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase):
mock_create_boot_iso.assert_called_once_with(
mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img',
boot_mode='uefi', esp_image_href='http://bootloader/img',
- kernel_params='nofb nomodeset vga=normal',
+ kernel_params='nofb vga=normal',
root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123',
inject_files=None)
@@ -604,7 +604,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase):
mock_create_boot_iso.assert_called_once_with(
mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img',
boot_mode='uefi', esp_image_href=None,
- kernel_params='nofb nomodeset vga=normal',
+ kernel_params='nofb vga=normal',
root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123',
inject_files=None)
@@ -633,7 +633,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase):
mock_create_boot_iso.assert_called_once_with(
mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img',
boot_mode='bios', esp_image_href=None,
- kernel_params='nofb nomodeset vga=normal',
+ kernel_params='nofb vga=normal',
root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123',
inject_files=None)
@@ -702,7 +702,7 @@ class RedfishImageUtilsTestCase(db_base.DbTestCase):
mock_create_boot_iso.assert_called_once_with(
mock.ANY, mock.ANY, 'http://kernel/img', 'http://ramdisk/img',
boot_mode='uefi', esp_image_href=None,
- kernel_params=f'nofb nomodeset vga=normal {kernel_params}',
+ kernel_params=f'nofb vga=normal {kernel_params}',
root_uuid='1be26c0b-03f2-4d2e-ae87-c02d7f33c123',
inject_files=None)
diff --git a/ironic/tests/unit/drivers/modules/test_ipxe.py b/ironic/tests/unit/drivers/modules/test_ipxe.py
index ef37e3fc4..02d254b5a 100644
--- a/ironic/tests/unit/drivers/modules/test_ipxe.py
+++ b/ironic/tests/unit/drivers/modules/test_ipxe.py
@@ -813,7 +813,7 @@ class iPXEBootTestCase(db_base.DbTestCase):
'aki_path': 'http://192.1.2.3:1234/' + uuid + '/kernel',
'ari_path': 'http://192.1.2.3:1234/' + uuid + '/ramdisk',
'ramdisk_opts': 'cat meow',
- 'pxe_append_params': 'nofb nomodeset vga=normal ipa-debug=1 '
+ 'pxe_append_params': 'nofb vga=normal ipa-debug=1 '
'ipa-global-request-'
'id=' + task.context.request_id,
'tftp_server': mock.ANY,
diff --git a/releasenotes/notes/handle-missing-ethernetinterfaces-attr-7e52f7259fe66762.yaml b/releasenotes/notes/handle-missing-ethernetinterfaces-attr-7e52f7259fe66762.yaml
new file mode 100644
index 000000000..225238506
--- /dev/null
+++ b/releasenotes/notes/handle-missing-ethernetinterfaces-attr-7e52f7259fe66762.yaml
@@ -0,0 +1,9 @@
+---
+fixes:
+ - |
+ Fixes the bug where provisioning a Redfish managed node fails if the BMC
+ doesn't support EthernetInterfaces attribute, even if MAC address
+ information is provided manually. This is done by handling of
+ MissingAttributeError sushy exception in get_mac_addresses() method.
+ This fix is needed to successfully provision machines such as Cisco UCSB
+ and UCSX.
diff --git a/releasenotes/notes/remove-nomodset-7a352a9519c1045b.yaml b/releasenotes/notes/remove-nomodset-7a352a9519c1045b.yaml
new file mode 100644
index 000000000..26d10c262
--- /dev/null
+++ b/releasenotes/notes/remove-nomodset-7a352a9519c1045b.yaml
@@ -0,0 +1,22 @@
+---
+upgrade:
+ - |
+ The defaults for ``kernel_append_params`` have had the Linux kernel
+ command line parameter ``nomodeset`` removed from the defaults for the
+ ``kernel_append_params`` settings. The ``nomodeset`` option is for
+ troubleshooting and changes the behavior of the graphics interface
+ such that memory can be locked upon graphical updates on physical
+ servers with BMC graphical interfaces, which results in spikes in
+ latency and packet loss whenever graphics updates occur. Operators
+ may add the option to their local configuration, but should be aware
+ that large image transfers or other high IO operations can be impacted.
+fixes:
+ - |
+ Agents deploying on physical servers with default kernel arguments were
+ suspetible to packet loss if a Matrox VGA/Aspeed BMC Graphics interface
+ is present on the machine. The defaults have been changed to remove
+ the use of the ``nomodeset`` kernel command line parameter which
+ should only be used for troubleshooting as it has been determined
+ that the memory updates can lock all of the kernel memory upon any
+ console graphics update which can negatively impact IO for Networking
+ or Disk interactions.
diff --git a/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po b/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
index c3581ff0d..05bc0a046 100644
--- a/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
+++ b/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po
@@ -8,11 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: Ironic Release Notes\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-03-08 03:30+0000\n"
+"POT-Creation-Date: 2023-05-09 03:34+0000\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2023-02-03 04:37+0000\n"
+"PO-Revision-Date: 2023-05-08 10:24+0000\n"
"Last-Translator: Andi Chandler <andi@gowling.com>\n"
"Language-Team: English (United Kingdom)\n"
"Language: en_GB\n"
@@ -287,8 +287,11 @@ msgstr "18.2.1"
msgid "18.2.2"
msgstr "18.2.2"
-msgid "18.2.2-6"
-msgstr "18.2.2-6"
+msgid "18.3.0"
+msgstr "18.3.0"
+
+msgid "18.3.0-1"
+msgstr "18.3.0-1"
msgid "19.0.0"
msgstr "19.0.0"
@@ -302,6 +305,9 @@ msgstr "20.1.0"
msgid "20.1.1"
msgstr "20.1.1"
+msgid "20.1.1-10"
+msgstr "20.1.1-10"
+
msgid "20.2.0"
msgstr "20.2.0"
@@ -311,12 +317,21 @@ msgstr "21.0.0"
msgid "21.1.0"
msgstr "21.1.0"
+msgid "21.1.0-17"
+msgstr "21.1.0-17"
+
msgid "21.2.0"
msgstr "21.2.0"
msgid "21.3.0"
msgstr "21.3.0"
+msgid "21.4.0"
+msgstr "21.4.0"
+
+msgid "21.4.0-7"
+msgstr "21.4.0-7"
+
msgid "4.0.0 First semver release"
msgstr "4.0.0 First semver release"
@@ -1829,6 +1844,14 @@ msgstr ""
"of the Driver API to support future improvements."
msgid ""
+"Drivers may register their own periodic tasks to be run by the Conductor."
+msgstr ""
+"Drivers may register their own periodic tasks to be run by the Conductor."
+
+msgid "Drivers may store their own \"internal\" information about Nodes."
+msgstr "Drivers may store their own \"internal\" information about Nodes."
+
+msgid ""
"Drivers using the \"agent\" deploy mechanism do not support \"rebuild --"
"preserve-ephemeral\""
msgstr ""
@@ -1938,6 +1961,13 @@ msgid "Support for the new ENROLL workflow during Node creation"
msgstr "Support for the new ENROLL workflow during Node creation"
msgid ""
+"Support for third-party and out-of-tree drivers is enhanced by the following "
+"two changes:"
+msgstr ""
+"Support for third-party and out-of-tree drivers is enhanced by the following "
+"two changes:"
+
+msgid ""
"The \"agent\" class of drivers now support both whole-disk and partition "
"based images."
msgstr ""
@@ -2110,3 +2140,17 @@ msgstr "v1.7 exposes a new 'clean_step' property on the Node resource."
msgid "v1.8 and v1.9 improve query and filter support"
msgstr "v1.8 and v1.9 improve query and filter support"
+
+msgid ""
+"vendor_passthru methods are now discoverable in the REST API. See node "
+"vendor passthru and driver vendor passthru"
+msgstr ""
+"vendor_passthru methods are now discoverable in the REST API. See node "
+"vendor passthru and driver vendor passthru"
+
+msgid ""
+"vendor_passthru methods now support additional HTTP methods (eg, PUT and "
+"POST)."
+msgstr ""
+"vendor_passthru methods now support additional HTTP methods (eg, PUT and "
+"POST)."
diff --git a/releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po b/releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po
deleted file mode 100644
index 81262b544..000000000
--- a/releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po
+++ /dev/null
@@ -1,159 +0,0 @@
-# OpenStack Infra <zanata@openstack.org>, 2015. #zanata
-# Akihiro Motoki <amotoki@gmail.com>, 2016. #zanata
-# Akihito INOH <aki-inou@rs.jp.nec.com>, 2018. #zanata
-msgid ""
-msgstr ""
-"Project-Id-Version: Ironic Release Notes\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-03-08 03:30+0000\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2018-02-15 11:45+0000\n"
-"Last-Translator: Akihito INOH <aki-inou@rs.jp.nec.com>\n"
-"Language-Team: Japanese\n"
-"Language: ja\n"
-"X-Generator: Zanata 4.3.3\n"
-"Plural-Forms: nplurals=1; plural=0\n"
-
-msgid ""
-"\"Port group\" support allows users to take advantage of bonded network "
-"interfaces."
-msgstr ""
-"\"Port group\" のサポートにより、ユーザーはボンディングされたネットワークイン"
-"ターフェースが利用できるようになります。"
-
-msgid "10.0.0"
-msgstr "10.0.0"
-
-msgid "10.1.0"
-msgstr "10.1.0"
-
-msgid "4.2.2"
-msgstr "4.2.2"
-
-msgid "4.2.3"
-msgstr "4.2.3"
-
-msgid "4.2.4"
-msgstr "4.2.4"
-
-msgid "4.2.5"
-msgstr "4.2.5"
-
-msgid "4.3.0"
-msgstr "4.3.0"
-
-msgid "443, 80"
-msgstr "443, 80"
-
-msgid "5.0.0"
-msgstr "5.0.0"
-
-msgid "5.1.0"
-msgstr "5.1.0"
-
-msgid "5.1.1"
-msgstr "5.1.1"
-
-msgid "5.1.2"
-msgstr "5.1.2"
-
-msgid "5.1.3"
-msgstr "5.1.3"
-
-msgid "6.0.0"
-msgstr "6.0.0"
-
-msgid "6.1.0"
-msgstr "6.1.0"
-
-msgid "6.2.0"
-msgstr "6.2.0"
-
-msgid "6.2.2"
-msgstr "6.2.2"
-
-msgid "6.2.3"
-msgstr "6.2.3"
-
-msgid "6.2.4"
-msgstr "6.2.4"
-
-msgid "6.3.0"
-msgstr "6.3.0"
-
-msgid "7.0.0"
-msgstr "7.0.0"
-
-msgid "7.0.1"
-msgstr "7.0.1"
-
-msgid "7.0.2"
-msgstr "7.0.2"
-
-msgid "7.0.3"
-msgstr "7.0.3"
-
-msgid "7.0.4"
-msgstr "7.0.4"
-
-msgid "8.0.0"
-msgstr "8.0.0"
-
-msgid "9.0.0"
-msgstr "9.0.0"
-
-msgid "9.0.1"
-msgstr "9.0.1"
-
-msgid "9.1.0"
-msgstr "9.1.0"
-
-msgid "9.1.1"
-msgstr "9.1.1"
-
-msgid "9.1.2"
-msgstr "9.1.2"
-
-msgid "9.1.3"
-msgstr "9.1.3"
-
-msgid "9.2.0"
-msgstr "9.2.0"
-
-msgid ""
-"A few major changes are worth mentioning. This is not an exhaustive list:"
-msgstr ""
-"いくつかの主要な変更がありました。全てではありませんが以下にリストを示しま"
-"す。"
-
-msgid "A few major changes since 9.1.x (Pike) are worth mentioning:"
-msgstr "9.1.x (Pike) からの主要な変更がいくつかありました。"
-
-msgid "Bug Fixes"
-msgstr "バグ修正"
-
-msgid "Current Series Release Notes"
-msgstr "開発中バージョンのリリースノート"
-
-msgid "Deprecation Notes"
-msgstr "廃止予定の機能"
-
-msgid "Known Issues"
-msgstr "既知の問題"
-
-msgid "New Features"
-msgstr "新機能"
-
-msgid "Option"
-msgstr "オプション"
-
-msgid "Other Notes"
-msgstr "その他の注意点"
-
-msgid "Security Issues"
-msgstr "セキュリティー上の問題"
-
-msgid "Upgrade Notes"
-msgstr "アップグレード時の注意"
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 8fbfbb929..cf3a696db 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -13,7 +13,10 @@
- ironic-cross-sushy:
voting: false
- ironic-tempest-functional-python3
- - ironic-tempest-functional-rbac-scope-enforced
+ # NOTE(rpittau) moving to non-voting until we fix the tests
+ # see also https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/882312
+ - ironic-tempest-functional-rbac-scope-enforced:
+ voting: false
- ironic-grenade
- ironic-standalone
- ironic-standalone-redfish
@@ -63,7 +66,9 @@
jobs:
- ironic-tox-unit-with-driver-libs
- ironic-tempest-functional-python3
- - ironic-tempest-functional-rbac-scope-enforced
+ # NOTE(rpittau) disabled until we fix the tests
+ # see also https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/882312
+ #- ironic-tempest-functional-rbac-scope-enforced
- ironic-grenade
- ironic-standalone
- ironic-standalone-redfish