change to using public maven repo instead of local compilation
don't try to use delete onos-load-app role
variable name fix
added onos-app, curl to onos container
use correct name for running xos/onos container
fix path on onos-app in script
rework CORD app loading so it happens from head node
whitespace
Dockerfile cleanup, whitespace
fix variable name
fix paths and executable status on scripts
more path fixing
missing slash

Change-Id: I4b1204d044b12c2cec331a369dc01975f33ee96c
diff --git a/roles/onos-vm-install/defaults/main.yml b/roles/onos-vm-install/defaults/main.yml
index 2a5be99..68d97bb 100644
--- a/roles/onos-vm-install/defaults/main.yml
+++ b/roles/onos-vm-install/defaults/main.yml
@@ -1,2 +1,8 @@
---- 
+---
+# onos-vm-install/defaults/main.yml
+
+trust_store_pw: 222222
+
+onos_docker_image: "onosproject/onos:1.6"
+
 
diff --git a/roles/onos-vm-install/files/Dockerfile.xos-onos b/roles/onos-vm-install/files/Dockerfile.xos-onos
deleted file mode 100644
index 6ac780b..0000000
--- a/roles/onos-vm-install/files/Dockerfile.xos-onos
+++ /dev/null
@@ -1,18 +0,0 @@
-# ONOS dockerfile with XOS additions
-
-#FROM xosproject/onos-fork
-FROM onosproject/onos:1.6
-MAINTAINER Zack Williams <zdw@cs.arizona.edu>
-
-# Include SSL certs
-COPY xos-certs.crt /usr/local/share/ca-certificates/xos-certs.crt
-RUN update-ca-certificates
-
-# Create Java KeyStore from certs
-RUN openssl x509 -in /usr/local/share/ca-certificates/xos-certs.crt -outform der -out /usr/local/share/ca-certificates/xos-certs.der
-RUN keytool -import -noprompt -storepass 222222 -alias xos-certs -file /usr/local/share/ca-certificates/xos-certs.der -keystore /usr/local/share/ca-certificates/xos-certs.jks
-
-# Updated onos-service to use the jks
-COPY onos-service /root/onos/bin/onos-service
-RUN chmod 755 /root/onos/bin/onos-service
-
diff --git a/roles/onos-vm-install/files/onos-setup-playbook.yml b/roles/onos-vm-install/files/onos-setup-playbook.yml
index 4ab44cb..fe33054 100644
--- a/roles/onos-vm-install/files/onos-setup-playbook.yml
+++ b/roles/onos-vm-install/files/onos-setup-playbook.yml
@@ -9,12 +9,13 @@
 
     - name: Create CORD directory
       file:
-        path={{ ansible_user_dir }}/cord
-        state=directory
+        path: "{{ ansible_user_dir }}/cord"
+        state: directory
 
+# Should replace with http://docs.ansible.com/ansible/docker_module.html, when replacements are stable
     - name: Pull docker image for ONOS
       become: yes
-      command: docker pull onosproject/onos:1.6
+      command: "docker pull {{ onos_docker_image }}"
 
 # Setup specific for onos-cord VM
 - hosts: onos-cord-1
@@ -23,22 +24,23 @@
   tasks:
     - name: Copy over SSH key
       copy:
-        src={{ node_private_key }}
-        dest={{ ansible_user_dir }}/cord/node_key
-        owner={{ ansible_user_id }} mode=0600
+        src: "{{ node_private_key }}"
+        dest: "{{ ansible_user_dir }}/cord/node_key"
+        owner: "{{ ansible_user_id }}"
+        mode: 0600
 
     - name: Copy over files to build XOS variant of ONOS
       copy:
-        src="~/{{ item }}"
-        dest="{{ ansible_user_dir }}/cord/{{ item }}"
+        src: "~/{{ item }}"
+        dest: "{{ ansible_user_dir }}/cord/{{ item }}"
       with_items:
        - Dockerfile.xos-onos
        - onos-service
 
     - name: Copy over & rename docker-compose file
       copy:
-        src=~/onos-docker-compose.yml
-        dest={{ ansible_user_dir }}/cord/docker-compose.yml
+        src: "~/onos-docker-compose.yml"
+        dest: "{{ ansible_user_dir }}/cord/docker-compose.yml"
 
 - hosts: onos-fabric-1
   remote_user: ubuntu
@@ -46,5 +48,5 @@
   tasks:
     - name: Copy over & rename docker-compose file
       copy:
-        src=~/fabric-docker-compose.yml
-        dest={{ ansible_user_dir }}/cord/docker-compose.yml
+        src: "~/fabric-docker-compose.yml"
+        dest: "{{ ansible_user_dir }}/cord/docker-compose.yml"
diff --git a/roles/onos-vm-install/tasks/main.yml b/roles/onos-vm-install/tasks/main.yml
index 24b3c43..bd3d073 100644
--- a/roles/onos-vm-install/tasks/main.yml
+++ b/roles/onos-vm-install/tasks/main.yml
@@ -3,25 +3,27 @@
 #
 # Install ONOS on a sub vm by calling ansible
 
