From 5db871ead66304c8ac818182180521fed04754ab Mon Sep 17 00:00:00 2001 From: Julia Kreger Date: Mon, 20 Nov 2023 11:04:15 -0800 Subject: [PATCH] Deprecate configuration molds Per the consensus during the 2024.1 PTG, configuration molds are being deprecated in favor of a to be developed in the future step templating mechanism. Change-Id: Ieab94972e89ca9cded7fae225191bd63d9311581 --- doc/source/admin/drivers/idrac.rst | 5 +++++ ironic/common/molds.py | 9 +++++++++ ironic/drivers/modules/drac/management.py | 4 ++-- .../deprecate-idrac-config-molds-6ba6e557b11dd5ff.yaml | 10 ++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/deprecate-idrac-config-molds-6ba6e557b11dd5ff.yaml diff --git a/doc/source/admin/drivers/idrac.rst b/doc/source/admin/drivers/idrac.rst index bd178a322c..45785c679b 100644 --- a/doc/source/admin/drivers/idrac.rst +++ b/doc/source/admin/drivers/idrac.rst @@ -286,6 +286,11 @@ The management interface for ``idrac-redfish`` supports: Import and export configuration ------------------------------- +.. warning:: + This feature has been deprecated and is anticipated to be removed once + Ironic has a generalized interface for doing step template articulation + for aspects beyond just "deployment" of baremetal nodes. + The clean and deploy steps provided in this section allow to configure the system and collect the system inventory using configuration mold files. diff --git a/ironic/common/molds.py b/ironic/common/molds.py index a77e42a639..6e4956ed22 100644 --- a/ironic/common/molds.py +++ b/ironic/common/molds.py @@ -29,6 +29,9 @@ LOG = logging.getLogger(__name__) CONF = cfg.CONF +# NOTE(TheJulia): Deprecated after the 2024.1 PTG in favor of +# a future step templating interface. + def save_configuration(task, url, data): """Store configuration mold to indicated location. @@ -57,6 +60,9 @@ def save_configuration(task, url, data): response.raise_for_status() +# NOTE(TheJulia): Deprecated after the 2024.1 PTG in favor of +# a future step templating interface. + def get_configuration(task, url): """Gets configuration mold from indicated location. @@ -98,6 +104,9 @@ def get_configuration(task, url): response.raise_for_status() +# NOTE(TheJulia): Deprecated after the 2024.1 PTG in favor of +# a future step templating interface. + def _get_auth_header(task): """Based on setup of configuration mold storage gets authentication header diff --git a/ironic/drivers/modules/drac/management.py b/ironic/drivers/modules/drac/management.py index 2991777e7b..cfaa7f2525 100644 --- a/ironic/drivers/modules/drac/management.py +++ b/ironic/drivers/modules/drac/management.py @@ -366,7 +366,7 @@ class DracRedfishManagement(redfish_management.RedfishManagement): @base.clean_step(priority=0, argsinfo=EXPORT_CONFIGURATION_ARGSINFO, requires_ramdisk=False) def export_configuration(self, task, export_configuration_location): - """Export the configuration of the server. + """(Deprecated) Export the configuration of the server. Exports the configuration of the server against which the step is run and stores it in specific format in indicated location. @@ -416,7 +416,7 @@ class DracRedfishManagement(redfish_management.RedfishManagement): @base.clean_step(priority=0, argsinfo=IMPORT_CONFIGURATION_ARGSINFO, requires_ramdisk=False) def import_configuration(self, task, import_configuration_location): - """Import and apply the configuration to the server. + """(Deprecated) Import and apply the configuration to the server. Gets pre-created configuration from storage by given location and imports that into given server. Uses Dell's Server Configuration diff --git a/releasenotes/notes/deprecate-idrac-config-molds-6ba6e557b11dd5ff.yaml b/releasenotes/notes/deprecate-idrac-config-molds-6ba6e557b11dd5ff.yaml new file mode 100644 index 0000000000..bdc18d6c88 --- /dev/null +++ b/releasenotes/notes/deprecate-idrac-config-molds-6ba6e557b11dd5ff.yaml @@ -0,0 +1,10 @@ +--- +deprecations: + - | + The ``idrac`` hardware type management interface steps + ``import_configuration`` and ``export_configuration`` steps are + deprecated, and will be removed once a formalized generic step + templating mechanism has been created within Ironic. The Ironic + community is open to reconsidering this decision should the + overall bulk configuration reset/templating model become adopted + by DMTF Redfish as a standardized cross-vendor feature.