aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorSamYaple <sam@yaple.net>2016-03-01 14:38:47 +0000
committerSamYaple <sam@yaple.net>2016-03-03 15:44:53 +0000
commit57124620ab633216bb2110670f3b4284ab945cba (patch)
treeb45ebbe263e1370790fac2c9ec3f91aa4e73f64f /docker
parenta2fe37fe89341b395a561f0c1e0f2c0e303d6ed3 (diff)
downloadkolla-57124620ab633216bb2110670f3b4284ab945cba.tar.gz
kolla-57124620ab633216bb2110670f3b4284ab945cba.zip
Fix Keystone v3 and Horizon
After our switch to keystone-manage bootstrap Horizon is not happy due to v3 not being setup correctly. This patch fixes that This also includes removal of unused variables (transforms them into endpoint url variables) TrivialFix Change-Id: I1e04db8c24049f80e974c063f03068a2ab32a563
Diffstat (limited to 'docker')
-rw-r--r--docker/keystone/keystone_bootstrap.sh2
-rw-r--r--docker/kolla-toolbox/Dockerfile.j23
-rw-r--r--docker/kolla-toolbox/kolla_keystone_service.py20
-rw-r--r--docker/kolla-toolbox/kolla_keystone_user.py14
4 files changed, 19 insertions, 20 deletions
diff --git a/docker/keystone/keystone_bootstrap.sh b/docker/keystone/keystone_bootstrap.sh
index 9702f0288..2d6d63ee5 100644
--- a/docker/keystone/keystone_bootstrap.sh
+++ b/docker/keystone/keystone_bootstrap.sh
@@ -17,7 +17,7 @@ REGION=$8
function get_token {
unset OS_TOKEN OS_URL
OS_TOKEN=$(openstack --os-identity-api-version 3 --os-username "${USERNAME}" --os-password "${PASSWORD}" --os-project-name "${PROJECT}" --os-auth-url "${ADMIN_URL}" token issue 2>&1 | awk '/ id / {print $4}')
- OS_URL="${ADMIN_URL}/v3"
+ OS_URL="${ADMIN_URL}"
}
function fail_json {
diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2
index 3a6c5a6a4..d41fe1b1c 100644
--- a/docker/kolla-toolbox/Dockerfile.j2
+++ b/docker/kolla-toolbox/Dockerfile.j2
@@ -48,7 +48,8 @@ RUN git clone https://github.com/ansible/ansible.git \
RUN mkdir -p /etc/ansible /usr/share/ansible /home/ansible \
&& echo 'localhost ansible_connection=local' > /etc/ansible/hosts \
- && useradd --user-group ansible --groups kolla
+ && useradd --user-group ansible --groups kolla \
+ && sed -i 's| "identity_api_version": "2.0",| "identity_api_version": "3",|' /usr/lib/python2.7/site-packages/os_client_config/defaults.json
COPY find_disks.py kolla_keystone_service.py kolla_keystone_user.py kolla_sanity.py kolla_zookeeper.py /usr/share/ansible/
COPY ansible.cfg /home/ansible/.ansible.cfg
diff --git a/docker/kolla-toolbox/kolla_keystone_service.py b/docker/kolla-toolbox/kolla_keystone_service.py
index 3551c2b99..6363042f7 100644
--- a/docker/kolla-toolbox/kolla_keystone_service.py
+++ b/docker/kolla-toolbox/kolla_keystone_service.py
@@ -30,9 +30,8 @@ def main():
description=dict(required=True, type='str'),
service_name=dict(required=True, type='str'),
service_type=dict(required=True, type='str'),
- admin_url=dict(required=True, type='str'),
- internal_url=dict(required=True, type='str'),
- public_url=dict(required=True, type='str'),
+ url=dict(required=True, type='str'),
+ interface=dict(required=True, type='str'),
endpoint_region=dict(required=True, type='str')
)
module = AnsibleModule(argument_spec)
@@ -41,9 +40,8 @@ def main():
description = module.params.pop('description')
service_name = module.params.pop('service_name')
service_type = module.params.pop('service_type')
- admin_url = module.params.pop('admin_url')
- internal_url = module.params.pop('internal_url')
- public_url = module.params.pop('public_url')
+ url = module.params.pop('url')
+ interface = module.params.pop('interface')
endpoint_region = module.params.pop('endpoint_region')
changed = False
@@ -61,7 +59,8 @@ def main():
if service is not None:
for _endpoint in cloud.keystone_client.endpoints.list():
- if _endpoint.service_id == service.id:
+ if _endpoint.service_id == service.id and \
+ _endpoint.interface == interface:
endpoint = _endpoint
else:
service = cloud.keystone_client.services.create(
@@ -72,10 +71,9 @@ def main():
if endpoint is None:
changed = True
cloud.keystone_client.endpoints.create(
- service_id=service.id,
- adminurl=admin_url,
- internalurl=internal_url,
- publicurl=public_url,
+ service=service.id,
+ url=url,
+ interface=interface,
region=endpoint_region)
module.exit_json(changed=changed)
diff --git a/docker/kolla-toolbox/kolla_keystone_user.py b/docker/kolla-toolbox/kolla_keystone_user.py
index 7688e1bd3..f1d7b2bb8 100644
--- a/docker/kolla-toolbox/kolla_keystone_user.py
+++ b/docker/kolla-toolbox/kolla_keystone_user.py
@@ -50,7 +50,7 @@ def main():
module.params['auth'].replace("'", '"'))
cloud = shade.operator_cloud(**module.params)
- for _project in cloud.keystone_client.tenants.list():
+ for _project in cloud.keystone_client.projects.list():
if _project.name == project_name:
project = _project
@@ -64,8 +64,8 @@ def main():
if not project:
changed = True
- project = cloud.keystone_client.tenants.create(
- tenant_name=project_name)
+ project = cloud.keystone_client.projects.create(
+ name=project_name, domain='default')
if not role:
changed = True
@@ -75,10 +75,10 @@ def main():
changed = True
user = cloud.keystone_client.users.create(name=user_name,
password=password,
- tenant_id=project.id)
- cloud.keystone_client.roles.add_user_role(role=role.id,
- user=user.id,
- tenant=project.id)
+ project=project)
+ cloud.keystone_client.roles.grant(role=role,
+ user=user,
+ project=project)
module.exit_json(changed=changed)
except Exception as e: