diff --git a/roles/easy-rsa-CA/tasks/buildCA.yml b/roles/easy-rsa-CA/tasks/buildCA.yml
index 671ef4e8eb3801d4442834f2a7eea94fa322b13d..e0df29a7e305083ac88049f9fdb21dfe824d7a71 100644
--- a/roles/easy-rsa-CA/tasks/buildCA.yml
+++ b/roles/easy-rsa-CA/tasks/buildCA.yml
@@ -1,7 +1,12 @@
 --- 
 - 
   name: "Building the CA Certificate"
-  shell: ' cd /etc/easy-rsa/2.0; source ./vars; ./clean-all;  export EASY_RSA="${EASY_RSA:-.}"; "$EASY_RSA/pkitool" --initca $*'
+  shell: ' bash -c " cd /etc/easy-rsa/2.0; source ./vars; ./clean-all;  export EASY_RSA=/etc/easy-rsa/2.0; /etc/easy-rsa/2.0/pkitool --initca $* "'
   args:
     creates: /etc/easy-rsa/2.0/keys/ca.crt
+  register: initca
   sudo: True
+
+- name: debug
+  debug: var=initca
+
diff --git a/roles/ldapserver/tasks/main.yml b/roles/ldapserver/tasks/main.yml
index 41631b452680e59475e3bd65229f7d23123094cf..ceb1f22788d72fda851752385a3ddc2b9419c6a0 100644
--- a/roles/ldapserver/tasks/main.yml
+++ b/roles/ldapserver/tasks/main.yml
@@ -28,6 +28,12 @@
 - name: template manager.ldif
   template: src=manager_ldif.j2 dest=/tmp/manager.ldif mode=600
   sudo: true
+- name: template manager2.ldif
+  template: src=manager_ldif2.j2 dest=/tmp/manager2.ldif mode=600
+  sudo: true
+- name: template manager3.ldif
+  template: src=manager_ldif3.j2 dest=/tmp/manager3.ldif mode=600
+  sudo: true
 
 - name: template binddn.ldif
   template: src=binddn_ldif.j2 dest=/tmp/binddn.ldif mode=600
@@ -57,21 +63,32 @@
 - name: template default_ppolicy.ldif
   template: src=default_ppolicy_ldif.j2 dest=/tmp/default_ppolicy.ldif
 
+- name: make cert dir
+  file: path={{ ldapcert | dirname }} state=directory owner={{ ldapuser }} group={{ ldapgroup }}
+  sudo: true
+
+- name: make key dir
+  file: path={{ ldapkey | dirname }} state=directory owner={{ ldapuser }} group={{ ldapgroup }}
+  sudo: true
+
+- name: make ca dir
+  file: path={{ cacert | dirname }} state=directory owner={{ ldapuser }} group={{ ldapgroup }}
+  sudo: true
 
 - name: copy cert
-  command: cp /etc/ssl/certs/server.crt /etc/openldap/certs/ldapcert.pem
+  command: cp /etc/ssl/certs/server.crt {{ ldapcert }}
   sudo: true
 
 - name: copy cacert
-  command: cp /etc/ssl/certs/ca.crt /etc/openldap/certs/cacert.pem
+  command: cp /etc/ssl/certs/ca.crt {{ cacert }}
   sudo: true
 
 - name: copy key
-  command: cp /etc/ssl/private/server.key /etc/openldap/certs/ldapkey.pem
+  command: cp /etc/ssl/private/server.key {{ ldapkey }}
   sudo: true
 
 - name: chmod key
-  file: path=/etc/openldap/certs/ldapkey.pem owner={{ ldapuser }} group={{ ldapgroup }} mode=600
+  file: path={{ ldapkey }} owner={{ ldapuser }} group={{ ldapgroup }} mode=600
   sudo: true
 
 - name: enable ssl centos
@@ -84,7 +101,7 @@
   sudo: true
 
 - name: check TLS config
-  shell: "slapcat -b cn=config | grep 'olcTLSCertificateKeyFile: /etc/openldap/certs/ldapkey.pem'"
+  shell: "slapcat -b cn=config | grep 'olcTLSCertificateKeyFile: {{ ldapkey }}'"
   ignore_errors: true
   sudo: true
   register: tlsConfigured
