Merge "Install socat and configure ipmtool-socat console interface"

This commit is contained in:
Zuul 2023-04-04 19:29:13 +00:00 committed by Gerrit Code Review
commit ee60da284a
4 changed files with 35 additions and 0 deletions

View File

@ -241,6 +241,10 @@ ironic_pip_packages:
- sushy
- systemd-python
# ipmitool-socat console settings
ironic_socat_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}"
ironic_socat_port_range: "10000:10099"
# Specific pip packages provided by the user for the ironic service
ironic_user_pip_packages: []

View File

@ -0,0 +1,9 @@
---
features:
- |
If the ``ironic_drivers_enabled`` variable from the os_ironic role includes
a driver which uses the ``ipmitool-socat`` console interface, that interface is
now enabled automatically in the ``ironic.conf`` ``enabled_console_interfaces``
config option. New variables ``ironic_socat_bind_address`` and
``ironic_socat_port_range`` are added to support further customisation of the
serial console data flow.

View File

@ -23,6 +23,7 @@ enabled_deploy_interfaces = {{ filtered_ironic_drivers | json_query('[*].deploy'
enabled_inspect_interfaces = {{ filtered_ironic_drivers | json_query('[*].inspect') | unique | join(',') }}
enabled_management_interfaces = {{ filtered_ironic_drivers | json_query('[*].management') | unique | join(',') }}
enabled_power_interfaces = {{ filtered_ironic_drivers | json_query('[*].power') | unique | join(',') }}
enabled_console_interfaces = {{ filtered_ironic_drivers | json_query('[*].console') | unique | join(',') }}
[agent]
@ -38,6 +39,10 @@ sync_power_state_interval = {{ ironic_sync_power_state_interval }}
automated_clean = {{ ironic_automated_clean }}
[console]
{% if 'ipmitool-socat' in (filtered_ironic_drivers | json_query('[*].console') | unique) %}
socat_address = {{ ironic_socat_bind_address }}
port_range = "{{ ironic_socat_port_range }}"
{% endif %}
[cors]

View File

@ -27,6 +27,7 @@ ironic_driver_types:
inspect: ilo
management: ilo
power: ilo
console: ilo
agent_ipmitool:
hardware_type: ipmi
boot: pxe
@ -34,6 +35,7 @@ ironic_driver_types:
inspect: inspector
management: ipmitool
power: ipmitool
console: no-console
agent_ipmitool_socat:
hardware_type: ipmi
boot: pxe
@ -41,6 +43,7 @@ ironic_driver_types:
inspect: inspector
management: ipmitool
power: ipmitool
console: ipmitool-socat
agent_irmc:
hardware_type: irmc
boot: irmc-virtual-media
@ -48,6 +51,7 @@ ironic_driver_types:
inspect: irmc
management: irmc
power: irmc
console: ipmitool-socat
pxe_drac:
hardware_type: idrac
boot: pxe
@ -55,6 +59,7 @@ ironic_driver_types:
inspect: idrac
management: idrac
power: idrac
console: no-console
pxe_drac_inspector:
hardware_type: idrac
boot: pxe
@ -62,6 +67,7 @@ ironic_driver_types:
inspect: inspector
management: idrac
power: idrac
console: no-console
pxe_ilo:
hardware_type: ilo
boot: ilo-pxe
@ -69,6 +75,7 @@ ironic_driver_types:
inspect: ilo
management: ilo
power: ilo
console: ilo
pxe_ipmitool:
hardware_type: ipmi
boot: pxe
@ -76,6 +83,7 @@ ironic_driver_types:
inspect: inspector
management: ipmitool
power: ipmitool
console: no-console
pxe_ipmitool_socat:
hardware_type: ipmi
boot: pxe
@ -83,6 +91,7 @@ ironic_driver_types:
inspect: inspector
management: ipmitool
power: ipmitool
console: ipmitool-socat
pxe_irmc:
hardware_type: irmc
boot: irmc-pxe
@ -90,6 +99,7 @@ ironic_driver_types:
inspect: irmc
management: irmc
power: irmc
console: ipmitool-socat
pxe_snmp:
hardware_type: snmp
boot: pxe
@ -97,6 +107,7 @@ ironic_driver_types:
inspect: no-inspect
management: fake
power: snmp
console: no-console
ironic_packages_list: >
{%- set package_list = [] %}
@ -117,6 +128,9 @@ ironic_packages_list: >
{%- if ironic_inspector_boot_mode == "http" %}
{%- set package_list = package_list + ironic_inspector_http_distro_packages %}
{%- endif %}
{%- if 'ipmitool-socat' in (filtered_ironic_drivers | json_query('[*].console') | unique) %}
{% set package_list = package_list + ironic_ipmitool_socat_distro_packages %}
{%- endif %}
{{- package_list -}}
ironic_service_user_list: >
@ -295,3 +309,6 @@ ironic_venv_packages: |-
{%- set _ = pkg_list.extend(ironic_inspector_user_pip_packages) %}
{%- endif %}
{{- pkg_list | unique }}
ironic_ipmitool_socat_distro_packages:
- socat