From eacc12897ca86a255f89b8a4537ce2b7004cf319 Mon Sep 17 00:00:00 2001
From: Scott Dodson <sdodson@redhat.com>
Date: Fri, 5 Jan 2018 12:44:56 -0500
Subject: Migrate to import_role for static role inclusion

In Ansible 2.2, the include_role directive came into existence as
a Tech Preview. It is still a Tech Preview through Ansible 2.4
(and in current devel branch), but with a noteable change. The
default behavior switched from static: true to static: false
because that functionality moved to the newly introduced
import_role directive (in order to stay consistent with include*
being dynamic in nature and `import* being static in nature).

The dynamic include is considerably more memory intensive as it will
dynamically create a role import for every host in the inventory
list to be used. (Also worth noting, there is at the time of this
writing an object allocation inefficiency in the dynamic include
that can in certain situations amplify this effect considerably)

This change is meant to mitigate the pressure on memory for the
Ansible control host.

We need to evaluate where it makes sense to dynamically include roles
and revert back to dynamic inclusion if and where it makes sense to do
so.
---
 roles/openshift_management/tasks/add_container_provider.yml | 2 +-
 roles/openshift_management/tasks/main.yml                   | 2 +-
 roles/openshift_management/tasks/storage/nfs.yml            | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

(limited to 'roles/openshift_management/tasks')

diff --git a/roles/openshift_management/tasks/add_container_provider.yml b/roles/openshift_management/tasks/add_container_provider.yml
index ca381b105..357e6a710 100644
--- a/roles/openshift_management/tasks/add_container_provider.yml
+++ b/roles/openshift_management/tasks/add_container_provider.yml
@@ -1,6 +1,6 @@
 ---
 - name: Ensure OpenShift facts module is available
-  include_role:
+  import_role:
     role: openshift_facts
 
 - name: Ensure OpenShift facts are loaded
diff --git a/roles/openshift_management/tasks/main.yml b/roles/openshift_management/tasks/main.yml
index f212dba7c..c4b204b98 100644
--- a/roles/openshift_management/tasks/main.yml
+++ b/roles/openshift_management/tasks/main.yml
@@ -8,7 +8,7 @@
 # This creates a service account allowing Container Provider
 # integration (managing OCP/Origin via MIQ/Management)
 - name: Enable Container Provider Integration
-  include_role:
+  import_role:
     role: openshift_manageiq
 
 - name: "Ensure the Management '{{ openshift_management_project }}' namespace exists"
diff --git a/roles/openshift_management/tasks/storage/nfs.yml b/roles/openshift_management/tasks/storage/nfs.yml
index 94e11137c..9e3a4d43a 100644
--- a/roles/openshift_management/tasks/storage/nfs.yml
+++ b/roles/openshift_management/tasks/storage/nfs.yml
@@ -5,14 +5,14 @@
 - name: Setting up NFS storage
   block:
     - name: Include the NFS Setup role tasks
-      include_role:
+      import_role:
         role: openshift_nfs
         tasks_from: setup
       vars:
         l_nfs_base_dir: "{{ openshift_management_storage_nfs_base_dir }}"
 
     - name: Create the App export
-      include_role:
+      import_role:
         role: openshift_nfs
         tasks_from: create_export
       vars:
@@ -22,7 +22,7 @@
         l_nfs_options: "*(rw,no_root_squash,no_wdelay)"
 
     - name: Create the DB export
-      include_role:
+      import_role:
         role: openshift_nfs
         tasks_from: create_export
       vars:
-- 
cgit v1.2.3