[openstack-dev] [nova][serial-console-proxy]

Markus Zoeller mzoeller at de.ibm.com
Mon Dec 14 18:04:06 UTC 2015


Prathyusha Guduri <prathyushaconnects at gmail.com> wrote on 12/11/2015 
06:37:02 AM:

> From: Prathyusha Guduri <prathyushaconnects at gmail.com>
> To: "OpenStack Development Mailing List (not for usage questions)" 
> <openstack-dev at lists.openstack.org>
> Date: 12/11/2015 06:39 AM
> Subject: [openstack-dev] [nova][serial-console-proxy]
> 
> Hi All,

> I have set up open stack on an Arm64 machine and all the open stack 
> related services are running fine. Also am able to launch an instance 
> successfully. Now that I need to get a console for my instance. The 
> noVNC console is not supported in the machine am using. So I have to 
> use a serial-proxy console or spice-proxy console. 

> After rejoining the stack, I have stopped the noVNC service and 
> started the serial proxy service in  /usr/local/bin  as
> 
> ubuntu at ubuntu:~/devstack$ /usr/local/bin/nova-serialproxy --config-
> file /etc/nova/nova.conf
> 2015-12-10 19:07:13.786 21979 INFO nova.console.websocketproxy [-] 
> WebSocket server settings:
> 2015-12-10 19:07:13.786 21979 INFO nova.console.websocketproxy [-]   
-Listen on 
> 0.0.0.0:6083
> 2015-12-10 19:07:13.787 21979 INFO nova.console.websocketproxy [-]   -
> Flash security policy server
> 2015-12-10 19:07:13.787 21979 INFO nova.console.websocketproxy [-]   -
> No SSL/TLS support (no cert file)
> 2015-12-10 19:07:13.790 21979 INFO nova.console.websocketproxy [-]   -
> proxying from 0.0.0.0:6083 to None:None

> But 
> ubuntu at ubuntu:~/devstack$ nova get-serial-console vm20
> ERROR (ClientException): The server has either erred or is incapable 
> of performing the requested operation. (HTTP 500) (Request-ID: req-
> cfe7d69d-3653-4d62-ad0b-50c68f1ebd5e)

> 
> the problem seems to be that the nova-compute is not able to 
> communicate with nova-serial-proxy. The IP and port for serial proxy 
> that I have given in nova.conf is correct.

> I really dont understand where am going wrong. Some help would be very
> grateful.  
> 

> My nova.conf - 
> 
> 
> [DEFAULT]
> vif_plugging_timeout = 300
> vif_plugging_is_fatal = True
> linuxnet_interface_driver =
> security_group_api = neutron
> network_api_class = nova.network.neutronv2.api.API
> firewall_driver = nova.virt.firewall.NoopFirewallDriver
> compute_driver = libvirt.LibvirtDriver
> default_ephemeral_format = ext4
> metadata_workers = 24
> ec2_workers = 24
> osapi_compute_workers = 24
> rpc_backend = rabbit
> keystone_ec2_url = http://10.167.103.101:5000/v2.0/ec2tokens
> ec2_dmz_host = 10.167.103.101
> vncserver_proxyclient_address = 127.0.0.1
> vncserver_listen = 127.0.0.1
> vnc_enabled = false
> xvpvncproxy_base_url = http://10.167.103.101:6081/console
> novncproxy_base_url = http://10.167.103.101:6080/vnc_auto.html
> logging_context_format_string = %(asctime)s.%(msecs)03d %(levelname)s 
> %(name)s [%(request_id)s %(user_name)s %(project_name)s] 
%(instance)s%(message)s
> force_config_drive = True
> instances_path = /opt/stack/data/nova/instances
> state_path = /opt/stack/data/nova
> enabled_apis = ec2,osapi_compute,metadata
> instance_name_template = instance-%08x
> my_ip = 10.167.103.101
> s3_port = 3333
> s3_host = 10.167.103.101
> default_floating_pool = public
> force_dhcp_release = True
> dhcpbridge_flagfile = /etc/nova/nova.conf
> scheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler
> rootwrap_config = /etc/nova/rootwrap.conf
> api_paste_config = /etc/nova/api-paste.ini
> allow_migrate_to_same_host = True
> allow_resize_to_same_host = True
> debug = True
> verbose = True
> 
> [database]
> connection = mysql://root:open@127.0.0.1/nova?charset=utf8
> 
> [osapi_v3]
> enabled = True
> 
> [keystone_authtoken]
> signing_dir = /var/cache/nova
> cafile = /opt/stack/data/ca-bundle.pem
> auth_uri = http://10.167.103.101:5000
> project_domain_id = default
> project_name = service
> user_domain_id = default
> password = open
> username = nova
> auth_url = http://10.167.103.101:35357
> auth_plugin = password
> 
> [oslo_concurrency]
> lock_path = /opt/stack/data/nova
> 
> [spice]
> #agent_enabled = True
> enabled = false
> html5proxy_base_url = http://10.167.103.101:6082/spice_auto.html
> #server_listen = 127.0.0.1
> #server_proxyclient_address = 127.0.0.1
> 
> [oslo_messaging_rabbit]
> rabbit_userid = stackrabbit
> rabbit_password = open
> rabbit_hosts = 10.167.103.101
> 
> [glance]
> api_servers = http://10.167.103.101:9292
> 
> [cinder]
> os_region_name = RegionOne
> 
> [libvirt]
> vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver
> inject_partition = -2
> live_migration_uri = qemu+ssh://ubuntu@%s/system
> use_usb_tablet = False
> cpu_mode = host-model
> virt_type = kvm
> 
> [neutron]
> service_metadata_proxy = True
> url = http://10.167.103.101:9696
> region_name = RegionOne
> admin_tenant_name = service
> auth_strategy = keystone
> admin_auth_url = http://10.167.103.101:35357/v2.0
> admin_password = open
> admin_username = neutron
> 
> [keymgr]
> fixed_key = 
c5861a510cda58d367a44fc0aee6405e8e03a70f58c03fdc263af8405cf9a0c6
> 
> [serial_console]
> enabled = true
> 
> # Location of serial console proxy. (string value)
> base_url = ws://127.0.0.1:6083/
> 
> # IP address on which instance serial console should listen
> # (string value)
> listen = 127.0.0.1
> 
> # The address to which proxy clients (like nova-serialproxy)
> # should connect (string value)
> proxyclient_address = 127.0.0.1

> 
> Thanks,
> Prathyusha
> 
__________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: 
OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

The following setup allowed me to connect to the serial console:
* devstack's "local.conf": http://paste.openstack.org/show/481841/
* Nova version: commit 415b221e3345e332f78c9833c2e4e7f0d38bf9c5
* Launch and access via CLI: http://paste.openstack.org/show/481840/

Things to consider
==================
* When trying out things with devstack, sometimes things won't get
  cleaned up very well, try:
    $ make unstack
    $ make clean
    $ make stack

* Enable the "nova-serialproxy" service in devstack:
    # local.conf
    enable_service n-sproxy

* You can check if the connection with telnet is possible:
    $ telnet 127.0.0.1 10005

* You could give larsks's "novaconsole" [1] a try:
    $ novaconsole my-server

Notes
=====
* Please be aware that only one connection at a time to a serial console
  port of an instance is allowed.
* The option "vnc_enabled" is deprecated in favor of the 
  option "enabled" in the new section "vnc" in the "nova.conf" file

References
==========
[1] 
http://blog.oddbit.com/2014/12/22/accessing-the-serial-console-of-your-nova-servers/

Regards, Markus Zoeller (markus_z)




More information about the OpenStack-dev mailing list