aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
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: