aboutsummaryrefslogtreecommitdiffstats
path: root/.gitignore
blob: 3d7aded8c16948e97232380ef6b1719c7812073c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
*.py[cod]

# C extensions
*.so

# Packages
*.egg
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
lib
lib64

# Installer logs
pip-log.txt

# Unit test / coverage reports
.coverage
.tox
nosetests.xml

# Translations
*.mo

# Mr Developer
.mr.developer.cfg
.project
.pydevproject

*~
*.swp
*.bundle
Gemfile.lock

doc/_build

# Built by pbr (python setup.py sdist):
AUTHORS
ChangeLog
d2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
##############################################################################
# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
#
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
- include_vars: "{{ ansible_os_family }}.yml"

- name: keystone-manage db-sync
  shell: su -s /bin/sh -c 'keystone-manage db_sync' keystone

- name: Check if fernet keys already exist
  stat:
    path: "/etc/keystone/fernet-keys/0"
  register: fernet_keys_0

- name: Create fernet keys for Keystone
  command:
    keystone-manage fernet_setup
      --keystone-user keystone
      --keystone-group keystone
  when: not fernet_keys_0.stat.exists
  notify:
    - restart keystone services

- name: Rotate fernet keys for Keystone
  command:
    keystone-manage fernet_rotate
      --keystone-user keystone
      --keystone-group keystone
  when: fernet_keys_0.stat.exists
  notify:
    - restart keystone services

- name: Distribute the fernet key repository
  shell: |
    rsync -e 'ssh -o StrictHostKeyChecking=no' \
        -avz \
        --delete \
        /etc/keystone/fernet-keys \
        root@{{ hostvars[ item ].ansible_eth0.ipv4.address }}:/etc/keystone/
  with_items: "{{ groups['controller'][1:] }}"
  notify:
    - restart keystone services

- name: Check if credential keys already exist
  stat:
    path: "/etc/keystone/credential-keys/0"
  register: credential_keys_0

- name: Create credential keys for Keystone
  command:
    keystone-manage credential_setup
      --keystone-user keystone
      --keystone-group keystone
  when: not credential_keys_0.stat.exists
  notify:
    - restart keystone services

- name: Rotate credential keys for Keystone
  command:
    keystone-manage credential_rotate
      --keystone-user keystone
      --keystone-group keystone
  when: credential_keys_0.stat.exists
  notify:
    - restart keystone services

- name: Distribute the credential key repository
  shell: |
    rsync -e 'ssh -o StrictHostKeyChecking=no' \
        -avz \
       --delete \
       /etc/keystone/credential-keys \
       root@{{ hostvars[ item ].ansible_eth0.ipv4.address }}:/etc/keystone/
  with_items: "{{ groups['controller'][1:] }}"
  notify:
    - restart keystone services

- name: Bootstrap the Identity service
  shell:
    keystone-manage bootstrap \
      --bootstrap-password {{ ADMIN_PASS }} \
      --bootstrap-admin-url http://{{ internal_ip }}:35357/v3/ \
      --bootstrap-internal-url http://{{ internal_ip }}:35357/v3/ \
      --bootstrap-public-url http://{{ internal_ip }}:5000/v3/
      --bootstrap-region-id RegionOne \
  notify:
    - restart keystone services

- meta: flush_handlers

- name: wait for keystone ready
  wait_for: port=35357 delay=15 timeout=60 host={{ internal_ip }}