summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulia Kreger <juliaashleykreger@gmail.com>2017-05-17 00:28:52 +0000
committerRuby Loo <ruby.loo@intel.com>2017-05-29 11:47:54 -0400
commitbd5b1a72e0b9449b4f3d091cc8e9748e70dc093e (patch)
tree12133b727b9260f99bc161011ca5541c8bb34fd9
parentdbe6800a1345fb1dda6733c308045145f53e379a (diff)
downloadironic-bd5b1a72e0b9449b4f3d091cc8e9748e70dc093e.tar.gz
Deprecate elilo support
The elilo project has been orphaned and dropped from the majority of linux distributions. Effectively, it has already been deprecated by the larger ecosystem, and removal from ironic only seems appropriate as time goes on. Partial-Bug: #1691454 Change-Id: I725dc11978f6a641ffdbe3146527d67fe126debe
-rw-r--r--ironic/common/pxe_utils.py7
-rw-r--r--ironic/drivers/modules/elilo_efi_pxe_config.template1
-rw-r--r--ironic/tests/unit/common/test_pxe_utils.py4
-rw-r--r--ironic/tests/unit/drivers/modules/test_deploy_utils.py6
-rw-r--r--releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml7
5 files changed, 25 insertions, 0 deletions
diff --git a/ironic/common/pxe_utils.py b/ironic/common/pxe_utils.py
index bd57f6ef4..2e9b9fa13 100644
--- a/ironic/common/pxe_utils.py
+++ b/ironic/common/pxe_utils.py
@@ -138,6 +138,8 @@ def _get_pxe_ip_address_path(ip_address, hex_form):
:returns: the path to the config file.
"""
+ # NOTE(TheJulia): Remove elilo support after the deprecation
+ # period, in the Queens release.
# elilo bootloader needs hex based config file name.
if hex_form:
ip = ip_address.split('.')
@@ -216,6 +218,9 @@ def create_pxe_config(task, pxe_options, template=None):
hex_form = False
pxe_config_root_tag = '(( ROOT ))'
pxe_config_disk_ident = '(( DISK_IDENTIFIER ))'
+ LOG.warning("The requested config appears to support elilo. "
+ "Support for elilo has been deprecated and will be "
+ "removed in the Queens release of OpenStack.")
else:
# TODO(stendulker): We should use '(' ')' as the delimiters for all our
# config files so that we do not need special handling for each of the
@@ -257,6 +262,8 @@ def clean_up_pxe_config(task):
# Get xx.xx.xx.xx based grub config file
ip_address_path = _get_pxe_ip_address_path(port_ip_address,
False)
+ # NOTE(TheJulia): Remove elilo support after the deprecation
+ # period, in the Queens release.
# Get 0AOAOAOA based elilo config file
hex_ip_path = _get_pxe_ip_address_path(port_ip_address,
True)
diff --git a/ironic/drivers/modules/elilo_efi_pxe_config.template b/ironic/drivers/modules/elilo_efi_pxe_config.template
index 780c02051..615605228 100644
--- a/ironic/drivers/modules/elilo_efi_pxe_config.template
+++ b/ironic/drivers/modules/elilo_efi_pxe_config.template
@@ -1,3 +1,4 @@
+{#- NOTE(TheJulia): Remove elilo support after the deprecation period, in the Queens release. -#}
default=deploy
image={{pxe_options.deployment_aki_path}}
diff --git a/ironic/tests/unit/common/test_pxe_utils.py b/ironic/tests/unit/common/test_pxe_utils.py
index 830ce2f37..c4e537342 100644
--- a/ironic/tests/unit/common/test_pxe_utils.py
+++ b/ironic/tests/unit/common/test_pxe_utils.py
@@ -133,6 +133,8 @@ class TestPXEUtils(db_base.DbTestCase):
self.assertEqual(six.text_type(expected_template), rendered_template)
+ # NOTE(TheJulia): Remove elilo support after the deprecation period,
+ # in the Queens release.
def test_default_elilo_config(self):
pxe_opts = self.pxe_options
pxe_opts['boot_mode'] = 'uefi'
@@ -361,6 +363,8 @@ class TestPXEUtils(db_base.DbTestCase):
write_mock.assert_called_with(pxe_cfg_file_path,
render_mock.return_value)
+ # NOTE(TheJulia): Remove elilo support after the deprecation period,
+ # in the Queens release.
@mock.patch.object(os, 'chmod', autospec=True)
@mock.patch('ironic.common.pxe_utils._link_ip_address_pxe_configs',
autospec=True)
diff --git a/ironic/tests/unit/drivers/modules/test_deploy_utils.py b/ironic/tests/unit/drivers/modules/test_deploy_utils.py
index 08825389d..4aef3648c 100644
--- a/ironic/tests/unit/drivers/modules/test_deploy_utils.py
+++ b/ironic/tests/unit/drivers/modules/test_deploy_utils.py
@@ -789,6 +789,8 @@ class PhysicalWorkTestCase(tests_base.TestCase):
class SwitchPxeConfigTestCase(tests_base.TestCase):
+ # NOTE(TheJulia): Remove elilo support after the deprecation period,
+ # in the Queens release.
def _create_config(self, ipxe=False, boot_mode=None, boot_loader='elilo'):
(fd, fname) = tempfile.mkstemp()
if boot_mode == 'uefi' and not ipxe:
@@ -860,6 +862,8 @@ class SwitchPxeConfigTestCase(tests_base.TestCase):
pxeconf = f.read()
self.assertEqual(_IPXECONF_BOOT_WHOLE_DISK, pxeconf)
+ # NOTE(TheJulia): Remove elilo support after the deprecation period,
+ # in the Queens release.
def test_switch_uefi_elilo_pxe_config_partition_image(self):
boot_mode = 'uefi'
fname = self._create_config(boot_mode=boot_mode)
@@ -871,6 +875,8 @@ class SwitchPxeConfigTestCase(tests_base.TestCase):
pxeconf = f.read()
self.assertEqual(_UEFI_PXECONF_BOOT_PARTITION, pxeconf)
+ # NOTE(TheJulia): Remove elilo support after the deprecation period,
+ # in the Queens release.
def test_switch_uefi_elilo_config_whole_disk_image(self):
boot_mode = 'uefi'
fname = self._create_config(boot_mode=boot_mode)
diff --git a/releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml b/releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml
new file mode 100644
index 000000000..c558d79fe
--- /dev/null
+++ b/releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml
@@ -0,0 +1,7 @@
+---
+deprecations:
+ - |
+ Support for the ``elilo`` boot loader has been deprecated and will
+ be removed in the Queens release cycle. The elilo boot loader has
+ been orphaned as a project and dropped from the majority of Linux
+ distributions. Please switch to the ``grub2`` boot loader.