Merge "Automatically enable serial consoles on post configure"

This commit is contained in:
Zuul 2019-02-14 13:18:52 +00:00 committed by Gerrit Code Review
commit 6452f7036c
8 changed files with 50 additions and 2 deletions

View File

@ -0,0 +1,6 @@
---
# This is a wrapper around baremetal-compute-serial-console which only runs the playbook when
# ironic_serial_console_autoenable is set to true.
- import_playbook: baremetal-compute-serial-console.yml
when: ironic_serial_console_autoenable | bool

View File

@ -131,6 +131,9 @@ kolla_ironic_pxe_append_params: >
############################################################################### ###############################################################################
# Ironic Node Configuration # Ironic Node Configuration
# Whether or not to enable the serial consoles on post configure
ironic_serial_console_autoenable: false
# This defines the start of the range of TCP ports to used for the IPMI socat # This defines the start of the range of TCP ports to used for the IPMI socat
# serial consoles # serial consoles
ironic_serial_console_tcp_pool_start: 30000 ironic_serial_console_tcp_pool_start: 30000

View File

@ -171,6 +171,24 @@
set_fact: set_fact:
kolla_api_interface: "{{ kolla_bifrost_network_interface }}" kolla_api_interface: "{{ kolla_bifrost_network_interface }}"
- name: Validate configuration options for kolla-ansible
hosts: localhost
tags:
- kolla-ansible
- config-validation
tasks:
- name: Validate serial console configuration
block:
- name: Check ipmitool-socat is in enabled in kolla_ironic_enabled_console_interfaces
fail:
msg: >
kolla_ironic_enabled_console_interfaces must contain ipmitool-socat if you set
ironic_serial_console_autoenable to true
when:
- kolla_ironic_enabled_console_interfaces is defined
- "'ipmitool-socat' not in kolla_ironic_enabled_console_interfaces"
when: ironic_serial_console_autoenable | bool
- name: Ensure Kolla Ansible is configured - name: Ensure Kolla Ansible is configured
hosts: localhost hosts: localhost
tags: tags:

View File

@ -131,3 +131,11 @@ You can optionally limit the nodes targeted by setting
which should take the form of an `ansible host pattern which should take the form of an `ansible host pattern
<https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html>`_. <https://docs.ansible.com/ansible/latest/user_guide/intro_patterns.html>`_.
Serial console auto-enable
~~~~~~~~~~~~~~~~~~~~~~~~~~
To enable the serial consoles automatically on ``kayobe overcloud post configure``, you can set
``ironic_serial_console_autoenable`` in ``etc/kayobe/ironic.yml``::
ironic_serial_console_autoenable: true

View File

@ -106,6 +106,9 @@
############################################################################### ###############################################################################
# Ironic Node Configuration # Ironic Node Configuration
# Whether or not to enable the serial consoles on post configure
#ironic_serial_console_autoenable:
# This defines the start of the range of TCP ports to used for the IPMI socat # This defines the start of the range of TCP ports to used for the IPMI socat
# serial consoles # serial consoles
#ironic_serial_console_tcp_pool_start: #ironic_serial_console_tcp_pool_start:

View File

@ -1340,6 +1340,7 @@ class OvercloudPostConfigure(KayobeAnsibleMixin, VaultMixin, Command):
inspector service. inspector service.
* Register a provisioning network with glance. * Register a provisioning network with glance.
* Configure Grafana for control plane. * Configure Grafana for control plane.
* Configure serial consoles for the ironic nodes
""" """
def take_action(self, parsed_args): def take_action(self, parsed_args):
@ -1347,7 +1348,8 @@ class OvercloudPostConfigure(KayobeAnsibleMixin, VaultMixin, Command):
playbooks = _build_playbook_list( playbooks = _build_playbook_list(
"overcloud-ipa-images", "overcloud-introspection-rules", "overcloud-ipa-images", "overcloud-introspection-rules",
"overcloud-introspection-rules-dell-lldp-workaround", "overcloud-introspection-rules-dell-lldp-workaround",
"provision-net", "overcloud-grafana-configure") "provision-net", "overcloud-grafana-configure",
"baremetal-compute-serial-console-post-config")
self.run_kayobe_playbooks(parsed_args, playbooks) self.run_kayobe_playbooks(parsed_args, playbooks)

View File

@ -1417,7 +1417,9 @@ class TestCase(unittest.TestCase):
utils.get_data_files_path("ansible", "overcloud-introspection-rules-dell-lldp-workaround.yml"), # noqa utils.get_data_files_path("ansible", "overcloud-introspection-rules-dell-lldp-workaround.yml"), # noqa
utils.get_data_files_path("ansible", "provision-net.yml"), utils.get_data_files_path("ansible", "provision-net.yml"),
utils.get_data_files_path( utils.get_data_files_path(
"ansible", "overcloud-grafana-configure.yml") "ansible", "overcloud-grafana-configure.yml"),
utils.get_data_files_path(
"ansible", "baremetal-compute-serial-console-post-config.yml"), # noqa
], ],
), ),
] ]

View File

@ -0,0 +1,6 @@
---
features:
- |
Added the ability to configure baremetal serial consoles during the
post configure step. This is controlled via ``ironic_serial_console_autoenable``
in ``etc/kayobe/ironic.yml``.