@@ -133,6 +150,15 @@
   shell:  ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/manager.ldif -D cn=config 
   sudo: true
   when: managerConfigured|failed
+- name: initialise server manager
+  shell:  ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/manager2.ldif -D cn=config 
+  sudo: true
+  ignore_errors: true
+  when: managerConfigured|failed
+- name: initialise server manager
+  shell:  ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/manager3.ldif -D cn=config 
+  sudo: true
+  when: managerConfigured|failed
 
 - name: initialise server acls
   shell:  ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/acls.ldif -D cn=config
diff --git a/roles/ldapserver/templates/acls_ldif.j2 b/roles/ldapserver/templates/acls_ldif.j2
index c9df71971300ed28b1a06cff14f346c36dca8524..58a7bc074e234660600c8b1248c4b3ac1a546d4c 100644
--- a/roles/ldapserver/templates/acls_ldif.j2
+++ b/roles/ldapserver/templates/acls_ldif.j2
@@ -1,4 +1,4 @@
-dn: olcDatabase={2}bdb,cn=config
+dn: {{ dbname }},cn=config
 changetype: modify
 add: olcAccess
 olcAccess: {0}to attrs=userPassword by dn="{{ ldapManager }}" write by self write by * auth
diff --git a/roles/ldapserver/templates/manager_ldif.j2 b/roles/ldapserver/templates/manager_ldif.j2
index 5cdf02169cbc2dc0e6cffc01122349fbc1cac325..d6898024803889b30d4e23108ac5ea8e0d87559c 100644
--- a/roles/ldapserver/templates/manager_ldif.j2
+++ b/roles/ldapserver/templates/manager_ldif.j2
@@ -1,10 +1,7 @@
-dn: olcDatabase={2}bdb,cn=config
+dn: {{ dbname }},cn=config
 changetype: modify
 replace: olcSuffix
 olcSuffix: {{ ldapDomain }}
 -
 replace: olcRootDN
 olcRootDN: {{ ldapManager }}
--
-add: olcRootPW
-olcRootPW: {{ ldapManagerHash.stdout }}
diff --git a/roles/ldapserver/templates/manager_ldif2.j2 b/roles/ldapserver/templates/manager_ldif2.j2
new file mode 100644
index 0000000000000000000000000000000000000000..48f43a07b727f442739a68aa307000d31a5c7635
--- /dev/null
+++ b/roles/ldapserver/templates/manager_ldif2.j2
@@ -0,0 +1,4 @@
+dn: {{ dbname }},cn=config
+changetype: modify
+add: olcRootPW
+olcRootPW: {{ ldapManagerHash.stdout }}
diff --git a/roles/ldapserver/templates/manager_ldif3.j2 b/roles/ldapserver/templates/manager_ldif3.j2
new file mode 100644
index 0000000000000000000000000000000000000000..ee4592d2d2e0b2c052fbf65e73cee7a7b67de2b0
--- /dev/null
+++ b/roles/ldapserver/templates/manager_ldif3.j2
@@ -0,0 +1,4 @@
+dn: {{ dbname }},cn=config
+changetype: modify
+replace: olcRootPW
+olcRootPW: {{ ldapManagerHash.stdout }}
diff --git a/roles/ldapserver/templates/ppolicy_overlay_ldif.j2 b/roles/ldapserver/templates/ppolicy_overlay_ldif.j2
index 942c69c71ac8ab1c0a52e0079a25054e04a69f38..43d27e6e5dff0025e8a0de2302ee5e8b631971c1 100644
--- a/roles/ldapserver/templates/ppolicy_overlay_ldif.j2
+++ b/roles/ldapserver/templates/ppolicy_overlay_ldif.j2
@@ -1,4 +1,4 @@
-dn: olcOverlay=ppolicy,olcDatabase={2}bdb,cn=config
+dn: olcOverlay=ppolicy,{{ dbname }},cn=config
 olcOverlay: ppolicy
 objectClass: olcOverlayConfig
 objectClass: olcPPolicyConfig
