[RFE] Nova graphical console support

Bug #1567629 reported by Mathieu Mitchell
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ironic
Confirmed
Wishlist
Madhuri Kumari

Bug Description

Nova currently allows a graphical console to be used for virtual instances. The Ironic driver does not implement the VNC console. Nodes often have a graphical console available via IPMI, and Ironic could expose a VNC server to Nova. That would ultimately provide a graphical console in Horizon to end users.

That way, nova get-vnc-console would return a valid response, and would allow a user to have a graphical console on the physical server.

$ nova get-vnc-console 99694c1e-6327-4d58-9466-87f7265958af novnc
+-------+------------------------------------------------------------------------------------------------+
| Type | Url |
+-------+------------------------------------------------------------------------------------------------+
| novnc | https://console.cloud.example.net:443/vnc_auto.html?token=17e1e064-cc66-4772-8d39-299cf13b8972 |
+-------+------------------------------------------------------------------------------------------------+

IPMI graphical consoles don't normally expose a VNC server. Typical implementations provide a native client that does the heavy lifting. The idea is to run the manufacturer's provided client in a X11 server, and run a x11vnc server to offer a VNC endpoint around the manufacturer's graphical console client.

Our current implementation and proposal suggests running these X11 sessions isolated in Docker containers, and leverages different Docker images for each manufacturer's implementation. This is controllable per-node and allows multiple images at the same time.

Additionally, the Ironic console driver uses a secured link between ironic-conductor and the docker host(s). This allows the docker hosts to reside in a network other than the management network, and allow for proper segregation of data flow vs signalling.

Tags: needs-spec rfe
Changed in ironic:
assignee: nobody → Mathieu Mitchell (mat128)
Revision history for this message
Mathieu Mitchell (mat128) wrote :
description: updated
Revision history for this message
Mathieu Mitchell (mat128) wrote :

Drafting up a spec ATM. It might seem like this is adding fuel to the fire with the already 2 implementations of a serial console, but I think it should help the group take the right decision with relation to the console handling.

Revision history for this message
Zhenguo Niu (niu-zglinux) wrote :

Hi Mathieu, I plan to add a custom HTTP proxy on nova side for serial console, maybe it's also benefit for this, as BMC provides a IPMI web interface for graphical console, then with that new console type in nova, both sheliinabox and graphical console are compatible.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic-specs (master)

Fix proposed to branch: master
Review: https://review.openstack.org/306074

Changed in ironic:
status: New → In Progress
Revision history for this message
Mathieu Mitchell (mat128) wrote :
Changed in ironic:
importance: Undecided → Wishlist
tags: added: needs-spec
Changed in ironic:
assignee: Mathieu Mitchell (mat128) → Madhuri Kumari (madhuri-rai07)
Changed in ironic:
assignee: Madhuri Kumari (madhuri-rai07) → Pavlo Shchelokovskyy (pshchelo)
Changed in ironic:
assignee: Pavlo Shchelokovskyy (pshchelo) → Madhuri Kumari (madhuri-rai07)
Changed in ironic:
assignee: Madhuri Kumari (madhuri-rai07) → Anup (anup-d-navare)
Changed in ironic:
assignee: Anup (anup-d-navare) → Madhuri Kumari (madhuri-rai07)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to ironic (master)

Fix proposed to branch: master
Review: https://review.openstack.org/547356

Changed in ironic:
assignee: Madhuri Kumari (madhuri-rai07) → Anup (anup-d-navare)
Changed in ironic:
assignee: Anup (anup-d-navare) → Madhuri Kumari (madhuri-rai07)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to ironic-specs (master)

Reviewed: https://review.openstack.org/306074
Committed: https://git.openstack.org/cgit/openstack/ironic-specs/commit/?id=e069f7fa65a0f20841cc38ce14a32948dadec0cd
Submitter: Zuul
Branch: master

commit e069f7fa65a0f20841cc38ce14a32948dadec0cd
Author: Mathieu Mitchell <email address hidden>
Date: Thu Apr 14 16:48:24 2016 -0400

    VNC Graphical console

    Add framework to define independent graphical console interface
    of a hardware type.

    The initial prototype is available at https://review.openstack.org/#/c/547356/1
    Change-Id: I0b398ffc153ea7dc80bddcfa5cfb520e17c315af
    Partial-bug: #1567629

Changed in ironic:
status: In Progress → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.