diff --git a/docker/fedora-rdo-base/kolla-common.sh b/docker/fedora-rdo-base/kolla-common.sh index b625588b3e..b917ebd68d 100644 --- a/docker/fedora-rdo-base/kolla-common.sh +++ b/docker/fedora-rdo-base/kolla-common.sh @@ -44,6 +44,34 @@ check_for_keystone() { echo "keystone is active @ $KEYSTONE_URL" } +# Exit unless we receive a successful response from the Nova API. +check_for_nova() { + check_required_vars NOVA_API_SERVICE_HOST + + NOVA_API_URL="http://${NOVA_API_SERVICE_HOST}:8774" + + curl -sf -o /dev/null "$NOVA_API_URL" || { + echo "ERROR: nova is not available @ $NOVA_API_URL" >&2 + exit 1 + } + + echo "nova is active @ $NOVA_API_URL" +} + +# Exit unless we receive a successful response from the Neutron API. +check_for_neutron() { + check_required_vars NEUTRON_API_SERVICE_HOST + + NEUTRON_API_URL="http://${NEUTRON_SERVER_SERVICE_HOST}:9696" + + curl -sf -o /dev/null "$NEUTRON_API_URL" || { + echo "ERROR: neutron is not available @ $NEUTRON_API_URL" >&2 + exit 1 + } + + echo "neutron is active @ $NEUTRON_API_URL" +} + # Exit unless we receive a successful response from the database server. check_for_db() { check_required_vars MARIADB_SERVICE_HOST DB_ROOT_PASSWORD diff --git a/docker/horizon/Dockerfile b/docker/horizon/Dockerfile new file mode 100644 index 0000000000..71785aad0e --- /dev/null +++ b/docker/horizon/Dockerfile @@ -0,0 +1,11 @@ +FROM kollaglue/fedora-rdo-base +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum -y install \ + openstack-dashboard && yum clean all + +EXPOSE 80 + +ADD ./start.sh /start.sh + +CMD ["/start.sh"] diff --git a/docker/horizon/build b/docker/horizon/build new file mode 120000 index 0000000000..d2accf7d39 --- /dev/null +++ b/docker/horizon/build @@ -0,0 +1 @@ +../../tools/build-docker-image \ No newline at end of file diff --git a/docker/horizon/start.sh b/docker/horizon/start.sh new file mode 100755 index 0000000000..d51cac6551 --- /dev/null +++ b/docker/horizon/start.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +: ${HORIZON_KEYSTONE_USER:=horizon} + +. /opt/kolla/kolla-common.sh + +check_required_vars HORIZON_KEYSTONE_USER + +check_for_keystone +check_for_glance +check_for_nova +check_for_neutron + +cfg=/etc/openstack-dashboard/local_settings + +sed -ri 's/#ALLOWED_HOSTS = \['\''horizon.example.com'\'', '\''localhost'\''\]/ALLOWED_HOSTS = \['\''*'\'', \]/' /etc/openstack-dashboard/local_settings + +sed -ri 's/OPENSTACK_KEYSTONE_URL = \"http:\/\/%s:5000\/v2.0\" % OPENSTACK_HOST/OPENSTACK_KEYSTONE_URL = \"http:\/\/'"$KEYSTONE_PUBLIC_SERVICE_HOST"':5000\/v2.0\"/' /etc/openstack-dashboard/local_settings + +sed -ri 's/OPENSTACK_HOST = \"127.0.0.1\"/OPENSTACK_HOST = \"'"$KEYSTONE_PUBLIC_SERVICE_HOST"'\" /' /etc/openstack-dashboard/local_settings + +/bin/keystone role-create --name ${HORIZON_KEYSTONE_USER} diff --git a/k8s/pod/horizon-pod.yaml b/k8s/pod/horizon-pod.yaml new file mode 100644 index 0000000000..a7f64c22e8 --- /dev/null +++ b/k8s/pod/horizon-pod.yaml @@ -0,0 +1,13 @@ +desiredState: + manifest: + containers: + - env: + image: kollaglue/fedora-rdo-horizon + name: horizon + ports: + - containerPort: 80 + id: horizon-1 + version: v1beta1 +id: horizon +labels: + name: horizon diff --git a/k8s/service/horizon-service.yaml b/k8s/service/horizon-service.yaml new file mode 100644 index 0000000000..7b03b56847 --- /dev/null +++ b/k8s/service/horizon-service.yaml @@ -0,0 +1,7 @@ +apiVersion: v1beta1 +containerPort: 80 +id: horizon +kind: Service +port: 80 +selector: + name: horizon diff --git a/tools/start-all-pods b/tools/start-all-pods index 3d7df36aac..f22e85c158 100755 --- a/tools/start-all-pods +++ b/tools/start-all-pods @@ -14,6 +14,7 @@ heat mongodb ceilometer-controller zaqar +horizon ' for pod in $pods; do diff --git a/tools/start-all-services b/tools/start-all-services index c2875bb004..a78e9b1862 100755 --- a/tools/start-all-services +++ b/tools/start-all-services @@ -18,6 +18,7 @@ rabbitmq neutron-server heat-api zaqar-server +horizon ' for svc in $services; do