diff --git a/roles/ldapserver/templates/ssl_ldif.j2 b/roles/ldapserver/templates/ssl_ldif.j2
index 9d7d804385cc6b167bc9c9ca24b7c6fb41ebc7f4..b60604c40e2b185d7c0001cd30ada14b41eb405a 100644
--- a/roles/ldapserver/templates/ssl_ldif.j2
+++ b/roles/ldapserver/templates/ssl_ldif.j2
@@ -1,9 +1,9 @@
 dn: cn=config
 replace: olcTLSCACertificateFile
-olcTLSCACertificateFile: /etc/openldap/certs/cacert.pem
+olcTLSCACertificateFile: {{ cacert }}
 -
 replace: olcTLSCertificateFile
-olcTLSCertificateFile: /etc/openldap/certs/ldapcert.pem
+olcTLSCertificateFile:  {{ ldapcert }}
 -
 replace: olcTLSCertificateKeyFile
-olcTLSCertificateKeyFile: /etc/openldap/certs/ldapkey.pem
+olcTLSCertificateKeyFile: {{ ldapkey }}
diff --git a/roles/ldapserver/vars/CentOS_6.6_x86_64.yml b/roles/ldapserver/vars/CentOS_6.6_x86_64.yml
index f7898718dcef361447091f6a9b474a6505bd3343..6df1376a24b1c49c05ce26eff64e46fd1a7b7577 100644
--- a/roles/ldapserver/vars/CentOS_6.6_x86_64.yml
+++ b/roles/ldapserver/vars/CentOS_6.6_x86_64.yml
@@ -3,3 +3,6 @@
   - openldap-servers
   - openldap-clients
   - openssl
+ ldapuser:  ldap
+ ldapgroup: ldap
+ dbname: olcDatabase={2}bdb
diff --git a/roles/ldapserver/vars/Debian_7.6_x86_64.yml b/roles/ldapserver/vars/Debian_7.6_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..98b6629d99403a8c5132238cda09e46273cfab90
--- /dev/null
+++ b/roles/ldapserver/vars/Debian_7.6_x86_64.yml
@@ -0,0 +1,9 @@
+---
+ system_packages:
+  - slapd
+  - ldap-utils
+  - openssl
+
+ ldapuser: openldap
+ ldapgroup: openldap
+ dbname: olcDatabase={1}hdb
diff --git a/roles/ldapserver/vars/main.yml b/roles/ldapserver/vars/main.yml
index 45af19775f162034555d25a5a4eba04c3c82fa6a..38cf871d127b1287cf0811c4f34f4e4601717630 100644
--- a/roles/ldapserver/vars/main.yml
+++ b/roles/ldapserver/vars/main.yml
@@ -1,3 +1,4 @@
 ---
-  ldapuser:  ldap
-  ldapgroup: ldap
+  ldapcert: /etc/openldap/certs/ldapcert.pem
+  ldapkey: /etc/openldap/certs/ldapkey.pem
+  cacert: /etc/openldap/certs/cacert.pem
diff --git a/roles/strudel_build/tasks/main.yml b/roles/strudel_build/tasks/main.yml
index 53cd02937ac5c9c43395647475eb6366c8f3d92e..c7e31d4477d37bb09f450f21137f342b37bcc658 100644
--- a/roles/strudel_build/tasks/main.yml
+++ b/roles/strudel_build/tasks/main.yml
@@ -1,6 +1,21 @@
 ---
 
-- include_vars: "{{ hostvars[ansible_hostname]['ansible_distribution'] }}_{{ hostvars[ansible_hostname]['ansible_distribution_version'] }}_{{ ansible_architecture }}.yml"
+#- include_vars: "{{ hostvars[ansible_hostname]['ansible_distribution'] }}_{{ hostvars[ansible_hostname]['ansible_distribution_major_version'] }}_{{ ansible_architecture }}.yml"
+- include_vars: "{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ ansible_architecture }}.yml"
+
+- name: add epel on CentOS 7
+  shell: rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
+  sudo: true
+  when: ansible_distribution == "CentOS" and ansible_distribution_major_version == "7"
+  ignore_errors: true
+
+- name: add epel on CentOS 7
+  shell: yum -y update
+  sudo: true
+  when: ansible_distribution == "CentOS" and ansible_distribution_major_version == "7"
+
+
+
 
 - name: install system packages apt
   apt: name={{ item }} state=installed update_cache=true
