From dfc85232382af8fee180a83bd33f9d436557b774 Mon Sep 17 00:00:00 2001 From: Amy Fong Date: Mon, 24 Mar 2014 13:18:45 -0400 Subject: OpenStack: modify controller to be able to talk to both console We modify the controller so that both vnc and spice html5 proxies are running. Since in the current recipe, both controller and compute share the same nova.conf file, in the compute, both vnc and spice html5 are set to enabled and in this configuration, vnc is chosen (in source: vnc is chosen because it's better tested). To change to spice, only change required is on the compute side. The controller (since the default console_type is auto) will try to talk to both and run whichever is available. Signed-off-by: Amy Fong --- .../python/python-nova/nova-console.init | 119 --------------------- .../python/python-nova/nova-consoleproxy | 7 -- .../recipes-devtools/python/python-nova/nova.conf | 2 +- .../recipes-devtools/python/python-nova/nova.init | 14 +++ .../recipes-devtools/python/python-nova_git.bb | 13 +-- 5 files changed, 16 insertions(+), 139 deletions(-) delete mode 100644 meta-openstack/recipes-devtools/python/python-nova/nova-console.init delete mode 100644 meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy (limited to 'meta-openstack/recipes-devtools/python') diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-console.init b/meta-openstack/recipes-devtools/python/python-nova/nova-console.init deleted file mode 100644 index bb5e94c..0000000 --- a/meta-openstack/recipes-devtools/python/python-nova/nova-console.init +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/sh - -### BEGIN INIT INFO -# Provides: nova-compute -# Required-Start: $remote_fs $syslog -# Required-Stop: $remote_fs $syslog -# Default-Start: 3 5 -# Default-Stop: 0 1 2 6 -# Short-Description: OpenStack Compute (Nova) - @suffix@ -# Description: OpenStack Compute (Nova) - @suffix@ -### END INIT INFO - -SUFFIX="@suffix@" -DESC="nova-@suffix@" -DAEMON="/usr/bin/nova-$SUFFIX" -PIDFILE="/var/run/nova/nova-$SUFFIX.pid" - -if test -f /etc/default/nova-consoleproxy; then - . /etc/default/nova-consoleproxy -fi - - -# default to spicehtml5 -if [ -z "${NOVA_CONSOLE_PROXY_TYPE}" ] ; then - NOVA_CONSOLE_PROXY_TYPE="spicehtml5" -fi - -if ! [ "${NOVA_CONSOLE_PROXY_TYPE}" = "@proxy_type@" ] ; then - exit 0 -fi - -mkdir -p /var/run/nova -chown nova:root /var/run/nova/ - -mkdir -p /var/lock/nova -chown nova:root /var/lock/nova/ - -export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" -export TMPDIR=/var/lib/nova/tmp - -if ! [ -x ${DAEMON} ] ; then - exit 0 -fi - -start () -{ - if [ -e $PIDFILE ]; then - PIDDIR=/proc/$(cat $PIDFILE) - if [ -d ${PIDDIR} ]; then - echo "$DESC already running." - exit 1 - else - echo "Removing stale PID file $PIDFILE" - rm -f $PIDFILE - fi - fi - PIDDIR=`dirname $PIDFILE` - if [ ! -d $PIDDIR ]; then - mkdir -p $PIDDIR - chown nova $PIDDIR - fi - echo -n "Starting $DESC..." - - sudo -u nova \ - start-stop-daemon --start --quiet --background \ - --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} - - if [ $? -eq 0 ]; then - echo "done." - else - echo "failed." - fi -} - -stop () -{ - echo -n "Stopping $DESC..." - start-stop-daemon --stop --quiet --pidfile $PIDFILE - if [ $? -eq 0 ]; then - echo "done." - else - echo "failed." - fi - rm -f $PIDFILE -} - -status() -{ - pid=`cat $PIDFILE 2>/dev/null` - if [ -n "$pid" ]; then - if ps -p $pid >&- ; then - echo "$DESC is running" - return - fi - fi - echo "$DESC is not running" -} - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|force-reload|reload) - stop - start - ;; - status) - status - ;; - *) - echo "Usage: $0 {start|stop|force-reload|restart|reload|status}" - exit 1 - ;; -esac - -exit 0 diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy deleted file mode 100644 index 12aa2b2..0000000 --- a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleproxy +++ /dev/null @@ -1,7 +0,0 @@ -# The below switch enables you to select which type of console proxy daemon you -# wish to start at boot time. Possible values are: -# - spicehtml5 -# - xenvnc -# - novnc - -NOVA_CONSOLE_PROXY_TYPE=spicehtml5 diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.conf b/meta-openstack/recipes-devtools/python/python-nova/nova.conf index 42dc47a..d763a8b 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/ libvirt_images_type = %LIBVIRT_IMAGES_TYPE% #VNC -vnc_enabled = false +vnc_enabled = True vncserver_listen = %COMPUTE_IP% novncproxy_base_url=http://%CONTROLLER_IP%:6080/vnc_auto.html vncserver_proxyclient_address=%COMPUTE_IP% diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.init b/meta-openstack/recipes-devtools/python/python-nova/nova.init index 5d298fd..5917882 100644 --- a/meta-openstack/recipes-devtools/python/python-nova/nova.init +++ b/meta-openstack/recipes-devtools/python/python-nova/nova.init @@ -15,6 +15,20 @@ DESC="nova-@suffix@" DAEMON="/usr/bin/nova-$SUFFIX" PIDFILE="/var/run/nova/nova-$SUFFIX.pid" +if [ ! -d /var/run/nova ]; then + mkdir -p /var/run/nova + chown nova:root /var/run/nova/ +fi + +if [ ! -d /var/lock/nova ]; then + mkdir -p /var/lock/nova + chown nova:root /var/lock/nova/ +fi + +if ! [ -x ${DAEMON} ] ; then + exit 0 +fi + start () { if [ -e $PIDFILE ]; then diff --git a/meta-openstack/recipes-devtools/python/python-nova_git.bb b/meta-openstack/recipes-devtools/python/python-nova_git.bb index 17712d5..0a70aca 100644 --- a/meta-openstack/recipes-devtools/python/python-nova_git.bb +++ b/meta-openstack/recipes-devtools/python/python-nova_git.bb @@ -20,11 +20,9 @@ SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/havana \ SRC_URI += "file://nova-all \ file://nova.init \ - file://nova-console.init \ file://nova-consoleauth \ file://nova.conf \ file://openrc \ - file://nova-consoleproxy \ " SRCREV="afc9e4e23327fb566e8ade2c0c06c90d369c9e29" PV="2013.2.2+git${SRCPV}" @@ -109,21 +107,13 @@ do_install_append() { install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all install -m 0755 ${WORKDIR}/nova-consoleauth ${D}${sysconfdir}/init.d/nova-consoleauth - for binary in api compute network scheduler cert conductor; do + for binary in api compute network scheduler cert conductor novncproxy spicehtml5proxy; do sed "s:@suffix@:$binary:" < ${WORKDIR}/nova.init >${WORKDIR}/nova-$binary.init.sh install -m 0755 ${WORKDIR}/nova-$binary.init.sh ${D}${sysconfdir}/init.d/nova-$binary done - for binary in novncproxy spicehtml5proxy; do - proxy_type=`echo $binary | sed -e 's/proxy//;'` - sed "s:@suffix@:$binary:" < ${WORKDIR}/nova-console.init | \ - sed "s:@proxy_type@:$proxy_type:" >${WORKDIR}/nova-$binary.init.sh - install -m 0755 ${WORKDIR}/nova-$binary.init.sh ${D}${sysconfdir}/init.d/nova-$binary - done fi cp run_tests.sh ${NOVA_CONF_DIR} - - install -D -o nova -m 664 ${WORKDIR}/nova-consoleproxy ${D}${sysconfdir}/default/nova-consoleproxy } pkg_postinst_${SRCNAME}-setup () { @@ -196,7 +186,6 @@ FILES_${SRCNAME}-novncproxy = " \ " FILES_${SRCNAME}-spicehtml5proxy = " \ ${sysconfdir}/init.d/nova-spicehtml5proxy \ - ${sysconfdir}/default/nova-consoleproxy \ " FILES_${SRCNAME}-network = " \ ${sysconfdir}/init.d/nova-network \ -- cgit v1.2.3-54-g00ecf