Serial-console proxy missing

Bug #1696701 reported by coolkil on 2017-06-08
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

When working on s390x support for spice and vnc is missing. the alternative is using something called a serial-console. As described here

Openstack-ansible is currently not offering an option to implement this feature but for as far as I can tell all the needed packages are provided in /openstack/venvs/nova-15.1.3/bin/nova-serialproxy

It is possible to lauch the service using the following systemd service file

Description=nova openstack service


ExecStart=/openstack/venvs/nova-15.1.3/bin/nova-serialproxy --log-file=/var/log/nova/nova-serialproxy.log

# Give a reasonable amount of time for the server to start up/shut down

# This creates a specific slice which all nova services will operate from
# The accounting options give us the ability to see resource usage through
# the `systemd-cgtop` command.


what is needed:
ansible playbook to create systemd service file
changis to nova.conf to support serialconsole-proxy
playbook to set configuration options for serialconsole-proxy???? (is using nova.conf??)

coolkil (coolkil) wrote :

Two services need to be configured:
* nova-serialproxy (on controller node)
* nova-compute (on compute nodes)

The needed config options in "nova.conf" are all defined in the
section [serial_console] at:

`nova-serialproxy` reads:

`nova-compute` reads:

Example nova-compute nova.conf:

Example nova-serialproxy "nova.conf":

This example uses `` as publicly accessible IP address
of the controller node. That's the IP address any user/client would
use to connect to the nova API (or other API services). The IP address
`` is the address the `nova-serialproxy` will use internally
to establish a connection to the serial console of the instance of *that*
compute node.

Be aware that the code in Nova is confusing in that area. If the
documentation in the nova sample config isn't helpful enough, please
let me know (via IRC).

As a simple test if the configuration you made is usable, you can use larsks's "novaconsole":

Changed in openstack-ansible:
status: New → Confirmed
importance: Undecided → Wishlist
tags: added: low-hanging-fruit

I've tagged this bug as low hanging fruit, as many implementation details are expressed here.

Any contributor welcome!

FWIW, I think the code needs to go at:

But I haven't yet developed any openstack-ansible code, so take it with a grain of salt.

coolkil (coolkil) wrote :

Markus you are right!
Next to that we need to create an entry in Service name-group mapping this creates the needed systemd file

coolkil (coolkil) wrote :

ok so i made some changes to these files. however i seem to be missing something for the following step wich throws the following error
TASK [os_nova : Create TEMP run dir
fatal: [aio1_nova_console_container-5f0e7062]: FAILED! => {
    "failed": true,
    "msg": "The conditional check 'inventory_hostname in groups[]' failed. The error was: error while evaluating conditional (inventory_hostname in groups[]): 'item' is undefined\n\nThe error appears to have been in '/etc/ansible/roles/os_nova/tasks/nova_init_systemd.yml': line 16, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Create TEMP run dir\n ^ here\n"

nova_init_systemd.yml this seems to be missing a variable but i dont know wich one exactly

Fix proposed to branch: master

Changed in openstack-ansible:
assignee: nobody → coolkil (coolkil)
status: Confirmed → In Progress

Submitter: Jenkins
Branch: master

commit 0aefe6ab27a7a46220064b852108c67c823a9f0e
Author: Chris Beukers <email address hidden>
Date: Mon Jul 3 07:25:03 2017 -0700

    Adding serial console support

    This change is to add serial console support
    serial console is needed in the case the underlying platform
    does not support the spice or novnc option.

    Another benefit is more extended configurations options users
    have more options in how their Openstack enviroment is configured

    Defaults for serialconsole are added to /defaults/main.yml

    /templates/nova.conf.j2 template has been changed so new variables
    can be imported

    the file nova_install.yml has been changed: added conditional to
    ensure no new console playbooks are loaded.

    Change-Id: I02dc48a8d562d20f37b21e03207e91a220b6dbaf
    Partial-Bug: #1696701
    Depends-On: I30f91b20b195e578647ea2a0cfe087bdac2b5b6b

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers