summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-devtools/python/python-nova
diff options
context:
space:
mode:
authorAmy Fong <amy.fong@windriver.com>2014-03-20 15:46:59 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2014-03-24 16:46:05 -0400
commit6423ced4885488dbe8cc05249d7d16cbcfe750c2 (patch)
tree490a3a3f27fc71f40c63a457988dfdd2840d1702 /meta-openstack/recipes-devtools/python/python-nova
parent37cc0a34722fe53b8b532694ac686bbb995fe665 (diff)
downloadmeta-cloud-services-6423ced4885488dbe8cc05249d7d16cbcfe750c2.tar.gz
OpenStack: add SPICE console support
Package spice-html5 Modify python-nova to add infrastructure for nova-spicehtml5proxy support. Note: spice is the default Signed-off-by: Amy Fong <amy.fong@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-nova')
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy7
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy13
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy91
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova.conf10
4 files changed, 118 insertions, 3 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy
new file mode 100644
index 0000000..12aa2b2
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy
@@ -0,0 +1,7 @@
1# The below switch enables you to select which type of console proxy daemon you
2# wish to start at boot time. Possible values are:
3# - spicehtml5
4# - xenvnc
5# - novnc
6
7NOVA_CONSOLE_PROXY_TYPE=spicehtml5
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy
index c976194..f2b2f22 100644
--- a/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy
@@ -21,8 +21,17 @@ PIDFILE=/var/run/nova/nova-novncproxy.pid
21 21
22ENABLED=true 22ENABLED=true
23 23
24if test -f /etc/default/nova-novncproxy; then 24if test -f /etc/default/nova-consoleproxy; then
25 . /etc/default/nova-novncproxy 25 . /etc/default/nova-consoleproxy
26fi
27
28# default to novnc
29if [ -z "${NOVA_CONSOLE_PROXY_TYPE}" ] ; then
30 NOVA_CONSOLE_PROXY_TYPE="novnc"
31fi
32
33if ! [ "${NOVA_CONSOLE_PROXY_TYPE}" = "novnc" ] ; then
34 exit 0
26fi 35fi
27 36
28mkdir -p /var/run/nova 37mkdir -p /var/run/nova
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy b/meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy
new file mode 100644
index 0000000..d58f71e
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy
@@ -0,0 +1,91 @@
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides: nova-spicehtml5proxy
4# Required-Start: $remote_fs $syslog
5# Required-Stop: $remote_fs $syslog
6# Should-Start: libvirt-bin
7# Should-Stop: libvirt-bin
8# Default-Start: 2 3 4 5
9# Default-Stop: 0 1 6
10# Short-Description: nova-spicehtml5proxy service
11# Description: Provides spice html5 proxy services for the openstack
12# cloud computing system
13### END INIT INFO
14
15
16set -e
17
18NAME=nova-spicehtml5proxy
19DESC="OpenStack Compute Spice HTML5 Proxy"
20SCRIPTNAME=/etc/init.d/$NAME
21DAEMON=/usr/bin/nova-spicehtml5proxy
22DAEMON_ARGS=""
23PIDFILE=/var/run/nova/$NAME.pid
24
25ENABLED=true
26
27if test -f /etc/default/nova-consoleproxy; then
28 . /etc/default/nova-consoleproxy
29fi
30
31if ! [ "${NOVA_CONSOLE_PROXY_TYPE}" = "spicehtml5" ] ; then
32 exit 0
33fi
34
35mkdir -p /var/run/nova
36chown nova:root /var/run/nova/
37
38mkdir -p /var/lock/nova
39chown nova:root /var/lock/nova/
40
41. /lib/lsb/init-functions
42
43export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
44export TMPDIR=/var/lib/nova/tmp
45
46if ! [ -x ${DAEMON} ] ; then
47 exit 0
48fi
49
50status()
51{
52 pid=`cat $PIDFILE 2>/dev/null`
53 if [ -n "$pid" ]; then
54 if ps -p $pid >&- ; then
55 echo "$DESC is running"
56 return
57 fi
58 fi
59 echo "$DESC is not running"
60}
61
62case "$1" in
63 start)
64 test "$ENABLED" = "true" || exit 0
65 echo "Starting $DESC" "$NAME"
66 start-stop-daemon --start -b -m --pidfile $PIDFILE --exec ${DAEMON} -- ${DAEMON_ARGS}
67 log_end_msg $?
68 ;;
69 stop)
70 test "$ENABLED" = "true" || exit 0
71 echo "Stopping $DESC" "$NAME"
72 start-stop-daemon --stop --oknodo --pidfile ${PIDFILE}
73 log_end_msg $?
74 ;;
75 restart|force-reload|reload)
76 test "$ENABLED" = "true" || exit 1
77 $0 stop
78 sleep 1
79 $0 start
80 ;;
81 status)
82 test "$ENABLED" = "true" || exit 0
83 status
84 ;;
85 *)
86 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status|reload|status}"
87 exit 1
88 ;;
89esac
90
91exit 0
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.conf b/meta-openstack/recipes-devtools/python/python-nova/nova.conf
index 8aaf41a..42dc47a 100644
--- a/meta-openstack/recipes-devtools/python/python-nova/nova.conf
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova.conf
@@ -24,7 +24,7 @@ state_path=/var/run/nova/
24libvirt_images_type = %LIBVIRT_IMAGES_TYPE% 24libvirt_images_type = %LIBVIRT_IMAGES_TYPE%
25 25
26#VNC 26#VNC
27vnc_enabled = true 27vnc_enabled = false
28vncserver_listen = %COMPUTE_IP% 28vncserver_listen = %COMPUTE_IP%
29novncproxy_base_url=http://%CONTROLLER_IP%:6080/vnc_auto.html 29novncproxy_base_url=http://%CONTROLLER_IP%:6080/vnc_auto.html
30vncserver_proxyclient_address=%COMPUTE_IP% 30vncserver_proxyclient_address=%COMPUTE_IP%
@@ -68,3 +68,11 @@ libvirt_images_rbd_pool=cinder-volumes
68libvirt_images_rbd_ceph_conf=/etc/ceph/ceph.conf 68libvirt_images_rbd_ceph_conf=/etc/ceph/ceph.conf
69rbd_user=cinder-volume 69rbd_user=cinder-volume
70#rbd_secret_uuid= 70#rbd_secret_uuid=
71
72[spice]
73agent_enabled=True
74enabled=True
75html5proxy_base_url=http://%CONTROLLER_IP%:6082/spice_auto.html
76keymap=en-us
77server_listen=%COMPUTE_IP%
78server_proxyclient_address=%COMPUTE_IP%