Browse Source

Ensure text-only console in devstack

Apparently, now days system boot chain is tempted to display
fancy things on the console. While enjoyable, in non-text mode
libvirt guest console can't make it to the log file.

This change tries to ensure pure text mode kernel console in
PXE and Redfish booting by disabling any graphics in the VM
and in guest kernel.

Note that it's not only kernel that can control display mode,
but EFI boot loader as well.

For getting on VM's text console in devstack one could use
`virsh console --devname serial1 node-0` or just add `<graphics>`
section to `virsh edit node-0` XML.

Change-Id: I14f78bcef4173eeaf659ee589ca938e2698e3505
tags/14.0.0
Ilya Etingof 4 months ago
parent
commit
c7a42bdbff
2 changed files with 12 additions and 7 deletions
  1. +12
    -2
      devstack/lib/ironic
  2. +0
    -5
      devstack/tools/ironic/templates/vm.xml

+ 12
- 2
devstack/lib/ironic View File

@@ -156,7 +156,7 @@ IRONIC_VM_MACS_CSV_FILE=${IRONIC_VM_MACS_CSV_FILE:-$IRONIC_DATA_DIR/ironic_macs.
IRONIC_CLEAN_NET_NAME=${IRONIC_CLEAN_NET_NAME:-${IRONIC_PROVISION_NETWORK_NAME:-${PRIVATE_NETWORK_NAME}}}
IRONIC_RESCUE_NET_NAME=${IRONIC_RESCUE_NET_NAME:-${IRONIC_CLEAN_NET_NAME}}
IRONIC_EXTRA_PXE_PARAMS=${IRONIC_EXTRA_PXE_PARAMS:-}
IRONIC_TTY_DEV=${IRONIC_TTY_DEV:-ttyS0}
IRONIC_TTY_DEV=${IRONIC_TTY_DEV:-ttyS0,115200}

IRONIC_TEMPEST_BUILD_TIMEOUT=${IRONIC_TEMPEST_BUILD_TIMEOUT:-${BUILD_TIMEOUT:-}}
if [[ -n "$BUILD_TIMEOUT" ]]; then
@@ -1508,7 +1508,7 @@ function configure_ironic_conductor {
-subj '/O=OpenStack/OU=DevStack Servers'
fi

local pxe_params="nofb nomodeset vga=normal console=${IRONIC_TTY_DEV}"
local pxe_params="nofb nomodeset console=${IRONIC_TTY_DEV}"
pxe_params+=" systemd.journald.forward_to_console=yes"
if is_service_enabled tls-proxy; then
pxe_params+=" ipa-insecure=1"
@@ -1520,6 +1520,16 @@ function configure_ironic_conductor {
iniset $IRONIC_CONF_FILE pxe pxe_append_params "$pxe_params"
fi

local kernel_append_params="nofb nomodeset console=${IRONIC_TTY_DEV}"
kernel_append_params+=" systemd.journald.forward_to_console=yes"
if is_service_enabled tls-proxy; then
kernel_append_params+=" ipa-insecure=1"
fi

if [[ -n "kernel_append_params" ]]; then
iniset $IRONIC_CONF_FILE redfish kernel_append_params "$kernel_append_params"
fi

# Set these options for scenarios in which the agent fetches the image
# directly from glance, and don't set them where the image is pushed
# over iSCSI.


+ 0
- 5
devstack/tools/ironic/templates/vm.xml View File

@@ -62,11 +62,6 @@
</interface>
{% endfor %}
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
{{ console }}
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>


Loading…
Cancel
Save