Skip to content
Snippets Groups Projects
bootstrap.yml 2.98 KiB
Newer Older
- name: Creating Nova database
  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
    -m mysql_db
    -a "login_host='{{ database_address }}'
        login_user='{{ database_user }}'
        login_password='{{ database_password }}'
        name='{{ nova_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
Hui Kang's avatar
Hui Kang committed
  delegate_to: "{{ groups['nova-api'][0] }}"
- name: Reading json from variable
  set_fact:
    database_created: "{{ (database.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"

- name: Creating Nova database user and setting permissions
  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
    -m mysql_user
    -a "login_host='{{ database_address }}'
        login_user='{{ database_user }}'
        login_password='{{ database_password }}'
        name='{{ nova_database_name }}'
        password='{{ nova_database_password }}'
        host='%'
        priv='{{ nova_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
Hui Kang's avatar
Hui Kang committed
  delegate_to: "{{ groups['nova-api'][0] }}"
- name: Running Nova bootstrap container
SamYaple's avatar
SamYaple committed
  kolla_docker:
    action: "start_container"
    common_options: "{{ docker_common_options }}"
    detach: False
SamYaple's avatar
SamYaple committed
    environment:
      KOLLA_BOOTSTRAP:
      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
    image: "{{ nova_api_image_full }}"
    labels:
      BOOTSTRAP:
SamYaple's avatar
SamYaple committed
    name: "bootstrap_nova"
    restart_policy: "never"
    volumes: "{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro"
  run_once: True
Hui Kang's avatar
Hui Kang committed
  delegate_to: "{{ groups['nova-api'][0] }}"
  when: database_created

- name: Creating nova-compute volume
  kolla_docker:
    action: "create_volume"
    common_options: "{{ docker_common_options }}"
    name: "nova_compute"
  register: nova_compute_volume
  when:
    - inventory_hostname in groups['compute']
    - not enable_nova_fake | bool

- name: Running Nova compute bootstrap container
  kolla_docker:
    action: "start_container"
    common_options: "{{ docker_common_options }}"
    detach: False
    environment:
      KOLLA_BOOTSTRAP:
      KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
    image: "{{ nova_compute_image_full }}"
    labels:
      BOOTSTRAP:
    name: "bootstrap_nova_compute"
    restart_policy: "never"
    volumes:
      - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
      - "nova_compute:/var/lib/nova/"
  when:
    - inventory_hostname in groups['compute']
    - not enable_nova_fake | bool
    - nova_compute_volume.changed