61 lines
2.3 KiB
YAML
61 lines
2.3 KiB
YAML
# Build and install a docker image for keystone.
|
|
---
|
|
- name: Make persistent directories
|
|
file:
|
|
path: /srv/keystone/fernet-keys
|
|
state: directory
|
|
mode: 0777
|
|
|
|
- set_fact:
|
|
docker_image: webhost12.service.rug.nl/hpc/openstack-keystone:latest
|
|
|
|
- name: pull docker image
|
|
docker_image:
|
|
name: "{{ docker_image }}"
|
|
tags: pull
|
|
|
|
- name: install service file.
|
|
template:
|
|
src: templates/keystone.service
|
|
dest: /etc/systemd/system/keystone.service
|
|
mode: 644
|
|
owner: root
|
|
group: root
|
|
|
|
- name: install service file
|
|
command: systemctl daemon-reload
|
|
|
|
- name: Initialize db
|
|
script: scripts/initialize_db.sh {{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
|
|
|
- name: keystone manage commands to setup db
|
|
command: >
|
|
/usr/bin/docker run --rm
|
|
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
|
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
|
|
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
|
|
{{ docker_image }} keystone-manage {{ item }}
|
|
with_items:
|
|
- db_sync
|
|
- fernet_setup --keystone-user keystone --keystone-group keystone
|
|
- credential_setup --keystone-user keystone --keystone-group keystone
|
|
- >
|
|
bootstrap --bootstrap-password geheim
|
|
--bootstrap-admin-url http://{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}:35357/v3/
|
|
--bootstrap-internal-url http://{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}:35357/v3/
|
|
--bootstrap-public-url http://{{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}:5000/v3/
|
|
--bootstrap-region-id RegionOne
|
|
|
|
- name: make sure service is started
|
|
systemd:
|
|
name: keystone.service
|
|
state: restarted
|
|
|
|
- name: Create a domain, projects users and roles
|
|
command: >
|
|
/usr/bin/docker run --rm
|
|
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['ansible_default_ipv4']['address'] }}
|
|
-v /srv/keystone/fernet-keys:/etc/keystone/fernet-keys
|
|
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address'] }}"
|
|
{{ docker_image }} bash /etc/bootstrap.sh
|