diff options
| author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-10-03 00:20:31 -0400 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-10-03 01:16:44 -0400 |
| commit | b625b4c4c3d299e3830951304f468a5399828b51 (patch) | |
| tree | ca62e1ff521cb2be4849930a52dd735d779c6b1b /meta-openstack/recipes-devtools/python/python-nova | |
| parent | 718ecf27999c69acae27992123d2a7fe85d64c77 (diff) | |
| download | meta-cloud-services-b625b4c4c3d299e3830951304f468a5399828b51.tar.gz | |
nova: add novnc console proxy support
With this commit the appropriate daemons are started on a control node boot to
support horizon console access via the novnc proxy.
Additionally, the proper nova configuration is set for boh the control and
compute nodes for out of the box console connectivity between the compute,
control and horizone interface.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-nova')
3 files changed, 150 insertions, 2 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth new file mode 100644 index 0000000..13ad285 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth | |||
| @@ -0,0 +1,75 @@ | |||
| 1 | #! /bin/sh | ||
| 2 | ### BEGIN INIT INFO | ||
| 3 | # Provides: nova-consoleauth | ||
| 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-consoleauth service | ||
| 11 | # Description: Provides console services for the openstack | ||
| 12 | # cloud computing system | ||
| 13 | ### END INIT INFO | ||
| 14 | |||
| 15 | |||
| 16 | set -e | ||
| 17 | |||
| 18 | DAEMON=/usr/bin/nova-consoleauth | ||
| 19 | DAEMON_ARGS="" | ||
| 20 | PIDFILE=/var/run/nova/nova-consoleauth.pid | ||
| 21 | |||
| 22 | ENABLED=true | ||
| 23 | |||
| 24 | if test -f /etc/default/nova-consoleauth; then | ||
| 25 | . /etc/default/nova-consoleauth | ||
| 26 | fi | ||
| 27 | |||
| 28 | mkdir -p /var/run/nova | ||
| 29 | chown nova:root /var/run/nova/ | ||
| 30 | |||
| 31 | mkdir -p /var/lock/nova | ||
| 32 | chown nova:root /var/lock/nova/ | ||
| 33 | |||
| 34 | #uid="$(getent passwd nova | cut -f3 -d:)" | ||
| 35 | #gid="$(getent passwd nova | cut -f4 -d:)" | ||
| 36 | |||
| 37 | . /lib/lsb/init-functions | ||
| 38 | |||
| 39 | export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | ||
| 40 | export TMPDIR=/var/lib/nova/tmp | ||
| 41 | |||
| 42 | if ! [ -x ${DAEMON} ] ; then | ||
| 43 | exit 0 | ||
| 44 | fi | ||
| 45 | |||
| 46 | case "$1" in | ||
| 47 | start) | ||
| 48 | test "$ENABLED" = "true" || exit 0 | ||
| 49 | echo "Starting nova console" "nova-consoleauth" | ||
| 50 | start-stop-daemon --start -b -m --pidfile $PIDFILE --exec ${DAEMON} -- ${DAEMON_ARGS} | ||
| 51 | log_end_msg $? | ||
| 52 | ;; | ||
| 53 | stop) | ||
| 54 | test "$ENABLED" = "true" || exit 0 | ||
| 55 | echo "Stopping nova console" "nova-consoleauth" | ||
| 56 | start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} | ||
| 57 | log_end_msg $? | ||
| 58 | ;; | ||
| 59 | restart|force-reload) | ||
| 60 | test "$ENABLED" = "true" || exit 1 | ||
| 61 | $0 stop | ||
| 62 | sleep 1 | ||
| 63 | $0 start | ||
| 64 | ;; | ||
| 65 | status) | ||
| 66 | test "$ENABLED" = "true" || exit 0 | ||
| 67 | status_of_proc -p $PIDFILE $DAEMON nova-consoleauth && exit 0 || exit $? | ||
| 68 | ;; | ||
| 69 | *) | ||
| 70 | echo "Usage: /etc/init.d/nova-consoleauth {start|stop|restart|force-reload|status}" | ||
| 71 | exit 1 | ||
| 72 | ;; | ||
| 73 | esac | ||
| 74 | |||
| 75 | exit 0 | ||
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy new file mode 100644 index 0000000..76cd1df --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | #! /bin/sh | ||
| 2 | ### BEGIN INIT INFO | ||
| 3 | # Provides: nova-novncproxy | ||
| 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-novncproxy service | ||
| 11 | # Description: Provides vnc proxy services for the openstack | ||
| 12 | # cloud computing system | ||
| 13 | ### END INIT INFO | ||
| 14 | |||
| 15 | |||
| 16 | set -e | ||
| 17 | |||
| 18 | DAEMON=/usr/bin/nova-novncproxy | ||
| 19 | DAEMON_ARGS="" | ||
| 20 | PIDFILE=/var/run/nova/nova-novncproxy.pid | ||
| 21 | |||
| 22 | ENABLED=true | ||
| 23 | |||
| 24 | if test -f /etc/default/nova-novncproxy; then | ||
| 25 | . /etc/default/nova-novncproxy | ||
| 26 | fi | ||
| 27 | |||
| 28 | mkdir -p /var/run/nova | ||
| 29 | chown nova:root /var/run/nova/ | ||
| 30 | |||
| 31 | mkdir -p /var/lock/nova | ||
| 32 | chown nova:root /var/lock/nova/ | ||
| 33 | |||
| 34 | . /lib/lsb/init-functions | ||
| 35 | |||
| 36 | export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | ||
| 37 | export TMPDIR=/var/lib/nova/tmp | ||
| 38 | |||
| 39 | if ! [ -x ${DAEMON} ] ; then | ||
| 40 | exit 0 | ||
| 41 | fi | ||
| 42 | |||
| 43 | case "$1" in | ||
| 44 | start) | ||
| 45 | test "$ENABLED" = "true" || exit 0 | ||
| 46 | echo "Starting nova vnc proxy" "nova-novncproxy" | ||
| 47 | start-stop-daemon --start -b -m --pidfile $PIDFILE --exec ${DAEMON} -- ${DAEMON_ARGS} | ||
| 48 | log_end_msg $? | ||
| 49 | ;; | ||
| 50 | stop) | ||
| 51 | test "$ENABLED" = "true" || exit 0 | ||
| 52 | echo "Stopping nova vnc proxy" "nova-novncproxy" | ||
| 53 | start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} | ||
| 54 | log_end_msg $? | ||
| 55 | ;; | ||
| 56 | restart|force-reload) | ||
| 57 | test "$ENABLED" = "true" || exit 1 | ||
| 58 | $0 stop | ||
| 59 | sleep 1 | ||
| 60 | $0 start | ||
| 61 | ;; | ||
| 62 | status) | ||
| 63 | test "$ENABLED" = "true" || exit 0 | ||
| 64 | status_of_proc -p $PIDFILE $DAEMON nova-novncproxy && exit 0 || exit $? | ||
| 65 | ;; | ||
| 66 | *) | ||
| 67 | echo "Usage: /etc/init.d/nova-novncproxy {start|stop|restart|force-reload|status}" | ||
| 68 | exit 1 | ||
| 69 | ;; | ||
| 70 | esac | ||
| 71 | |||
| 72 | exit 0 | ||
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.conf b/meta-openstack/recipes-devtools/python/python-nova/nova.conf index 695f084..20db54d 100644 --- a/meta-openstack/recipes-devtools/python/python-nova/nova.conf +++ b/meta-openstack/recipes-devtools/python/python-nova/nova.conf | |||
| @@ -22,7 +22,9 @@ glance_host = %CONTROLLER_IP% | |||
| 22 | 22 | ||
| 23 | #VNC | 23 | #VNC |
| 24 | vnc_enabled = true | 24 | vnc_enabled = true |
| 25 | vncserver_listen = 0.0.0.0 | 25 | vncserver_listen = %COMPUTE_IP% |
| 26 | novncproxy_base_url=http://%CONTROLLER_IP%:6080/vnc_auto.html | ||
| 27 | vncserver_proxyclient_address=%COMPUTE_IP% | ||
| 26 | 28 | ||
| 27 | #Network | 29 | #Network |
| 28 | flat_interface = eth0 | 30 | flat_interface = eth0 |
| @@ -35,7 +37,6 @@ force_dhcp_release=False | |||
| 35 | dhcpbridge=/usr/bin/nova-dhcpbridge | 37 | dhcpbridge=/usr/bin/nova-dhcpbridge |
| 36 | 38 | ||
| 37 | #Database configuration | 39 | #Database configuration |
| 38 | # sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@localhost/nova | ||
| 39 | sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_IP%/nova | 40 | sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_IP%/nova |
| 40 | 41 | ||
| 41 | #RabbitMQ configuration | 42 | #RabbitMQ configuration |
