Skip to content

Commit 67520b4

Browse files
authored
Merge pull request #397 from stackhpc/ipa-dynamic-login
Add dynamic-login to default ipa elements
2 parents 90ec809 + 1590345 commit 67520b4

File tree

4 files changed

+58
-11
lines changed

4 files changed

+58
-11
lines changed

ansible/inventory/group_vars/all/ipa

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@ ipa_builder_source_version: "{{ openstack_branch }}"
2323
ipa_build_dib_host_packages_extra: []
2424

2525
# List of default Diskimage Builder (DIB) elements to use when building IPA
26-
# images. Default is ["centos", "enable-serial-console",
26+
# images. Default is ["centos", "dynamic-login", "enable-serial-console",
2727
# "ironic-python-agent-ramdisk"] when os_distribution is "rocky", and
28-
# ["ubuntu", "enable-serial-console", "ironic-python-agent-ramdisk"] otherwise.
28+
# ["ubuntu", "dynamic-login", "enable-serial-console",
29+
# "ironic-python-agent-ramdisk"] otherwise.
2930
ipa_build_dib_elements_default:
3031
# TODO(mattcrees): Use {{ os_distribution }} here when Rocky IPA builds work.
3132
- "{{ 'centos' if os_distribution == 'rocky' else os_distribution }}"
33+
- dynamic-login
3234
- enable-serial-console
3335
- ironic-python-agent-ramdisk
3436

doc/source/configuration/reference/ironic-python-agent.rst

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ image build``.
4949
list.
5050
``ipa_build_dib_elements_default``
5151
List of default Diskimage Builder (DIB) elements to use when building IPA
52-
images. Default is ``["centos", "enable-serial-console",
52+
images. Default is ``["centos", "dynamic-login", "enable-serial-console",
5353
"ironic-python-agent-ramdisk"]`` when ``os_distribution`` is ``"rocky"``, and
54-
``["ubuntu", "enable-serial-console", "ironic-python-agent-ramdisk"]``
55-
otherwise.
54+
``["ubuntu", "dynamic-login", "enable-serial-console",
55+
"ironic-python-agent-ramdisk"]`` otherwise.
5656
``ipa_build_dib_elements_extra``
5757
List of additional Diskimage Builder (DIB) elements to use when building IPA
5858
images. Default is empty.
@@ -133,6 +133,48 @@ be useful for inspecting hardware with Mellanox InfiniBand NICs.
133133
ipa_build_dib_elements_extra:
134134
- "mellanox"
135135
136+
Example: Dynamically allowing access to the IPA environment
137+
-----------------------------------------------------------
138+
139+
When debugging a failed deployment, it can sometimes be necessary to allow
140+
access to the image dynamically.
141+
142+
The :diskimage-builder-doc:`dynamic-login element
143+
<elements/dynamic-login/README>` can be used to authorize SSH keys by appending
144+
them to the kernel arguments. This element is included by default in IPA images
145+
since the Epoxy 18.0.0 release. On previous releases, it can be added with:
146+
147+
.. code-block:: yaml
148+
:caption: ``ipa.yml``
149+
150+
ipa_build_dib_elements_extra:
151+
- "dynamic-login"
152+
153+
Bifrost can be configured to use ``dynamic-login`` with the
154+
``kolla_bifrost_extra_kernel_options`` variable:
155+
156+
.. code-block:: yaml
157+
:caption: ``bifrost.yml``
158+
159+
kolla_bifrost_extra_kernel_options:
160+
- sshkey="ssh-rsa BBA1..."
161+
162+
The updated configuration is applied with ``kayobe seed service deploy``.
163+
164+
Overcloud Ironic can be configured with the
165+
``kolla_ironic_pxe_append_params_extra`` variable:
166+
167+
.. code-block:: yaml
168+
:caption: ``ironic.yml``
169+
170+
kolla_ironic_pxe_append_params_extra:
171+
- sshkey="ssh-rsa BBA1..."
172+
173+
The updated configuration is applied with ``kayobe overcloud service deploy``.
174+
175+
Further information on troubleshooting IPA can be found
176+
:ironic-python-agent-doc:`here <admin/troubleshooting>`.
177+
136178
Example: Configuring a development user account
137179
-----------------------------------------------
138180

@@ -159,10 +201,6 @@ and password for an account that has passwordless sudo:
159201
DIB_DEV_USER_PASSWORD: "correct horse battery staple"
160202
DIB_DEV_USER_PWDLESS_SUDO: "yes"
161203
162-
Alternatively, the :diskimage-builder-doc:`dynamic-login element
163-
<elements/dynamic-login/README>` can be used to authorize SSH keys by appending
164-
them to the kernel arguments.
165-
166204
Further information on troubleshooting IPA can be found
167205
:ironic-python-agent-doc:`here <admin/troubleshooting>`.
168206

etc/kayobe/ipa.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@
2323
#ipa_build_dib_host_packages_extra:
2424

2525
# List of default Diskimage Builder (DIB) elements to use when building IPA
26-
# images. Default is ["centos", "enable-serial-console",
26+
# images. Default is ["centos", "dynamic-login", "enable-serial-console",
2727
# "ironic-python-agent-ramdisk"] when os_distribution is "rocky", and
28-
# ["ubuntu", "enable-serial-console", "ironic-python-agent-ramdisk"] otherwise.
28+
# ["ubuntu", "dynamic-login", "enable-serial-console",
29+
# "ironic-python-agent-ramdisk"] otherwise.
2930
#ipa_build_dib_elements_default:
3031

3132
# List of additional Diskimage Builder (DIB) elements to use when building IPA
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
features:
3+
- |
4+
Adds ``dynamic-login`` to the default list of DIB elements included in
5+
Ironic Python Agent (IPA) images. This element can dynamically configure
6+
credentials at boot time, which is especially useful for troubleshooting.

0 commit comments

Comments
 (0)