Have bootstrap script create the initial endpoint

Due to a few issue that exist between keystone v3 and v2.0 the endpoint
needs to be created as v2.0. If it is created as v3, v2.0 queries will not
see the endpoint.

https://bugs.launchpad.net/keystone/+bug/1470635

Change-Id: Ie7ff88b8cbb23b3ca149cb6e8d5a18a427d22038
Partially-Implements: blueprint ansible-service
This commit is contained in:
Sam Yaple 2015-07-05 11:42:49 +00:00
parent cb7115241b
commit c80a8c282b
5 changed files with 32 additions and 3 deletions

View File

@ -8,6 +8,13 @@
container_environment: container_environment:
KOLLA_BOOTSTRAP: KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
KEYSTONE_ADMIN_PASSWORD: "{{ keystone_admin_password }}"
REGION_NAME: "{{ openstack_region_name }}"
PUBLIC_URL: "http://{{ kolla_external_address }}:{{ keystone_public_port }}/v2.0"
INTERNAL_URL: "http://{{ kolla_internal_address }}:{{ keystone_public_port }}/v2.0"
ADMIN_URL: "http://{{ kolla_internal_address }}:{{ keystone_admin_port }}/v2.0"
OS_TOKEN: "{{ keystone_admin_token }}"
OS_URL: "http://{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:{{ keystone_admin_port }}/v2.0"
container_image: "{{ docker_keystone_image_full }}" container_image: "{{ docker_keystone_image_full }}"
container_name: "bootstrap_keystone" container_name: "bootstrap_keystone"
container_volumes: container_volumes:

View File

@ -3,17 +3,18 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum -y install openstack-keystone \ RUN yum -y install openstack-keystone \
python-keystoneclient \ python-keystoneclient \
python-openstackclient \
httpd \ httpd \
mod_wsgi \ mod_wsgi \
&& yum clean all && yum clean all
RUN mkdir -p /var/www/cgi-bin/keystone RUN mkdir -p /var/www/cgi-bin/keystone /var/log/keystone
RUN cp -a /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d RUN cp -a /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d
RUN sed -i 's,/var/log/apache2,/var/log/httpd,' /etc/httpd/conf.d/wsgi-keystone.conf RUN sed -i 's,/var/log/apache2,/var/log/httpd,' /etc/httpd/conf.d/wsgi-keystone.conf
RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf
RUN cp -a /usr/share/keystone/keystone.wsgi /var/www/cgi-bin/keystone/main RUN cp -a /usr/share/keystone/keystone.wsgi /var/www/cgi-bin/keystone/main
RUN cp -a /usr/share/keystone/keystone.wsgi /var/www/cgi-bin/keystone/admin RUN cp -a /usr/share/keystone/keystone.wsgi /var/www/cgi-bin/keystone/admin
RUN chown -R keystone:keystone /var/www/cgi-bin/keystone RUN chown -R keystone: /var/www/cgi-bin/keystone /var/log/keystone
RUN chmod 755 /var/www/cgi-bin/keystone/* RUN chmod 755 /var/www/cgi-bin/keystone/*
# Add start-up and check scripts # Add start-up and check scripts

View File

@ -15,6 +15,23 @@ set_configs
# of the KOLLA_BOOTSTRAP variable being set, including empty. # of the KOLLA_BOOTSTRAP variable being set, including empty.
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
su -s /bin/sh -c "keystone-manage db_sync" keystone su -s /bin/sh -c "keystone-manage db_sync" keystone
# Start the api to set initial endpoint and users with the admin_token
$CMD
sleep 5
openstack service create --name keystone \
--description "OpenStack Identity" identity
openstack endpoint create --region "${REGION_NAME}" \
--publicurl "${PUBLIC_URL}" \
--internalurl "${INTERNAL_URL}" \
--adminurl "${ADMIN_URL}" identity
openstack project create --description "Admin Project" admin
openstack user create --password "${KEYSTONE_ADMIN_PASSWORD}" admin
openstack role create admin
openstack role add --project admin --user admin admin
exit 0 exit 0
fi fi

View File

@ -65,10 +65,13 @@ neutron_interface: "{{ network_interface }}"
# Openstack options # Openstack options
#################### ####################
openstack_release: "latest" openstack_release: "latest"
openstack_logging_verbose: "True" openstack_logging_verbose: "True"
openstack_logging_debug: "False" openstack_logging_debug: "False"
openstack_region_name: "RegionOne"
keystone_public_port: "5000"
keystone_admin_port: "35357"
#################### ####################
# RabbitMQ options # RabbitMQ options

View File

@ -19,6 +19,7 @@ docker_registry_password:
# Openstack options # Openstack options
#################### ####################
keystone_admin_token: "password" keystone_admin_token: "password"
keystone_admin_password: "password"
keystone_database_password: "password" keystone_database_password: "password"