# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Note: When the target == "cluster" the installer
# is running to install voltha in the cluster hosts.
# Whe the target == "installer" the installer is being
# created.
- name: VOLT-HA Config | The environment is properly set on login
  template:
    src: bashrc.j2
    dest: "{{ target_voltha_home }}/.bashrc"
    owner: voltha
    group: voltha
    mode: "u=rw,g=r,o=r"
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | The .bashrc file is executed on ssh login
  template:
    src: bash_profile.j2
    dest: "{{ target_voltha_home }}/.bash_profile"
    owner: voltha
    group: voltha
    mode: "u=rw,g=r,o=r"
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Required directory exists
  file:
    path: "{{ target_voltha_home }}"
    state: directory
    owner: voltha
    group: voltha
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Configuration files and directories are copied
  synchronize:
    src: "{{ install_source }}/{{ item }}"
    dest: "{{ target_voltha_home }}"
    archive: no
    owner: no
    perms: no
    recursive: yes
    links: yes
  with_items:
    - k8s
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Configuration directories are owned by voltha
  file:
    path: "{{ target_voltha_home }}/{{ item }}"
    owner: voltha
    group: voltha
    recurse: yes
    follow: no
  with_items:
    - k8s
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Docker containers for Voltha are pulled
  command: docker pull {{ docker_registry }}/{{ item }}
  with_items: "{{ voltha_containers }}"
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Docker images are re-tagged to expected names
  command: docker tag {{ docker_registry }}/{{ item }} {{ item }}
  with_items: "{{ voltha_containers }}"
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Docker images are re-tagged to cluster registry names
  command: docker tag {{ docker_registry }}/{{ item }} {{ inventory_hostname }}:5001/{{ item }}
  with_items: "{{ voltha_containers }}"
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Disable all swaps
  command: swapoff -a
  when: target == "cluster"
  tags: [voltha]

- name: VOLT-HA Config | Comment out swap partitions from /etc/fstab
  command: sed -i -e 's/^\/.* swap .*/#&/' /etc/fstab
  when: target == "cluster"
  tag: [voltha]