@@ -35,8 +50,11 @@
 - name: build
   shell: /tmp/strudel/{{ build_launcher }} chdir=/tmp/strudel
 
-- name: scan host
-  shell: ssh-keyscan cvl.massive.org.au >> ~/.ssh/known_hosts
+#- name: remove old host key
+#  shell: ssh-keygen -f "/home/ubuntu/.ssh/known_hosts" -R 118.138.240.227
+#
+#- name: scan host
+#  shell: ssh-keyscan cvl.massive.org.au >> ~/.ssh/known_hosts
 
 - name: ls package
   shell: ls -l /tmp/strudel/{{ pkg_name }}
@@ -46,5 +64,8 @@
 #  when: ansible_os_family == 'Debian'
 
 - name: copy package
-  shell: rsync {{ hostvars[ansible_hostname]['ansible_user_id'] }}@{{ ansible_ssh_host }}:/tmp/strudel/{{ pkg_name }} /tmp/{{ dest_pkg_name }}
-  delegate_to: 127.0.0.1
+  fetch: src=/tmp/strudel/{{ pkg_name }} dest=/tmp/{{ dest_pkg_name }} flat=yes
+
+#- name: copy package
+#  shell: rsync {{ hostvars[ansible_hostname]['ansible_user_id'] }}@{{ ansible_ssh_host }}:/tmp/strudel/{{ pkg_name }} /tmp/{{ dest_pkg_name }}
+#  delegate_to: 127.0.0.1
diff --git a/roles/strudel_build/vars/CentOS_6_x86_64.yml b/roles/strudel_build/vars/CentOS_6_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..650e1d8e93fa3ae7468486a5eabbdd4d5d8b215d
--- /dev/null
+++ b/roles/strudel_build/vars/CentOS_6_x86_64.yml
@@ -0,0 +1,73 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gtkglext-libs
+   - gtkglext-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - PackageKit-gtk-module
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-{{ strudel_ver }}-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.rpm
diff --git a/roles/strudel_build/vars/CentOS_7_x86_64.yml b/roles/strudel_build/vars/CentOS_7_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a2a585dfa9ec102c64359f0755abadbfb5c3b66b
--- /dev/null
+++ b/roles/strudel_build/vars/CentOS_7_x86_64.yml
@@ -0,0 +1,70 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-{{ strudel_ver }}-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.rpm
diff --git a/roles/strudel_build/vars/Debian_7_x86_64.yml b/roles/strudel_build/vars/Debian_7_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cee7439e3f683acbc076b9552e97eed9a3ac8a96
--- /dev/null
+++ b/roles/strudel_build/vars/Debian_7_x86_64.yml
@@ -0,0 +1,20 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_ubuntu_64bit_prerequisites.sh
+ build_launcher: "package_ubuntu_version.sh"
+ system_packages:
+   - git
+   - curl
+   - gcc
+   - python-dev
+   - libwxgtk2.8-dev
+   - python-wxgtk2.8
+   - python-pexpect
+   - python-paramiko
+   - python-pycryptopp
+   - python-appdirs
+ pip_packages:
+   - requests
+ pkg_name: strudel_UBUNTU_{{ strudel_ver }}_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}x86_64.deb
+
diff --git a/roles/strudel_build/vars/Fedora_20_x86_64.yml b/roles/strudel_build/vars/Fedora_20_x86_64.yml
index a250e49d5b511b6a62097b90dcfa96e9ca2bca32..2e3f8e6d311c8e8242fee2f3bc650cb532aa048d 100644
--- a/roles/strudel_build/vars/Fedora_20_x86_64.yml
+++ b/roles/strudel_build/vars/Fedora_20_x86_64.yml
@@ -1,4 +1,5 @@
 ---
+ strudel_ver: "20150417"
  install_prerequisites: install_centos6_64bit_prerequisites.sh
  build_launcher: package_centos_version.sh
  pip_packages:
@@ -67,5 +68,5 @@
 
 
  
