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
This commit is contained in:
parent
d19adb6a6b
commit
5ffc66cd69
@ -24,3 +24,19 @@ novascheduler:
|
|||||||
restart: always
|
restart: always
|
||||||
env_file:
|
env_file:
|
||||||
- openstack.env
|
- openstack.env
|
||||||
|
|
||||||
|
novaconsoleauth:
|
||||||
|
image: kollaglue/centos-rdo-nova-consoleauth:juno
|
||||||
|
name: nova-consoleauth
|
||||||
|
net: "host"
|
||||||
|
restart: always
|
||||||
|
env_file:
|
||||||
|
- openstack.env
|
||||||
|
|
||||||
|
novanovncproxy:
|
||||||
|
image: kollaglue/centos-rdo-nova-novncproxy:juno
|
||||||
|
name: nova-novncproxy
|
||||||
|
net: "host"
|
||||||
|
restart: always
|
||||||
|
env_file:
|
||||||
|
- openstack.env
|
@ -45,8 +45,6 @@ crudini --set $cfg DEFAULT service_down_time 60
|
|||||||
crudini --set $cfg DEFAULT rootwrap_config /etc/nova/rootwrap.conf
|
crudini --set $cfg DEFAULT rootwrap_config /etc/nova/rootwrap.conf
|
||||||
crudini --set $cfg DEFAULT auth_strategy keystone
|
crudini --set $cfg DEFAULT auth_strategy keystone
|
||||||
crudini --set $cfg DEFAULT use_forwarded_for False
|
crudini --set $cfg DEFAULT use_forwarded_for False
|
||||||
crudini --set $cfg DEFAULT novncproxy_host 0.0.0.0
|
|
||||||
crudini --set $cfg DEFAULT novncproxy_port 6080
|
|
||||||
crudini --set $cfg DEFAULT glance_api_servers ${GLANCE_API_SERVICE_HOST}:9292
|
crudini --set $cfg DEFAULT glance_api_servers ${GLANCE_API_SERVICE_HOST}:9292
|
||||||
crudini --set $cfg DEFAULT cpu_allocation_ratio 16.0
|
crudini --set $cfg DEFAULT cpu_allocation_ratio 16.0
|
||||||
crudini --set $cfg DEFAULT ram_allocation_ratio 1.5
|
crudini --set $cfg DEFAULT ram_allocation_ratio 1.5
|
||||||
@ -54,10 +52,6 @@ crudini --set $cfg DEFAULT scheduler_default_filters RetryFilter,AvailabilityZon
|
|||||||
crudini --set $cfg DEFAULT compute_driver nova.virt.libvirt.LibvirtDriver
|
crudini --set $cfg DEFAULT compute_driver nova.virt.libvirt.LibvirtDriver
|
||||||
crudini --set $cfg DEFAULT vif_plugging_is_fatal True
|
crudini --set $cfg DEFAULT vif_plugging_is_fatal True
|
||||||
crudini --set $cfg DEFAULT vif_plugging_timeout 300
|
crudini --set $cfg DEFAULT vif_plugging_timeout 300
|
||||||
crudini --set $cfg DEFAULT novncproxy_base_url http://${PUBLIC_IP}:6080/vnc_auto.html
|
|
||||||
crudini --set $cfg DEFAULT vncserver_listen 0.0.0.0
|
|
||||||
crudini --set $cfg DEFAULT vncserver_proxyclient_address ${PUBLIC_IP}
|
|
||||||
crudini --set $cfg DEFAULT vnc_enabled True
|
|
||||||
crudini --set $cfg DEFAULT volume_api_class nova.volume.cinder.API
|
crudini --set $cfg DEFAULT volume_api_class nova.volume.cinder.API
|
||||||
crudini --set $cfg DEFAULT image_service nova.image.glance.GlanceImageService
|
crudini --set $cfg DEFAULT image_service nova.image.glance.GlanceImageService
|
||||||
crudini --set $cfg DEFAULT osapi_volume_listen 0.0.0.0
|
crudini --set $cfg DEFAULT osapi_volume_listen 0.0.0.0
|
||||||
|
@ -5,6 +5,16 @@
|
|||||||
|
|
||||||
cfg=/etc/nova/nova.conf
|
cfg=/etc/nova/nova.conf
|
||||||
|
|
||||||
|
check_required_vars NOVA_NOVNC_PROXYCLIENT_IP
|
||||||
|
|
||||||
|
# Configures novnc to listen on all interfaces and instructs nova-compute to
|
||||||
|
# announce PROXYCLIENT_IP to the nova-vncproxy. Clients like Horizon will
|
||||||
|
# connect with this address.
|
||||||
|
# As such, PROXYCLIENT_IP is unique per compute node.
|
||||||
|
crudini --set $cfg DEFAULT vnc_enabled "True"
|
||||||
|
crudini --set $cfg DEFAULT vncserver_listen "0.0.0.0"
|
||||||
|
crudini --set $cfg DEFAULT vncserver_proxyclient_address "${NOVA_NOVNC_PROXYCLIENT_IP}"
|
||||||
|
|
||||||
# configure logging
|
# configure logging
|
||||||
crudini --set $cfg DEFAULT log_file "${NOVA_COMPUTE_LOG_FILE}"
|
crudini --set $cfg DEFAULT log_file "${NOVA_COMPUTE_LOG_FILE}"
|
||||||
|
|
||||||
|
8
docker/nova-controller/nova-consoleauth/Dockerfile
Normal file
8
docker/nova-controller/nova-consoleauth/Dockerfile
Normal file
@ -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"]
|
1
docker/nova-controller/nova-consoleauth/build
Symbolic link
1
docker/nova-controller/nova-consoleauth/build
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../tools/build-docker-image
|
13
docker/nova-controller/nova-consoleauth/start.sh
Executable file
13
docker/nova-controller/nova-consoleauth/start.sh
Executable file
@ -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
|
10
docker/nova-controller/nova-novncproxy/Dockerfile
Normal file
10
docker/nova-controller/nova-novncproxy/Dockerfile
Normal file
@ -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"]
|
1
docker/nova-controller/nova-novncproxy/build
Symbolic link
1
docker/nova-controller/nova-novncproxy/build
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../../../tools/build-docker-image
|
23
docker/nova-controller/nova-novncproxy/start.sh
Executable file
23
docker/nova-controller/nova-novncproxy/start.sh
Executable file
@ -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
|
12
tools/genenv
12
tools/genenv
@ -40,6 +40,8 @@ NOVA_API_LOG_FILE=
|
|||||||
NOVA_CONDUCTOR_LOG_FILE=
|
NOVA_CONDUCTOR_LOG_FILE=
|
||||||
NOVA_SCHEDULER_LOG_FILE=
|
NOVA_SCHEDULER_LOG_FILE=
|
||||||
NOVA_COMPUTE_LOG_FILE=
|
NOVA_COMPUTE_LOG_FILE=
|
||||||
|
NOVA_CONSOLEAUTH_LOG_FILE=
|
||||||
|
NOVA_NOVNCPROXY_LOG_FILE=
|
||||||
NEUTRON_SERVER_LOG_FILE=
|
NEUTRON_SERVER_LOG_FILE=
|
||||||
NEUTRON_L3_AGENT_LOG_FILE=
|
NEUTRON_L3_AGENT_LOG_FILE=
|
||||||
NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=
|
NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=
|
||||||
@ -83,6 +85,10 @@ NOVA_PUBLIC_INTERFACE=$MY_DEV
|
|||||||
NOVA_FLAT_INTERFACE=eth1
|
NOVA_FLAT_INTERFACE=eth1
|
||||||
ENABLED_APIS=ec2,osapi_compute,metadata
|
ENABLED_APIS=ec2,osapi_compute,metadata
|
||||||
METADATA_HOST=$HOST_IP
|
METADATA_HOST=$HOST_IP
|
||||||
|
NOVA_NOVNC_PROXY_PORT=6080
|
||||||
|
NOVA_NOVNC_PROXY_SERVICE_HOST=0.0.0.0
|
||||||
|
NOVA_NOVNC_BASE_ADDRESS=${PUBLIC_IP}
|
||||||
|
NOVA_NOVNC_PROXYCLIENT_IP=${PUBLIC_IP}
|
||||||
|
|
||||||
# Neutron
|
# Neutron
|
||||||
NEUTRON_DB_NAME=neutron
|
NEUTRON_DB_NAME=neutron
|
||||||
@ -127,6 +133,8 @@ NOVA_API_LOG_FILE=$NOVA_API_LOG_FILE
|
|||||||
NOVA_CONDUCTOR_LOG_FILE=$NOVA_CONDUCTOR_LOG_FILE
|
NOVA_CONDUCTOR_LOG_FILE=$NOVA_CONDUCTOR_LOG_FILE
|
||||||
NOVA_SCHEDULER_LOG_FILE=$NOVA_SCHEDULER_LOG_FILE
|
NOVA_SCHEDULER_LOG_FILE=$NOVA_SCHEDULER_LOG_FILE
|
||||||
NOVA_COMPUTE_LOG_FILE=$NOVA_COMPUTE_LOG_FILE
|
NOVA_COMPUTE_LOG_FILE=$NOVA_COMPUTE_LOG_FILE
|
||||||
|
NOVA_CONSOLEAUTH_LOG_FILE=$NOVA_CONSOLEAUTH_LOG_FILE
|
||||||
|
NOVA_NOVNCPROXY_LOG_FILE=$NOVA_NOVNCPROXY_LOG_FILE
|
||||||
NEUTRON_SERVER_LOG_FILE=$NEUTRON_SERVER_LOG_FILE
|
NEUTRON_SERVER_LOG_FILE=$NEUTRON_SERVER_LOG_FILE
|
||||||
NEUTRON_L3_AGENT_LOG_FILE=$NEUTRON_L3_AGENT_LOG_FILE
|
NEUTRON_L3_AGENT_LOG_FILE=$NEUTRON_L3_AGENT_LOG_FILE
|
||||||
NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=$NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE
|
NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE=$NEUTRON_LINUXBRIDGE_AGENT_LOG_FILE
|
||||||
@ -166,6 +174,10 @@ NOVA_EC2_API_SERVICE_HOST=$NOVA_EC2_SERVICE_HOST
|
|||||||
NOVA_EC2_SERVICE_HOST=$NOVA_EC2_SERVICE_HOST
|
NOVA_EC2_SERVICE_HOST=$NOVA_EC2_SERVICE_HOST
|
||||||
NOVA_KEYSTONE_PASSWORD=$NOVA_KEYSTONE_PASSWORD
|
NOVA_KEYSTONE_PASSWORD=$NOVA_KEYSTONE_PASSWORD
|
||||||
NOVA_KEYSTONE_USER=$NOVA_KEYSTONE_USER
|
NOVA_KEYSTONE_USER=$NOVA_KEYSTONE_USER
|
||||||
|
NOVA_NOVNC_PROXY_SERVICE_HOST=$NOVA_NOVNC_PROXY_SERVICE_HOST
|
||||||
|
NOVA_NOVNC_PROXY_PORT=$NOVA_NOVNC_PROXY_PORT
|
||||||
|
NOVA_NOVNC_BASE_ADDRESS=${NOVA_NOVNC_BASE_ADDRESS}
|
||||||
|
NOVA_NOVNC_PROXYCLIENT_IP=${NOVA_NOVNC_PROXYCLIENT_IP}
|
||||||
NEUTRON_SHARED_SECRET=$NEUTRON_SHARED_SECRET
|
NEUTRON_SHARED_SECRET=$NEUTRON_SHARED_SECRET
|
||||||
NEUTRON_DB_NAME=$NEUTRON_DB_NAME
|
NEUTRON_DB_NAME=$NEUTRON_DB_NAME
|
||||||
NEUTRON_DB_USER=$NEUTRON_DB_USER
|
NEUTRON_DB_USER=$NEUTRON_DB_USER
|
||||||
|
@ -28,7 +28,7 @@ function process_all {
|
|||||||
process mariadb
|
process mariadb
|
||||||
process keystone
|
process keystone
|
||||||
process glance-api-registry
|
process glance-api-registry
|
||||||
process nova-api-conductor-scheduler
|
process nova-api-conductor-scheduler-consoleauth-novncproxy
|
||||||
if [[ "${NETWORK_MANAGER}" == "nova" ]] ; then
|
if [[ "${NETWORK_MANAGER}" == "nova" ]] ; then
|
||||||
process nova-compute-network
|
process nova-compute-network
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user