Adding role for application handling

this ansible role contains application specific tasks, it is
written in generic way and different helm charts can be used as
application. In addition operator can provide proprietary pre_install
and post_install hooks.

Change-Id: Ibe4b330e5a725dde41aca9f6a59d702cfaba6f52
Issue-ID: OOM-1551
Signed-off-by: Michal Ptacek <m.ptacek@partner.samsung.com>
diff --git a/ansible/roles/application-install/tasks/pre-install.yml b/ansible/roles/application-install/tasks/pre-install.yml
new file mode 100644
index 0000000..b782ca7
--- /dev/null
+++ b/ansible/roles/application-install/tasks/pre-install.yml
@@ -0,0 +1,23 @@
+---
+# before custom specific code is executed we need to move helm charts to infra
+- name: Distribute helm charts to infra node
+  block:
+    - name: Archive helm charts
+      archive:
+        path: "{{ app_helm_charts_install_directory }}/*"
+        dest: "{{ app_helm_charts_install_directory }}.tgz"
+      delegate_to: localhost
+    - name: Create helm charts dir on infra
+      file:
+        path: "{{ app_helm_charts_infra_directory }}"
+        state: directory
+        mode: 0755
+    - name: Unarchive helm charts on infra node
+      unarchive:
+        src: "{{ app_helm_charts_install_directory }}.tgz"
+        dest: "{{ app_helm_charts_infra_directory }}"
+
+- name: "Execute custome role {{ application_pre_install_role }} if defined."
+  include_tasks: custom_role.yml
+  vars:
+    application_custom_role: "{{ application_pre_install_role }}"