- pkg_name: ./rpmbuild/RPMS/x86_64/strudel-0.6.0-1.x86_64.rpm
- dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.rpm
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-{{ strudel_ver }}-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.rpm
diff --git a/roles/strudel_build/vars/Ubuntu_12_x86_64.yml b/roles/strudel_build/vars/Ubuntu_12_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6682116c8e3b5953adcafe5ff560ac3a003cb77b
--- /dev/null
+++ b/roles/strudel_build/vars/Ubuntu_12_x86_64.yml
@@ -0,0 +1,21 @@
+---
+ strudel_ver: "20150417"
+ build_launcher: "package_ubuntu_version.sh"
+ pip_packages:
+   - appdirs
+   - requests
+ system_packages:
+   - git
+   - curl
+   - gcc
+   - python-dev
+   - libwxgtk2.8-dev
+   - python-wxgtk2.8
+   - python-pexpect
+   - python-paramiko
+   - python-pycryptopp
+   - python-pip
+   - python-psutil
+ pkg_name: strudel_UBUNTU_{{ strudel_ver }}_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.deb
+
diff --git a/roles/strudel_build/vars/Ubuntu_14.04_x86_64.yml b/roles/strudel_build/vars/Ubuntu_14_x86_64.yml
similarity index 73%
rename from roles/strudel_build/vars/Ubuntu_14.04_x86_64.yml
rename to roles/strudel_build/vars/Ubuntu_14_x86_64.yml
index 63919c52f055f45759435d35dec8645282c960f5..0d4a263cdaa49b5a427fc762cf8181260d99194d 100644
--- a/roles/strudel_build/vars/Ubuntu_14.04_x86_64.yml
+++ b/roles/strudel_build/vars/Ubuntu_14_x86_64.yml
@@ -1,4 +1,5 @@
 ---
+ strudel_ver: "20150417"
  install_prerequisites: install_ubuntu_64bit_prerequisites.sh
  build_launcher: "package_ubuntu_version.sh"
  system_packages:
@@ -13,6 +14,6 @@
    - python-pycryptopp
    - python-appdirs
    - python-requests
- pkg_name: strudel_UBUNTU_0.6.0_amd64.deb
- dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.deb
+ pkg_name: strudel_UBUNTU_{{ strudel_ver }}_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.deb
 
diff --git a/roles/strudel_test/meta/main.yml b/roles/strudel_test/meta/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cd21505a47e530a967e3c44bd2a772d1b8d08bd7
--- /dev/null
+++ b/roles/strudel_test/meta/main.yml
@@ -0,0 +1,2 @@
+---
+
diff --git a/roles/strudel_test/tasks/main.yml b/roles/strudel_test/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2810aa0a4dfc02243d8cbd4de956cb6218232f24
--- /dev/null
+++ b/roles/strudel_test/tasks/main.yml
@@ -0,0 +1,34 @@
+---
+- include_vars: "{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ ansible_architecture }}.yml"
+
+- name: get turbovnc
+  shell: wget http://sourceforge.net/projects/turbovnc/files/1.2.3/turbovnc_1.2.3_amd64.deb 
+  when: ansible_os_family == "Debian"
+
+- name: install turobvnc
+  apt: deb=turbovnc_1.2.3_amd64.deb
+  sudo: true
+  when: ansible_os_family == "Debian"
+
+- name: get turbovnc
+  shell: wget http://sourceforge.net/projects/turbovnc/files/1.2.3/turbovnc-1.2.3.x86_64.rpm
+  when: ansible_os_family == "RedHat"
+
+- name: install turobvnc
+  yum: src=turbovnc-1.2.3.x86_64.rpm
+  sudo: true
+  when: ansible_os_family == "RedHat"
+
+- name: copy launcher
+  copy: src=/tmp/{{ dest_pkg_name }} dest=/tmp/{{ dest_pkg_name }}
+
+- name: install launhcer
+  apt: deb=/tmp/{{ dest_pkg_name }} 
+  sudo: true
+  when: ansible_os_family == "Debian"
+
+- name: install launcher
+  yum: src=/tmp/{{ dest_pkg_name }}
+  sudo: true
+  when: ansible_os_family == "RedHat"
+
diff --git a/roles/strudel_test/vars/CentOS_6_x86_64.yml b/roles/strudel_test/vars/CentOS_6_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..650e1d8e93fa3ae7468486a5eabbdd4d5d8b215d
--- /dev/null
+++ b/roles/strudel_test/vars/CentOS_6_x86_64.yml
@@ -0,0 +1,73 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gtkglext-libs
+   - gtkglext-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - PackageKit-gtk-module
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-{{ strudel_ver }}-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.rpm
diff --git a/roles/strudel_test/vars/CentOS_7_x86_64.yml b/roles/strudel_test/vars/CentOS_7_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a2a585dfa9ec102c64359f0755abadbfb5c3b66b
--- /dev/null
+++ b/roles/strudel_test/vars/CentOS_7_x86_64.yml
@@ -0,0 +1,70 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-{{ strudel_ver }}-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.rpm
diff --git a/roles/strudel_test/vars/Debian_7_x86_64.yml b/roles/strudel_test/vars/Debian_7_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cee7439e3f683acbc076b9552e97eed9a3ac8a96
--- /dev/null
+++ b/roles/strudel_test/vars/Debian_7_x86_64.yml
@@ -0,0 +1,20 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_ubuntu_64bit_prerequisites.sh
+ build_launcher: "package_ubuntu_version.sh"
+ system_packages:
+   - git
+   - curl
+   - gcc
+   - python-dev
+   - libwxgtk2.8-dev
+   - python-wxgtk2.8
+   - python-pexpect
+   - python-paramiko
+   - python-pycryptopp
+   - python-appdirs
+ pip_packages:
+   - requests
+ pkg_name: strudel_UBUNTU_{{ strudel_ver }}_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}x86_64.deb
+
diff --git a/roles/strudel_build/vars/CentOS_6.5_x86_64.yml b/roles/strudel_test/vars/Fedora_19_x86_64.yml
similarity index 98%
rename from roles/strudel_build/vars/CentOS_6.5_x86_64.yml
rename to roles/strudel_test/vars/Fedora_19_x86_64.yml
index 6fbf4462c60f48bd62eb728fe84d35cc13d19e42..a250e49d5b511b6a62097b90dcfa96e9ca2bca32 100644
--- a/roles/strudel_build/vars/CentOS_6.5_x86_64.yml
+++ b/roles/strudel_test/vars/Fedora_19_x86_64.yml
@@ -54,7 +54,6 @@
    - freetype-devel
    - fontconfig-devel
    - libcanberra-gtk2
