copy repos from dev machine to head node
copy repos from head node to xos VM

Change-Id: Iea85bffa1aa34f3da52dadb08e69ad2ac6e93df2
diff --git a/roles/xos-vm-install/defaults/main.yml b/roles/xos-vm-install/defaults/main.yml
index 42723d9..0944416 100644
--- a/roles/xos-vm-install/defaults/main.yml
+++ b/roles/xos-vm-install/defaults/main.yml
@@ -1,5 +1,7 @@
 ---
 
+orchestration_dest: "~"
+
 xos_repo_url: "https://gerrit.opencord.org/xos"
 xos_repo_dest: "~/xos"
 xos_repo_branch: "HEAD"
diff --git a/roles/xos-vm-install/files/xos-setup-cord-pod-playbook.yml b/roles/xos-vm-install/files/xos-setup-cord-pod-playbook.yml
index 5b646a5..cc5b955 100644
--- a/roles/xos-vm-install/files/xos-setup-cord-pod-playbook.yml
+++ b/roles/xos-vm-install/files/xos-setup-cord-pod-playbook.yml
@@ -21,12 +21,32 @@
        - python-keystoneclient
        - python-glanceclient
 
+    - name: Check to see if xos_install/orchestration directory exists
+      local_action: stat path="{{ playbook_dir }}/xos_install/orchestration"
+      register: orchestration
+
+     # Two methods to install:
+     #   1) If running from cord-in-a-box, then xos_install/orchestration will
+     #      be populated with the checked-out xos repositories, and we can
+     #      now copy them to the XOS VM.
+     #   2) If not running from cord-in-a-box, then xos_install will not
+     #      exist, and we will check out the repos using git.
+
+    - name: Copy repositories to the XOS VM
+      synchronize:
+           src: "{{ playbook_dir }}/xos_install/orchestration/"
+           dest: "{{ orchestration_dest }}"
+      when:
+           orchestration.stat.exists == True
+
     - name: Clone XOS repo
       git:
         repo={{ xos_repo_url }}
         dest={{ xos_repo_dest }}
         version={{ xos_repo_branch }}
         force=yes
+      when:
+          orchestration.stat.exists == False
 
     - name: Clone service-profile repo
       git:
@@ -34,6 +54,8 @@
         dest={{ service_profile_repo_dest }}
         version={{ service_profile_repo_branch }}
         force=yes
+      when:
+        orchestration.stat.exists == False
 
     - name: Copy over SSH keys
       copy:
diff --git a/roles/xos-vm-install/tasks/main.yml b/roles/xos-vm-install/tasks/main.yml
index 5ee7905..2b165e7 100644
--- a/roles/xos-vm-install/tasks/main.yml
+++ b/roles/xos-vm-install/tasks/main.yml
@@ -8,6 +8,21 @@
     src=xos-setup-vars.yml.j2
     dest={{ ansible_user_dir }}/xos-setup-vars.yml
 
+- name: Check to see if orchestration directory exists
+  local_action: stat path="{{ playbook_dir }}/../../orchestration"
+  register: orchestration
+
+- name: Make xos_install directory
+  file: path="{{ ansible_user_dir }}/xos_install" state=directory
+  when: orchestration.stat.exists == True
+
+- name: Copy repositories to the head node
+  synchronize:
+      src: "{{ playbook_dir }}/../../orchestration"
+      dest: "{{ ansible_user_dir }}/xos_install/"
+  when:
+      orchestration.stat.exists == True
+
 - name: Copy over XOS ansible playbook
   copy:
     src=xos-setup-{{ xos_configuration }}-playbook.yml
diff --git a/roles/xos-vm-install/templates/xos-setup-vars.yml.j2 b/roles/xos-vm-install/templates/xos-setup-vars.yml.j2
index de7838e..da40258 100644
--- a/roles/xos-vm-install/templates/xos-setup-vars.yml.j2
+++ b/roles/xos-vm-install/templates/xos-setup-vars.yml.j2
@@ -1,5 +1,7 @@
 ---
 
+orchestration_dest: "{{ orchestration_dest }}"
+
 xos_repo_url: "{{ xos_repo_url }}"
 xos_repo_dest: "{{ xos_repo_dest }}"
 xos_repo_branch: "{{ xos_repo_branch }}"