Install socat and configure ipmtool-socat console interface
This patch adds the `console` field to the ironic_driver_types variable and then enables a set of console drivers in the ironic config through the `enabled_console_interfaces` option. If `ipmitool-socat` is one of the enabled drivers, then the socat distro package is installed to support that. Defaults are added for socat bind address and port range to use. [1] https://opendev.org/openstack/ironic/src/branch/master/doc/source/admin/upgrade-to-hardware-types.rst Change-Id: I36dd1a0ec69e5702143a1a26bd5901fc88706e84
This commit is contained in:
parent
50bb9dc8da
commit
11b162cfa3
@ -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: []
|
||||
|
||||
|
@ -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.
|
@ -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]
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user