[CORD-1608]
Fix ansible ssh timeout issues

Change-Id: I4dcf8f4b5265023e76fea48011010930cbf9bdff
diff --git a/ansible.cfg b/ansible.cfg
index 1b10379..073b1f5 100644
--- a/ansible.cfg
+++ b/ansible.cfg
@@ -5,5 +5,5 @@
 timeout=30
 
 [ssh_connection]
-ssh_args = -o ControlMaster=auto -o ControlPersist=3s
+ssh_args = -o ControlMaster=auto -o ControlPersist=15s
 
diff --git a/onos-debug-playbook.yml b/onos-debug-playbook.yml
new file mode 100644
index 0000000..fa69836
--- /dev/null
+++ b/onos-debug-playbook.yml
@@ -0,0 +1,20 @@
+---
+# onos-debug-playbook.yml
+# Enables app-specific debugging settings in ONOS
+
+- name: Include vars
+  hosts: head
+  tasks:
+    - name: Include variables
+      include_vars: "{{ item }}"
+      with_items:
+        - "profile_manifests/{{ cord_profile }}.yml"
+        - profile_manifests/local_vars.yml
+
+- name: Enable debugging for onos apps
+  hosts: head
+  roles:
+    - onos-debug
+
+
+
diff --git a/roles/cloudlab-prep/defaults/main.yml b/roles/cloudlab-prep/defaults/main.yml
index 0d37b1c..afc6b38 100644
--- a/roles/cloudlab-prep/defaults/main.yml
+++ b/roles/cloudlab-prep/defaults/main.yml
@@ -7,6 +7,5 @@
 cloudlab_links:
   - { src: /mnt/extra/lxc, dest: /var/lib/lxc  }
   - { src: /mnt/extra/lxd, dest: /var/lib/lxd  }
-  - { src: /mnt/extra/uvtool, dest: /var/lib/uvtool }
   - { src: /mnt/extra/nova, dest: /var/lib/nova }
   - { src: /mnt/extra/juju, dest: /var/lib/juju }
diff --git a/roles/compute-diag/tasks/main.yml b/roles/compute-diag/tasks/main.yml
index 1bbf755..5d7e19d 100644
--- a/roles/compute-diag/tasks/main.yml
+++ b/roles/compute-diag/tasks/main.yml
@@ -9,6 +9,7 @@
 
 - name: Compute node diag collection
   shell: "{{ item }} > /tmp/{{ hostvars[groups['head'][0]]['diag_dir'] }}/{{ inventory_hostname }}/{{ item | regex_replace('[^\\w-]', '_')}}"
+  ignore_errors: yes
   args:
     creates: "compute_diag_dir.stat.path/{{ item | regex_replace('[^\\w-]', '_')}}"
   with_items:
@@ -20,4 +21,6 @@
    - "ifconfig -a"
    - "route -n"
    - "sudo ovs-vsctl show"
+   - "sudo ovs-vsctl get-controller br-int"
+
 
diff --git a/roles/head-diag/tasks/main.yml b/roles/head-diag/tasks/main.yml
index d2e53fb..3adeca6 100644
--- a/roles/head-diag/tasks/main.yml
+++ b/roles/head-diag/tasks/main.yml
@@ -25,7 +25,6 @@
    - "brctl show"
    - "cat /etc/resolv.conf"
    - "cat /etc/lsb-release"
-   - "sudo uvt-kvm list"
    - "sudo virsh list"
    - "sudo lxc list"
    - "sudo docker ps -a"
@@ -74,15 +73,17 @@
   with_items:
    - "apps -s -a"
    - "bundle:list"
-   - "cordvtn-node-check nova-compute-1"
+   - "cordvtn-node-check compute1"
    - "cordvtn-nodes"
    - "cordvtn-networks"
    - "cordvtn-ports"
    - "dhcp-list"
+   - "devices"
    - "flows"
    - "hosts"
    - "log:display"
    - "nodes"
+   - "netcfg"
    - "ports"
    - "summary"
 
diff --git a/roles/onos-debug/defaults/main.yml b/roles/onos-debug/defaults/main.yml
new file mode 100644
index 0000000..ef34ff6
--- /dev/null
+++ b/roles/onos-debug/defaults/main.yml
@@ -0,0 +1,10 @@
+---
+# onos-debug/defaults/main.yml
+
+onos_cord_port: 8102
+
+onos_debug_level: "TRACE"
+
+onos_debug_appnames:
+  - org.opencord.vtn
+
diff --git a/roles/onos-debug/tasks/main.yml b/roles/onos-debug/tasks/main.yml
new file mode 100644
index 0000000..971544c
--- /dev/null
+++ b/roles/onos-debug/tasks/main.yml
@@ -0,0 +1,18 @@
+---
+# onos-debug/tasks/main.yml
+
+- name: Wait for apps to load via profle, and onos-cord container to be accessible via SSH
+  wait_for:
+    host: localhost
+    port: "{{ onos_cord_port }}"
+    search_regex: "SSHD-CORE"
+    delay: 30
+    timeout: 180
+
+- name: Enable ONOS debugging for specific apps
+  shell: "sshpass -p 'karaf' ssh -p {{ onos_cord_port }} karaf@localhost log:set {{ onos_debug_level }} {{ item }}"
+  ignore_errors: yes
+  with_items: "{{ onos_debug_appnames }}"
+  tags:
+    - skip_ansible_lint # collecting docker container names
+