-   - PackageKit-gtk-module
    - make
    - cmake
    - rpm-build
diff --git a/roles/strudel_test/vars/Fedora_20_x86_64.yml b/roles/strudel_test/vars/Fedora_20_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2e3f8e6d311c8e8242fee2f3bc650cb532aa048d
--- /dev/null
+++ b/roles/strudel_test/vars/Fedora_20_x86_64.yml
@@ -0,0 +1,72 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_centos6_64bit_prerequisites.sh
+ build_launcher: package_centos_version.sh
+ pip_packages:
+   - appdirs
+ system_packages:
+   - python-pip
+   - git
+   - curl
+   - gcc
+   - bc
+   - glibc-devel
+   - libgcc
+   - libxml2-devel
+   - libxslt-devel
+   - ncurses-libs
+   - ncurses-devel
+   - readline
+   - readline-devel
+   - zlib
+   - zlib-devel
+   - bzip2-libs
+   - bzip2-devel
+   - gdbm
+   - gdbm-devel
+   - sqlite
+   - sqlite-devel
+   - db4
+   - db4-devel
+   - openssl
+   - openssl-devel
+   - libX11
+   - libX11-devel
+   - tk
+   - tk-devel
+   - gcc-c++
+   - gtk2-devel
+   - gtk2-engines
+   - glib2-devel
+   - mesa-libGL
+   - mesa-libGL-devel
+   - mesa-libGLU
+   - mesa-libGLU-devel
+   - mesa-libGLw
+   - mesa-libGLw-devel
+   - gtkglext-libs
+   - gtkglext-devel
+   - gimp-libs
+   - gimp-devel
+   - gvfs
+   - atk-devel
+   - pango-devel
+   - cairo-devel
+   - freetype-devel
+   - fontconfig-devel
+   - libcanberra-gtk2
+   - make
+   - cmake
+   - rpm-build
+   - wxPython
+   - python-paramiko
+   - python-crypto
+   - python-requests
+   - pexpect
+   - python-lxml
+   - python-psutil
+
+
+ 
+ pkg_name: ./rpmbuild/RPMS/x86_64/strudel-{{ strudel_ver }}-1.x86_64.rpm
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.rpm
diff --git a/roles/strudel_build/vars/Ubuntu_12.04_x86_64.yml b/roles/strudel_test/vars/Ubuntu_12_x86_64.yml
similarity index 67%
rename from roles/strudel_build/vars/Ubuntu_12.04_x86_64.yml
rename to roles/strudel_test/vars/Ubuntu_12_x86_64.yml
index 217a5942f96b94def1204671a64c69a0a798a3a9..0521de5f733800c675fb070a8e605075fa162a09 100644
--- a/roles/strudel_build/vars/Ubuntu_12.04_x86_64.yml
+++ b/roles/strudel_test/vars/Ubuntu_12_x86_64.yml
@@ -1,7 +1,9 @@
 ---
