VOL-241 VOL-239 VOL-257 VOL-258 This update solves multiple problems
and cleans up the ansible tree somewhat.
VOL-241 Removes the error messages during dependent software installation
VOL-239 Removes the dependency on apt-get -y -f
VOL-257 Adds a config file to specify the docker containers required for
        a production deployment of vOLT-HA
VOL-258 Adds error checking after the voltha VM executes the vOLT-HA
        build to stop on errors rather than continuing and having the
        installer fail much later when docker containers are missing.
- General cleanup of the ansible tree.
  - Removal of ansible centos conditionals since they're not required.
  - Removal of the check for puppet and chef, not required.
- Adds a cleanup script that will remove temporary files added
  during an install so they don't get submitted to the repo by
  accident.

Note there are lots of commented out lines in the ansible scripts.
These will be removed in a subsequent update.

Change-Id: I92da352408dbfed1a05d13a1e10003f169be6a66
diff --git a/install/ansible/roles/cluster-host/tasks/main.yml b/install/ansible/roles/cluster-host/tasks/main.yml
index 41acd90..76d4840 100644
--- a/install/ansible/roles/cluster-host/tasks/main.yml
+++ b/install/ansible/roles/cluster-host/tasks/main.yml
@@ -1,2 +1,101 @@
-- include: cluster-host.yml
-  when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'
+# Note: When the target == "cluster" the installer
+# is running to install voltha in the cluster hosts.
+# Whe the target == "installer" the installer is being
+# created.
+- name: A .ssh directory for the voltha user exists
+  file:
+    #path: "{{ ansible_env['HOME'] }}/.ssh"
+    path: "/home/voltha/.ssh"
+    state: directory
+    owner: voltha
+    group: voltha
+  tags: [cluster_host]
+
+- name: known_hosts file is absent for the voltha user
+  file:
+    path: "/home/voltha/.ssh/known_hosts"
+    state: absent
+  tags: [cluster_host]
+
+- name: Known host checking is disabled
+  copy:
+    src: files/ssh_config
+    dest: "/home/voltha/.ssh/config"
+    owner: voltha
+    group: voltha
+    mode: 0600
+  tags: [cluster_host]
+
+- name: Cluster host keys are propagated to all hosts in the cluster
+  copy:
+    src: files/.keys
+    dest: "/home/voltha"
+    owner: voltha
+    group: voltha
+    mode: 0600
+  tags: [cluster_host]
+
+#- name: Required configuration directories are copied
+#  copy:
+#    src: "/home/vinstall/{{ item }}"
+#    dest: "{{ target_voltha_home }}"
+#    owner: voltha
+#    group: voltha
+#  with_items:
+#    - docker-py
+#    - netifaces
+#    - deb_files
+#  when: target == "cluster"
+#  tags: [cluster_host]
+
+- name: Required configuration directories are copied
+  synchronize:
+    src: "/home/vinstall/{{ item }}"
+    dest: "{{ target_voltha_home }}"
+    archive: no
+    owner: no
+    perms: no
+    recursive: yes
+    links: yes
+  with_items:
+    - docker-py
+    - netifaces
+    - deb_files
+  tags: [cluster-host]
+
+- name: apt lists are up-to-date
+  copy:
+    src: "/var/lib/apt/lists"
+    dest: "/var/lib/apt"
+  tags: [cluster_host]
+
+- name: Dependent software is installed (this takes about 10 Min, DONT'T PANIC, go for coffee instead)
+  command: dpkg -R -i "{{ target_voltha_home }}/deb_files"
+#  ignore_errors: true
+  when: target == "cluster"
+  tags: [cluster_host]
+
+#- name: Dependent software is initialized
+#  command: apt-get -y -f install
+#  when: target == "cluster"
+#  tags: [cluster_host]
+
+- name: Python packages are installed
+  command: pip install {{ item }} --no-index --find-links "file://{{ target_voltha_home }}/{{ item }}"
+  with_items:
+    - docker-py
+    - netifaces
+  when: target == "cluster"
+  tags: [cluster_host]
+
+- name: Configuration directories are deleted
+  file:
+    path: "{{ target_voltha_home }}/{{ item }}"
+    state: absent
+  with_items:
+    - docker-py
+    - netifaces
+    - deb_files
+  when: target == "cluster"
+  tags: [cluster_host]
+