Fixes anaconda deploy for PXE boot

Fixes the anaconda deploy(URL based) and adds
anaconda_boot entry to pxe_grub_config.template so
that ProLiants can be also deployed in PXE mode.

Story: 2010347
Task: 46490

Change-Id: I4b9e3a2060d9d73de5cab31cc08d3a764dc56e90
This commit is contained in:
Nisha Agarwal 2022-10-01 23:59:48 +00:00
parent ca54c4df26
commit 0215d3cd76
5 changed files with 26 additions and 0 deletions

View File

@ -2211,6 +2211,14 @@ Events subscription is supported by ``ilo`` and ``ilo5`` hardware types with
``ilo`` vendor interface for Gen10 and Gen10 Plus servers. See
:ref:`node-vendor-passthru-methods` for more information.
Anaconda based deployment
^^^^^^^^^^^^^^^^^^^^^^^^^
Deployment with ``anaconda`` deploy interface is supported by ``ilo`` and
``ilo5`` hardware type and works with ``ilo-pxe`` and ``ilo-ipxe``
boot interfaces. See :doc:`/admin/anaconda-deploy-interface` for
more information.
.. _`ssacli documentation`: https://support.hpe.com/hpsc/doc/public/display?docId=c03909334
.. _`proliant-tools`: https://docs.openstack.org/diskimage-builder/latest/elements/proliant-tools/README.html
.. _`HPE iLO4 User Guide`: https://h20566.www2.hpe.com/hpsc/doc/public/display?docId=c03334051

View File

@ -265,6 +265,9 @@ def get_file_path_from_label(node_uuid, root_dir, label):
:param root_dir: Directory in which the image must be placed
:param label: Name of the image
"""
if label in ['ks_template', 'ks_cfg', 'stage2']:
path = os.path.join(CONF.deploy.http_root, node_uuid)
ensure_tree(path)
if label == 'ks_template':
return os.path.join(CONF.deploy.http_root, node_uuid,
'ks.cfg.template')

View File

@ -15,3 +15,8 @@ menuentry "boot_ramdisk" {
menuentry "boot_whole_disk" {
linuxefi chain.c32 mbr:{{ DISK_IDENTIFIER }}
}
menuentry "boot_anaconda" {
linuxefi {{ pxe_options.aki_path }} text {{ pxe_options.pxe_append_params|default("", true) }} inst.ks={{ pxe_options.ks_cfg_url }} {% if pxe_options.repo_url %}inst.repo={{ pxe_options.repo_url }}{% else %}inst.stage2={{ pxe_options.stage2_url }}{% endif %}
initrdefi {{ pxe_options.ari_path }}
}

View File

@ -16,3 +16,7 @@ menuentry "boot_whole_disk" {
linuxefi chain.c32 mbr:(( DISK_IDENTIFIER ))
}
menuentry "boot_anaconda" {
linuxefi /tftpboot/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/kernel text test_param inst.ks=http://fake/ks.cfg inst.stage2=http://fake/stage2
initrdefi /tftpboot/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ramdisk
}

View File

@ -0,0 +1,6 @@
---
fixes:
- |
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.