diff options
author | Dmitry Tantsur <dtantsur@protonmail.com> | 2020-12-16 18:56:54 +0100 |
---|---|---|
committer | Dmitry Tantsur <dtantsur@protonmail.com> | 2021-01-06 13:14:35 +0000 |
commit | c0b6044133cdd1afdd7f9b87131934fd0b58385d (patch) | |
tree | a4e1c001c50f1f163a4a34c7d0a1a0d068fcb0ca | |
parent | 88a1e954fa29b1f89b145afff4c646baac655335 (diff) | |
download | ironic-c0b6044133cdd1afdd7f9b87131934fd0b58385d.tar.gz |
Document using ramdisks with the ramdisk deploy interface
Change-Id: Ibc28cbfaa9331343c1f91f0e6b32aafda3e5718c
Depends-On: https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/767376
(cherry picked from commit 20f25068c627974ae8c38ca249fcd96ec6924ed0)
-rw-r--r-- | doc/source/admin/ramdisk-boot.rst | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/doc/source/admin/ramdisk-boot.rst b/doc/source/admin/ramdisk-boot.rst index cd6c2151f..fdb810569 100644 --- a/doc/source/admin/ramdisk-boot.rst +++ b/doc/source/admin/ramdisk-boot.rst @@ -44,7 +44,46 @@ Using virtual media: --deploy-interface ramdisk \ --boot-interface redfish-virtual-media -.. TODO(dtantsur): document how exactly to create and boot a ramdisk +Creating a ramdisk +------------------ + +A ramdisk can be created using the ``ironic-ramdisk-base`` element from +ironic-python-agent-builder_, e.g. with Debian: + +.. code-block:: shell + + export ELEMENTS_PATH=/opt/stack/ironic-python-agent-builder/dib + disk-image-create -o /output/ramdisk \ + debian-minimal ironic-ramdisk-base openssh-server dhcp-all-interfaces + +You should consider using the following elements: + +* openssh-server_ to install the SSH server since it's not provided by default + by some minimal images. +* devuser_ or dynamic-login_ to provide SSH access. +* dhcp-all-interfaces_ or simple-init_ to configure networking. + +The resulting files (``/output/ramdisk.kernel`` and +``/output/ramdisk.initramfs`` in this case) can then be used when `Booting a +ramdisk`_. + +Booting a ramdisk +----------------- + +Pass the kernel and ramdisk as normally, also providing the ramdisk as an image +source, for example, + +.. code-block:: shell + + baremetal node set <NODE> \ + --instance-info kernel=http://path/to/ramdisk.kernel \ + --instance-info ramdisk=http://path/to/ramdisk.initramfs \ + --instance-info image_source=http://path/to/ramdisk.initramfs + baremetal node deploy <NODE> + +.. note:: + The requirement to pass ``image_source`` is artificial and will be fixed + in a future version of the Bare Metal service. Booting an ISO -------------- @@ -78,3 +117,10 @@ or desired. As such, this interface does come with several caveats: * As with all deployment interfaces, automatic cleaning of the node will still occur with the contents of any local storage being wiped between deployments. + +.. _ironic-python-agent-builder: https://opendev.org/openstack/ironic-python-agent-builder +.. _openssh-server: https://docs.openstack.org/diskimage-builder/latest/elements/openssh-server/README.html +.. _devuser: https://docs.openstack.org/diskimage-builder/latest/elements/devuser/README.html +.. _dynamic-login: https://docs.openstack.org/diskimage-builder/latest/elements/dynamic-login/README.html +.. _dhcp-all-interfaces: https://docs.openstack.org/diskimage-builder/latest/elements/dhcp-all-interfaces/README.html +.. _simple-init: https://docs.openstack.org/diskimage-builder/latest/elements/simple-init/README.html |