+ strudel_ver: "20150417"
  build_launcher: "package_ubuntu_version.sh"
  pip_packages:
    - appdirs
+   - requests
  system_packages:
    - git
    - curl
@@ -12,8 +14,7 @@
    - python-pexpect
    - python-paramiko
    - python-pycryptopp
-   - python-requests
    - python-pip
- pkg_name: strudel_UBUNTU_0.6.0_amd64.deb
- dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_version }}_{{ hostvars[ansible_hostname]['ansible_date_time']['date'] }}_x86_64.deb
+ pkg_name: strudel_UBUNTU_{{ strudel_ver }}_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.deb
 
diff --git a/roles/strudel_test/vars/Ubuntu_14_x86_64.yml b/roles/strudel_test/vars/Ubuntu_14_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0d4a263cdaa49b5a427fc762cf8181260d99194d
--- /dev/null
+++ b/roles/strudel_test/vars/Ubuntu_14_x86_64.yml
@@ -0,0 +1,19 @@
+---
+ strudel_ver: "20150417"
+ install_prerequisites: install_ubuntu_64bit_prerequisites.sh
+ build_launcher: "package_ubuntu_version.sh"
+ system_packages:
+   - git
+   - curl
+   - gcc
+   - python-dev
+   - libwxgtk2.8-dev
+   - python-wxgtk2.8
+   - python-pexpect
+   - python-paramiko
+   - python-pycryptopp
+   - python-appdirs
+   - python-requests
+ pkg_name: strudel_UBUNTU_{{ strudel_ver }}_amd64.deb
+ dest_pkg_name: strudel_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}_{{ strudel_ver }}_x86_64.deb
+
diff --git a/roles/vncserver/vars/Debian_x86_64.yml b/roles/vncserver/vars/Debian_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b70a44b18b14ef546185ecfc9e97730edd644209
--- /dev/null
+++ b/roles/vncserver/vars/Debian_x86_64.yml
@@ -0,0 +1,5 @@
+---
+ system_packages:
+   - mate-desktop-environment
+   - tightvncserver
+   - xfce4-session
diff --git a/roles/vncserver/vars/Fedora_x86_64.yml b/roles/vncserver/vars/Fedora_x86_64.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e212342db5839f6c2c1be6b883d01034083980c1
--- /dev/null
+++ b/roles/vncserver/vars/Fedora_x86_64.yml
@@ -0,0 +1,15 @@
+---
+ system_packages:
+   - "@desktop"
+   - tigervnc-server
+   - "@xfce"
+   - libXcomposite
+   - libXdamage
+   - mesa-libEGL
+   - mesa-libgbm
+   - harfbuzz
+   - libwayland-client
+   - libwayland-server
+   - mesa-libglapi
+   - graphite2
+   - xterm
diff --git a/roles/vncserver/vars/Ubuntu_x86_64.yml b/roles/vncserver/vars/Ubuntu_x86_64.yml
index da1e1e2413c1577a12d9a5325fb8f0d89462191d..780918f1c38e3ab65fa0f681010a4b103e1ee15b 100644
--- a/roles/vncserver/vars/Ubuntu_x86_64.yml
+++ b/roles/vncserver/vars/Ubuntu_x86_64.yml
@@ -1,6 +1,5 @@
 ---
  system_packages:
-   - mate-desktop-environment
    - tightvncserver
    - xfce4-session
    - xfwm4