kolla-ansible/ansible/roles/ironic/tasks/bootstrap.yml
Sam Yaple 6b28343017 Incorrect parsed variable name
database_user_create was not correctly referenced when parsing the
variable names. This could never actually lead to a situation that
reported a false change, but it could break an operation if you were
using the --step option with ansible and skipped the database create
task.

TrivialFix
Backport: Liberty

Change-Id: Idf69fffcc3814f509448ccea11b7d175f074ccf1
2015-11-09 10:47:15 +00:00

70 lines
2.8 KiB
YAML

---
- name: Creating Ironic database
command: docker exec -t kolla_ansible /usr/bin/ansible localhost
-m mysql_db
-a "login_host='{{ database_address }}'
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='{{ database_password }}'
name='{{ ironic_database_name }}'"
register: database
changed_when: "{{ database.stdout.find('localhost | SUCCESS => ') != -1 and (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
failed_when: database.stdout.split()[2] != 'SUCCESS'
run_once: True
- name: Creating Ironic database user and setting permissions
command: docker exec -t kolla_ansible /usr/bin/ansible localhost
-m mysql_user
-a "login_host='{{ database_address }}'
login_port='{{ mariadb_port }}'
login_user='{{ database_user }}'
login_password='{{ database_password }}'
name='{{ ironic_database_name }}'
password='{{ ironic_database_password }}'
host='%'
priv='{{ ironic_database_name }}.*:ALL'
append_privs='yes'"
register: database_user_create
changed_when: "{{ database_user_create.stdout.find('localhost | SUCCESS => ') != -1 and (database_user_create.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
failed_when: database_user_create.stdout.split()[2] != 'SUCCESS'
run_once: True
- name: Starting Ironic bootstrap container
docker:
tty: True
detach: False
net: host
pull: "{{ docker_pull_policy }}"
restart_policy: "no"
state: reloaded
registry: "{{ docker_registry }}"
username: "{{ docker_registry_username }}"
password: "{{ docker_registry_password }}"
insecure_registry: "{{ docker_insecure_registry }}"
name: bootstrap_ironic
image: "{{ ironic_api_image_full }}"
volumes: "{{ node_config_directory }}/ironic-api/:{{ container_config_directory }}/:ro"
env:
KOLLA_BOOTSTRAP:
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
run_once: True
when:
- database.stdout.find('localhost | SUCCESS => ') != -1 and (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
- inventory_hostname in groups['ironic-api']
# https://github.com/ansible/ansible-modules-core/pull/1031
- name: Waiting for Ironic bootstrap container to exit
command: docker wait bootstrap_ironic
run_once: True
when:
- database.stdout.find('localhost | SUCCESS => ') != -1 and (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed
- inventory_hostname in groups['ironic-api']
- name: Cleaning up boostrap container
docker:
tty: True
name: bootstrap_ironic
image: "{{ ironic_api_image_full }}"
state: absent
when: database.stdout.find('localhost | SUCCESS => ') != -1 and (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed