more complete diagnostic playbook
diff --git a/cord-diag-playbook.yml b/cord-diag-playbook.yml
index 3e7a157..ea06cda 100644
--- a/cord-diag-playbook.yml
+++ b/cord-diag-playbook.yml
@@ -2,7 +2,10 @@
 # Collects diagnostic information for the currently running cord-pod config
 
 - name: Create diag_dir fact
-  set_fact: diag_dir="~/diag-{{ ansible_date_time.iso8601_basic_short }}"
+  hosts: head
+  tasks:
+    - set_fact:
+        diag_dir: "diag-{{ ansible_date_time.iso8601_basic_short }}"
 
 - name: Diagnostics on head node
   hosts: head
@@ -16,9 +19,11 @@
 
 - name: Collect compute node diagnostics on head node
   hosts: compute
-  synchronize:
-    src: "{{ diag_dir }}"
-    dest: "{{ diag_dir }}"
-    recursive: yes
-  delegate_to: "{{ groups['head'][0] }}"
+  tasks:
+    - synchronize:
+        src: "/tmp/{{ hostvars[groups['head'][0]]['diag_dir'] }}/{{ inventory_hostname }}"
+        dest: "~/{{ hostvars[groups['head'][0]]['diag_dir'] }}/"
+        recursive: yes
+        mode: pull
+      delegate_to: "{{ groups['head'][0] }}"