---
# tasks for xos-install role

- name: Install prerequisites
  apt:
    name={{ item }}
    update_cache=yes
    cache_valid_time=3600
  become: yes
  with_items:
   - git
   - make
   - curl
   - python-novaclient
   - python-neutronclient
   - python-keystoneclient
   - python-glanceclient

# ---- copy repos from the dev machine to the head node ----

- name: Create cord destination directory
  become: yes
  file:
    path: "{{ cord_dest_dir }}"
    state: directory
    mode: 0755
    owner: "{{ ansible_user_id }}"

- name: Copy the whole repo tree
  synchronize:
      src: "{{ playbook_dir }}/../../../cord/"
      dest: "{{ cord_dest_dir }}/"

- name: Create directory xos_services
  file:
    path: "{{ ansible_user_dir }}/xos_services"
    state: directory
    mode: 0755

- name: Create directory xos_libraries
  file:
    path: "{{ ansible_user_dir }}/xos_libraries"
    state: directory
    mode: 0755

- name: Create bindings to service-profile and xos
  become: yes
  mount:
      src: "{{ cord_dest_dir }}/orchestration/{{ item }}"
      name: "{{ ansible_user_dir }}/{{ item }}"
      fstype: none
      opts: rw,bind
      state: mounted
  with_items:
      - service-profile
      - xos

- name: Create bindings for xos services
  become: yes
  mount:
      src: "{{ cord_dest_dir }}/orchestration/xos_services/{{ item }}"
      name: "{{ ansible_user_dir }}/xos_services/{{ item }}"
      fstype: none
      opts: rw,bind
      state: mounted
  with_items:
      - exampleservice
      - fabric
      - globalxos
      - hypercache
      - metro-net
      - monitoring
      - onos-service
      - openstack
      - vrouter
      - vsg
      - vtr

- name: Create bindings for xos services that reside in onos
  become: yes
  mount:
      src: "{{ cord_dest_dir }}/onos-apps/apps/{{ item }}"
      name: "{{ ansible_user_dir }}/xos_services/{{ item }}"
      fstype: none
      opts: rw,bind
      state: mounted
  with_items:
      - vtn
      - olt

- name: Create bindings for xos libraries
  become: yes
  mount:
      src: "{{ cord_dest_dir }}/orchestration/xos_libraries/{{ item }}"
      name: "{{ ansible_user_dir }}/xos_libraries/{{ item }}"
      fstype: none
      opts: rw,bind
      state: mounted
  with_items:
      - ng-xos-lib

# ----  alternatively, check out repos from Internet ---

- name: Clone service-profile repo
  git:
    repo={{ service_profile_repo_url }}
    dest={{ service_profile_repo_dest }}
    version={{ service_profile_repo_branch }}
    force=yes
  when:
    False

# ----  install keys ----

- name: Copy over SSH keys
  command: cp ~/.ssh/{{ item }} {{ service_profile_repo_dest }}/{{ xos_configuration }}/
  with_items:
   - id_rsa
   - id_rsa.pub
  tags:
    - skip_ansible_lint

- name: Copy over node key
  command: cp {{ ansible_user_dir }}/node_key {{ service_profile_repo_dest }}/{{ xos_configuration }}/
  tags:
    - skip_ansible_lint

- name: Set ownership and permissions of keys
  file:
    path={{ service_profile_repo_dest }}/{{ xos_configuration }}/{{ item }}
    owner={{ ansible_user_id }}
#    mode=0600
  with_items:
   - id_rsa
   - id_rsa.pub
   - node_key

- name: Create templated TOSCA files
  template:
    src: "{{ item }}.j2"
    dest: "{{ service_profile_repo_dest }}/{{ xos_configuration }}/{{ item }}"
  with_items: "{{ xos_tosca_templates }}"

- name: Download Glance VM images
  get_url:
    url={{ item.url }}
    checksum={{ item.checksum }}
    dest={{ service_profile_repo_dest }}/{{ xos_configuration }}/images/{{ item.name }}.qcow2
  with_items: "{{ xos_images }}"

# ---- pull docker images ----

- name: Check to see if registry is reachable
  command: curl -sf http://docker-registry:5000/
  ignore_errors: yes
  register: docker_registry_check
  tags:
    - skip_ansible_lint

- name: Use registry if it is available
  set_fact:
     docker_registry: "{{ local_docker_registry }}"
     docker_opts: "--insecure-registry {{ local_docker_registry }}"
     docker_tag: "candidate"
  when: docker_registry_check|succeeded

- name: Pull docker images for XOS
  become: yes
  command: docker pull {{ docker_registry }}/{{ item }}:{{ docker_tag }}
  with_items:
    - xosproject/xos-base
    - xosproject/xos-postgres
    - xosproject/cord-app-build
    - redis
    - nginx
    - node
  tags:
    - skip_ansible_lint

- name: Tag the images downloaded from the local registry
  command: docker tag {{ docker_registry }}/{{ item }}:{{ docker_tag }} {{ item }}:latest
  with_items:
    - xosproject/xos-base
    - xosproject/xos-postgres
    - xosproject/cord-app-build
    - redis
    - nginx
  when: docker_registry_check|succeeded

- name: Separately tag the node image with tag argon
  command: docker tag {{ docker_registry }}/node:{{ docker_tag }} node:argon
  when: docker_registry_check|succeeded





