diff options
Diffstat (limited to 'docker')
| -rw-r--r-- | docker/keystone/keystone_bootstrap.sh | 2 | ||||
| -rw-r--r-- | docker/kolla-toolbox/Dockerfile.j2 | 3 | ||||
| -rw-r--r-- | docker/kolla-toolbox/kolla_keystone_service.py | 20 | ||||
| -rw-r--r-- | docker/kolla-toolbox/kolla_keystone_user.py | 14 |
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: |
