From 5ffc66cd69e1cda087056da25ab25548dacb1d32 Mon Sep 17 00:00:00 2001 From: Harm Weites Date: Tue, 5 May 2015 00:37:23 +0200 Subject: Add a novnc container running the novnc-proxy. All VNC-specific configuration bits are moved from nova-api-base to nova-compute and the new nova-novncproxy and nova-consoleauth containers. The compose specification has been updated to reflect this. A future patch will make the desired backend configurable (spice/vnc). Change-Id: I8b64abf125fd1ecd7d3463515e3717dd9bd60420 Blueprint: novnc-container --- docker/nova-controller/nova-consoleauth/Dockerfile | 8 ++++++++ docker/nova-controller/nova-consoleauth/build | 1 + docker/nova-controller/nova-consoleauth/start.sh | 13 ++++++++++++ docker/nova-controller/nova-novncproxy/Dockerfile | 10 ++++++++++ docker/nova-controller/nova-novncproxy/build | 1 + docker/nova-controller/nova-novncproxy/start.sh | 23 ++++++++++++++++++++++ 6 files changed, 56 insertions(+) create mode 100644 docker/nova-controller/nova-consoleauth/Dockerfile create mode 120000 docker/nova-controller/nova-consoleauth/build create mode 100755 docker/nova-controller/nova-consoleauth/start.sh create mode 100644 docker/nova-controller/nova-novncproxy/Dockerfile create mode 120000 docker/nova-controller/nova-novncproxy/build create mode 100755 docker/nova-controller/nova-novncproxy/start.sh (limited to 'docker/nova-controller') diff --git a/docker/nova-controller/nova-consoleauth/Dockerfile b/docker/nova-controller/nova-consoleauth/Dockerfile new file mode 100644 index 000000000..576c91b5a --- /dev/null +++ b/docker/nova-controller/nova-consoleauth/Dockerfile @@ -0,0 +1,8 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%nova-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum -y install openstack-nova-console && yum clean all + +ADD start.sh /start.sh + +CMD ["/start.sh"] diff --git a/docker/nova-controller/nova-consoleauth/build b/docker/nova-controller/nova-consoleauth/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/nova-controller/nova-consoleauth/build @@ -0,0 +1 @@ +../../../tools/build-docker-image \ No newline at end of file diff --git a/docker/nova-controller/nova-consoleauth/start.sh b/docker/nova-controller/nova-consoleauth/start.sh new file mode 100755 index 000000000..fbac5d4b5 --- /dev/null +++ b/docker/nova-controller/nova-consoleauth/start.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +. /opt/kolla/config-nova.sh + +cfg=/etc/nova/nova.conf + +check_required_vars NOVA_CONSOLEAUTH_LOG_FILE + +crudini --set $cfg DEFAULT log_file "${NOVA_CONSOLEAUTH_LOG_FILE}" + +echo Starting nova-consoleauth +exec /usr/bin/nova-consoleauth diff --git a/docker/nova-controller/nova-novncproxy/Dockerfile b/docker/nova-controller/nova-novncproxy/Dockerfile new file mode 100644 index 000000000..682625853 --- /dev/null +++ b/docker/nova-controller/nova-novncproxy/Dockerfile @@ -0,0 +1,10 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%nova-base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum -y install \ + novnc openstack-nova-novncproxy && \ + yum clean all + +ADD start.sh /start.sh + +CMD ["/start.sh"] diff --git a/docker/nova-controller/nova-novncproxy/build b/docker/nova-controller/nova-novncproxy/build new file mode 120000 index 000000000..43944faa0 --- /dev/null +++ b/docker/nova-controller/nova-novncproxy/build @@ -0,0 +1 @@ +../../../tools/build-docker-image \ No newline at end of file diff --git a/docker/nova-controller/nova-novncproxy/start.sh b/docker/nova-controller/nova-novncproxy/start.sh new file mode 100755 index 000000000..95a474719 --- /dev/null +++ b/docker/nova-controller/nova-novncproxy/start.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -e +. /opt/kolla/kolla-common.sh + +cfg=/etc/nova/nova.conf + +check_required_vars PUBLIC_IP NOVA_NOVNC_PROXY_SERVICE_HOST NOVA_NOVNC_PROXY_PORT \ + NOVA_NOVNC_BASE_ADDRESS NOVA_NOVNCPROXY_LOG_FILE + +crudini --set $cfg DEFAULT log_file "${NOVA_NOVNCPROXY_LOG_FILE}" + +# Listen on all interfaces on port $NOVA_NOVNC_PROXY_PORT for incoming novnc +# requests. +# The base_url is given to clients to connect to, like Horizon, so this could +# very well be fancy DNS name. +echo Configuring VNC... +crudini --set $cfg DEFAULT vnc_enabled "True" +crudini --set $cfg DEFAULT novncproxy_host "${NOVA_NOVNC_PROXY_SERVICE_HOST}" +crudini --set $cfg DEFAULT novncproxy_port "${NOVA_NOVNC_PROXY_PORT}" +crudini --set $cfg DEFAULT novncproxy_base_url "http://${NOVA_NOVNC_BASE_ADDRESS}:${NOVA_NOVNC_PROXY_PORT}/vnc_auto.html" + +echo Starting nova-novncproxy +exec /usr/bin/nova-novncproxy -- cgit v1.2.3