-- name: Create a vars file from template
+- name: Create templated ONOS files
   template:
-    src=onos-setup-vars.yml.j2
-    dest={{ ansible_user_dir }}/onos-setup-vars.yml
+    src: "{{ item }}.j2"
+    dest: "{{ ansible_user_dir }}/{{ item }}"
+  with_items:
+    - onos-setup-vars.yml
+    - Dockerfile.xos-onos
+    - onos-service
 
-- name: Copy over ONOS playbook and docker compose files
+- name: Copy over ONOS playbook and other files
   copy:
-    src={{ item }}
-    dest={{ ansible_user_dir }}/{{ item }}
+    src: "{{ item }}"
+    dest: "{{ ansible_user_dir }}/{{ item }}"
   with_items:
     - onos-setup-playbook.yml
     - onos-docker-compose.yml
     - fabric-docker-compose.yml
-    - Dockerfile.xos-onos
-    - onos-service
 
 - name: Run the ONOS ansible playbook
   command: ansible-playbook {{ ansible_user_dir }}/onos-setup-playbook.yml
-  async: 1200
+  async: 1800
   poll: 0
   register: onos_setup_playbook
 
diff --git a/roles/onos-vm-install/templates/Dockerfile.xos-onos.j2 b/roles/onos-vm-install/templates/Dockerfile.xos-onos.j2
new file mode 100644
index 0000000..a9973be
--- /dev/null
+++ b/roles/onos-vm-install/templates/Dockerfile.xos-onos.j2
@@ -0,0 +1,20 @@
+# ONOS dockerfile with XOS/CORD additions
+
+FROM {{ onos_docker_image }}
+MAINTAINER Zack Williams <zdw@cs.arizona.edu>
+
+# Add SSL certs
+COPY xos-certs.crt /usr/local/share/ca-certificates/xos-certs.crt
+RUN update-ca-certificates
+
+# Create Java KeyStore from certs
+RUN openssl x509 -in /usr/local/share/ca-certificates/xos-certs.crt \
+      -outform der -out /usr/local/share/ca-certificates/xos-certs.der && \
+    keytool -import -noprompt -storepass {{ trust_store_pw }} -alias xos-certs \
+      -file /usr/local/share/ca-certificates/xos-certs.der \
+      -keystore /usr/local/share/ca-certificates/xos-certs.jks
+
+# Updated onos-service to use the jks
+COPY onos-service /root/onos/bin/onos-service
+RUN chmod 755 /root/onos/bin/onos-service
+
diff --git a/roles/onos-vm-install/files/onos-service b/roles/onos-vm-install/templates/onos-service.j2
similarity index 94%
rename from roles/onos-vm-install/files/onos-service
rename to roles/onos-vm-install/templates/onos-service.j2
index 7d810c4..7eef6f5 100644
--- a/roles/onos-vm-install/files/onos-service
+++ b/roles/onos-vm-install/templates/onos-service.j2
@@ -10,7 +10,7 @@
 # Do modify the keystore location/password and truststore location/password accordingly
 #export JAVA_OPTS="${JAVA_OPTS:--DenableNettyTLS=true -Djavax.net.ssl.keyStore=/home/ubuntu/onos.jks -Djavax.net.ssl.keyStorePassword=222222 -Djavax.net.ssl.trustStore=/home/ubuntu/onos.jks -Djavax.net.ssl.trustStorePassword=222222}"
 
-export JAVA_OPTS="-Djavax.net.ssl.trustStore=/usr/local/share/ca-certificates/xos-certs.jks -Djavax.net.ssl.trustStorePassword=222222" 
+export JAVA_OPTS="-Djavax.net.ssl.trustStore=/usr/local/share/ca-certificates/xos-certs.jks -Djavax.net.ssl.trustStorePassword={{ trust_store_pw }}" 
 
 set -e  # exit on error
 set -u  # exit on undefined variable
diff --git a/roles/onos-vm-install/templates/onos-setup-vars.yml.j2 b/roles/onos-vm-install/templates/onos-setup-vars.yml.j2
index 9e82c39..0d870f2 100644
--- a/roles/onos-vm-install/templates/onos-setup-vars.yml.j2
+++ b/roles/onos-vm-install/templates/onos-setup-vars.yml.j2
@@ -1,2 +1,7 @@
 ---
+# onos-vm-install/templates/onos-setup-vars.yml.j2
+
 node_private_key: "{{ ansible_user_dir }}/node_key"
+
+onos_docker_image: "{{ onos_docker_image }}"
+