Improve application role testability

Remove different phases for application role as
those are supposed to run after each other anyway
from playbook and pre/post steps can be disabled
by other means.

Enable Helm override file generation customization by
delegating it to separate role.

Separate Helm file transfer to own module.

NOTE: install.yml with all Helm commands (shell/command)
is not idempotent and should be fixed with separate
commit.

Issue-ID: OOM-1655

Change-Id: Ib29773c4d64a0529c71c3f93c2af7265ae94059f
Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
diff --git a/ansible/roles/application/tasks/main.yml b/ansible/roles/application/tasks/main.yml
new file mode 100644
index 0000000..3018e95
--- /dev/null
+++ b/ansible/roles/application/tasks/main.yml
@@ -0,0 +1,24 @@
+---
+- name: Check if application Helm charts exist and install is even needed
+  block:
+    - name: "Does {{ app_helm_charts_install_directory }} directory exist and contain Helm Charts"
+      find:
+        paths: "{{ app_helm_charts_install_directory }}"
+        recurse: true
+      delegate_to: localhost
+      register: charts_files
+    - name: Set install active fact
+      set_fact:
+        install_needed: "{{ true if charts_files.matched | int > 0 else false }}"
+
+- name: Install app with Helm charts
+  block:
+    - include_tasks: transfer-helm-charts.yml
+    - include_tasks: pre-install.yml
+    - include_tasks: install.yml
+    - include_tasks: post-install.yml
+  when: install_needed
+
+- debug:
+    msg: "NOTE, nothing done as application Helm charts does not exist!"
+  when: not install_needed