---
- name: Ensuring config directories exist
  become: true
  file:
    path: "{{ node_config_directory }}/nova-compute-fake-{{ item }}"
    state: "directory"
    mode: "0770"
  with_sequence: start=1 end={{ num_nova_fake_per_node }}
  notify:
    - Restart nova-compute-fake containers

- name: Copying over config.json files for services
  become: true
  template:
    src: "nova-compute.json.j2"
    dest: "{{ node_config_directory }}/nova-compute-fake-{{ item }}/config.json"
    mode: "0660"
  with_sequence: start=1 end={{ num_nova_fake_per_node }}
  notify:
    - Restart nova-compute-fake containers

- name: Copying over nova.conf
  become: true
  vars:
    service_name: "{{ item }}"
  merge_configs:
    sources:
      - "{{ role_path }}/templates/nova.conf.j2"
      - "{{ node_custom_config }}/global.conf"
      - "{{ node_custom_config }}/nova.conf"
      - "{{ node_custom_config }}/nova/{{ item }}.conf"
      - "{{ node_custom_config }}/nova/{{ inventory_hostname }}/nova.conf"
    dest: "{{ node_config_directory }}/nova-compute-fake-{{ item }}/nova.conf"
    mode: "0660"
  with_sequence: start=1 end={{ num_nova_fake_per_node }}

- name: Ensuring config directory has correct owner and permission
  become: true
  file:
    path: "{{ node_config_directory }}/nova-compute-fake-{{ item }}"
    recurse: yes
    owner: "{{ config_owner_user }}"
    group: "{{ config_owner_group }}"
  with_sequence: start=1 end={{ num_nova_fake_per_node }}
  notify:
    - Restart nova-compute-fake containers

- name: Check nova-compute-fake containers
  become: true
  kolla_docker:
    action: "compare_container"
    common_options: "{{ docker_common_options }}"
    name: "nova_compute_fake_{{ item }}"
    image: "{{ nova_compute_image_full }}"
    privileged: True
    volumes:
      - "{{ node_config_directory }}/nova-compute-fake-{{ item }}/:{{ container_config_directory }}/:ro"
      - "/etc/localtime:/etc/localtime:ro"
      - "/lib/modules:/lib/modules:ro"
      - "/run:/run:shared"
      - "kolla_logs:/var/log/kolla/"
  with_sequence: start=1 end={{ num_nova_fake_per_node }}
  when:
    - kolla_action != "config"
    - inventory_hostname in groups[nova_cell_compute_group]
    - enable_nova_fake | bool
  notify:
    - Restart nova-compute-fake containers
