diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-05-24 17:52:38 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-05-24 17:52:39 +0000 |
| commit | 6b5e691c86fc2c9077ac9aae835e6a07fddd8e42 (patch) | |
| tree | 1ca0f5e71ea98b8fef4866acb20c9777d2a73ad1 /docker/centos/binary/nova-controller | |
| parent | ac97b74052cf3d928ae0a77728bd3bfbc8641eed (diff) | |
| parent | 13062e23e86b5d86020949754540460cb5b0b4fe (diff) | |
| download | kolla-6b5e691c86fc2c9077ac9aae835e6a07fddd8e42.tar.gz kolla-6b5e691c86fc2c9077ac9aae835e6a07fddd8e42.zip | |
Merge "Restructure builds to allow more flexibility"
Diffstat (limited to 'docker/centos/binary/nova-controller')
16 files changed, 184 insertions, 0 deletions
diff --git a/docker/centos/binary/nova-controller/nova-api/Dockerfile b/docker/centos/binary/nova-controller/nova-api/Dockerfile new file mode 100644 index 000000000..7abd32087 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-api/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 \ + openstack-nova-api && yum clean all + +ADD ./start.sh /start.sh +ADD ./check.sh /check.sh + +CMD ["/start.sh"] diff --git a/docker/centos/binary/nova-controller/nova-api/build b/docker/centos/binary/nova-controller/nova-api/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-api/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/nova-controller/nova-api/check.sh b/docker/centos/binary/nova-controller/nova-api/check.sh new file mode 100755 index 000000000..b250682d8 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-api/check.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +RES=0 + +. /openrc +if ! keystone token-get > /dev/null; then + echo "ERROR: keystone token-get failed" >&2 + RES=1 +else + if ! nova list > /dev/null; then + echo "ERROR: nova list failed" >&2 + RES=1 + fi +fi + +exit $RES + diff --git a/docker/centos/binary/nova-controller/nova-api/start.sh b/docker/centos/binary/nova-controller/nova-api/start.sh new file mode 100755 index 000000000..7928370a4 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-api/start.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +set -e + +. /opt/kolla/config-nova.sh + +check_required_vars KEYSTONE_ADMIN_TOKEN KEYSTONE_ADMIN_SERVICE_HOST \ + NOVA_KEYSTONE_USER NOVA_KEYSTONE_PASSWORD \ + ADMIN_TENANT_NAME NOVA_API_SERVICE_HOST \ + NOVA_EC2_API_SERVICE_HOST PUBLIC_IP NOVA_DB_NAME +fail_unless_os_service_running keystone +fail_unless_db $NOVA_DB_NAME + +export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}" +export SERVICE_ENDPOINT="http://${KEYSTONE_ADMIN_SERVICE_HOST}:35357/v2.0" + +cfg=/etc/nova/nova.conf + +# configure logging +crudini --set $cfg DEFAULT log_file "${NOVA_API_LOG_FILE}" + +crux user-create --update \ + -n "${NOVA_KEYSTONE_USER}" \ + -p "${NOVA_KEYSTONE_PASSWORD}" \ + -t "${ADMIN_TENANT_NAME}" \ + -r admin + +crux endpoint-create --remove-all \ + -n ec2 -t ec2 \ + -I "http://${NOVA_EC2_API_SERVICE_HOST}:8773/services/Cloud" \ + -P "http://${PUBLIC_IP}:8773/services/Cloud" \ + -A "http://${NOVA_EC2_API_SERVICE_HOST}:8773/services/Admin" + +crux endpoint-create --remove-all \ + -n nova -t compute \ + -I "http://${NOVA_API_SERVICE_HOST}:8774/v2/\$(tenant_id)s" \ + -P "http://${PUBLIC_IP}:8774/v2/\$(tenant_id)s" \ + -A "http://${NOVA_API_SERVICE_HOST}:8774/v2/\$(tenant_id)s" + +crux endpoint-create --remove-all \ + -n novav3 -t computev3 \ + -I "http://${NOVA_API_SERVICE_HOST}:8774/v3" \ + -P "http://${PUBLIC_IP}:8774/v3" \ + -A "http://${NOVA_API_SERVICE_HOST}:8774/v3" + +exec /usr/bin/nova-api --config-file /etc/nova/nova.conf diff --git a/docker/centos/binary/nova-controller/nova-conductor/Dockerfile b/docker/centos/binary/nova-controller/nova-conductor/Dockerfile new file mode 100644 index 000000000..f91113bad --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-conductor/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-conductor && yum clean all + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/centos/binary/nova-controller/nova-conductor/build b/docker/centos/binary/nova-controller/nova-conductor/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-conductor/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/nova-controller/nova-conductor/start.sh b/docker/centos/binary/nova-controller/nova-conductor/start.sh new file mode 100755 index 000000000..5e01b7f30 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-conductor/start.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -e + +. /opt/kolla/config-nova.sh + +check_required_vars NOVA_DB_NAME NOVA_DB_USER NOVA_DB_PASSWORD +fail_unless_db + +cfg=/etc/nova/nova.conf + +# configure logging +crudini --set $cfg DEFAULT log_file "${NOVA_CONDUCTOR_LOG_FILE}" + +mysql -h ${MARIADB_SERVICE_HOST} -u root \ + -p${DB_ROOT_PASSWORD} mysql <<EOF +CREATE DATABASE IF NOT EXISTS ${NOVA_DB_NAME}; +GRANT ALL PRIVILEGES ON ${NOVA_DB_NAME}.* TO + '${NOVA_DB_USER}'@'%' IDENTIFIED BY '${NOVA_DB_PASSWORD}' +EOF + +nova-manage db sync + +exec /usr/bin/nova-conductor --config-file /etc/nova/nova.conf diff --git a/docker/centos/binary/nova-controller/nova-consoleauth/Dockerfile b/docker/centos/binary/nova-controller/nova-consoleauth/Dockerfile new file mode 100644 index 000000000..576c91b5a --- /dev/null +++ b/docker/centos/binary/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/centos/binary/nova-controller/nova-consoleauth/build b/docker/centos/binary/nova-controller/nova-consoleauth/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-consoleauth/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/nova-controller/nova-consoleauth/start.sh b/docker/centos/binary/nova-controller/nova-consoleauth/start.sh new file mode 100755 index 000000000..a1b0864ac --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-consoleauth/start.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +. /opt/kolla/config-nova.sh + +cfg=/etc/nova/nova.conf + +crudini --set $cfg DEFAULT log_file "${NOVA_CONSOLEAUTH_LOG_FILE}" + +echo Starting nova-consoleauth +exec /usr/bin/nova-consoleauth diff --git a/docker/centos/binary/nova-controller/nova-novncproxy/Dockerfile b/docker/centos/binary/nova-controller/nova-novncproxy/Dockerfile new file mode 100644 index 000000000..682625853 --- /dev/null +++ b/docker/centos/binary/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/centos/binary/nova-controller/nova-novncproxy/build b/docker/centos/binary/nova-controller/nova-novncproxy/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-novncproxy/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/nova-controller/nova-novncproxy/start.sh b/docker/centos/binary/nova-controller/nova-novncproxy/start.sh new file mode 100755 index 000000000..9edafbca3 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-novncproxy/start.sh @@ -0,0 +1,22 @@ +#!/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_VNCSERVER_LISTEN_ADDRESS \ + NOVA_VNCSERVER_PROXYCLIENT_ADDRESS + +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 vncserver_listen "${NOVA_VNCSERVER_LISTEN_ADDRESS}" +crudini --set $cfg DEFAULT vncserver_proxyclient_address "${NOVA_VNCSERVER_PROXYCLIENT_ADDRESS}" + +echo Starting nova-novncproxy +exec /usr/bin/nova-novncproxy diff --git a/docker/centos/binary/nova-controller/nova-scheduler/Dockerfile b/docker/centos/binary/nova-controller/nova-scheduler/Dockerfile new file mode 100644 index 000000000..2eec47554 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-scheduler/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-scheduler && yum clean all + +ADD ./start.sh /start.sh +CMD ["/start.sh"] diff --git a/docker/centos/binary/nova-controller/nova-scheduler/build b/docker/centos/binary/nova-controller/nova-scheduler/build new file mode 120000 index 000000000..ec1913803 --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-scheduler/build @@ -0,0 +1 @@ +../../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/centos/binary/nova-controller/nova-scheduler/start.sh b/docker/centos/binary/nova-controller/nova-scheduler/start.sh new file mode 100755 index 000000000..504c049ed --- /dev/null +++ b/docker/centos/binary/nova-controller/nova-scheduler/start.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +. /opt/kolla/config-nova.sh + +check_required_vars NOVA_DB_NAME +fail_unless_db $NOVA_DB_NAME + +cfg=/etc/nova/nova.conf + +# configure logging +crudini --set $cfg DEFAULT log_file "${NOVA_SCHEDULER_LOG_FILE}" + +exec /usr/bin/nova-scheduler --config-file /etc/nova/nova.conf |
